diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 06483154..ec1471ac 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,7 +1,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/project/Api/CertificateManager.go b/Api/CertificateManager.go
similarity index 98%
rename from project/Api/CertificateManager.go
rename to Api/CertificateManager.go
index 9e0a0c1e..cb81048f 100644
--- a/project/Api/CertificateManager.go
+++ b/Api/CertificateManager.go
@@ -2,8 +2,8 @@ package Api
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/Certificate"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
)
// CreateCertificate 创建 证书管理器 对象
diff --git a/project/Api/Compress.go b/Api/Compress.go
similarity index 97%
rename from project/Api/Compress.go
rename to Api/Compress.go
index 692bf323..565d5fc7 100644
--- a/project/Api/Compress.go
+++ b/Api/Compress.go
@@ -2,13 +2,13 @@ package Api
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/brotli-go/enc"
"bytes"
"compress/flate"
"compress/gzip"
"compress/zlib"
"github.com/andybalholm/brotli"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/brotli-go/enc"
"io"
"io/ioutil"
)
diff --git a/project/Api/MessageId.go b/Api/MessageId.go
similarity index 100%
rename from project/Api/MessageId.go
rename to Api/MessageId.go
diff --git a/project/Api/OtherApi.go b/Api/OtherApi.go
similarity index 92%
rename from project/Api/OtherApi.go
rename to Api/OtherApi.go
index 19c3da46..1dd432f6 100644
--- a/project/Api/OtherApi.go
+++ b/Api/OtherApi.go
@@ -1,11 +1,11 @@
package Api
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
- "SunnyNet/project/src/encoding/hex"
"bytes"
"encoding/binary"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/encoding/hex"
"strings"
)
diff --git a/project/Api/Queue.go b/Api/Queue.go
similarity index 89%
rename from project/Api/Queue.go
rename to Api/Queue.go
index df7b9aee..886f6e4d 100644
--- a/project/Api/Queue.go
+++ b/Api/Queue.go
@@ -1,7 +1,7 @@
package Api
import (
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/public"
"sync"
)
@@ -48,8 +48,8 @@ func (q *ArrayQueue) Pull() []byte {
return v
}
-//CreateQueue
-//创建队列
+// CreateQueue
+// 创建队列
func CreateQueue(name string) {
QueueLock.Lock()
if Queue[name] == nil {
@@ -61,8 +61,8 @@ func CreateQueue(name string) {
return
}
-//QueueIsEmpty
-//队列是否为空
+// QueueIsEmpty
+// 队列是否为空
func QueueIsEmpty(name string) bool {
QueueLock.Lock()
Object := Queue[name]
@@ -73,8 +73,8 @@ func QueueIsEmpty(name string) bool {
return Object.IsEmpty()
}
-//QueueRelease
-//清空销毁队列
+// QueueRelease
+// 清空销毁队列
func QueueRelease(name string) {
QueueLock.Lock()
Object := Queue[name]
@@ -88,8 +88,8 @@ func QueueRelease(name string) {
QueueLock.Unlock()
}
-//QueueLength
-//取队列长度
+// QueueLength
+// 取队列长度
func QueueLength(name string) int {
QueueLock.Lock()
Object := Queue[name]
@@ -100,8 +100,8 @@ func QueueLength(name string) int {
return Object.Length()
}
-//QueuePush
-//加入队列
+// QueuePush
+// 加入队列
func QueuePush(name string, val uintptr, valLen int) {
data := public.CStringToBytes(val, valLen)
QueueLock.Lock()
@@ -113,8 +113,8 @@ func QueuePush(name string, val uintptr, valLen int) {
Object.Push(data)
}
-//QueuePull
-//队列弹出
+// QueuePull
+// 队列弹出
func QueuePull(name string) uintptr {
QueueLock.Lock()
Object := Queue[name]
diff --git a/project/Api/Redis.go b/Api/Redis.go
similarity index 97%
rename from project/Api/Redis.go
rename to Api/Redis.go
index 60a6b52a..e2746f30 100644
--- a/project/Api/Redis.go
+++ b/Api/Redis.go
@@ -2,12 +2,12 @@ package Api
import "C"
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
- redis "SunnyNet/project/src/Redis"
"bytes"
"encoding/json"
"errors"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
+ redis "github.com/qtgolang/SunnyNet/src/Redis"
"strings"
"sync"
)
diff --git a/project/Api/Script.go b/Api/Script.go
similarity index 78%
rename from project/Api/Script.go
rename to Api/Script.go
index 41a73469..74bdc393 100644
--- a/project/Api/Script.go
+++ b/Api/Script.go
@@ -2,8 +2,8 @@ package Api
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/JsCall"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/JsCall"
)
func ScriptCall(i int, Request string) uintptr {
diff --git a/project/Api/SunnyNet.go b/Api/SunnyNet.go
similarity index 99%
rename from project/Api/SunnyNet.go
rename to Api/SunnyNet.go
index b072a9cb..e120f6da 100644
--- a/project/Api/SunnyNet.go
+++ b/Api/SunnyNet.go
@@ -1,10 +1,10 @@
package Api
import (
- "SunnyNet/project/SunnyNet"
- "SunnyNet/project/public"
- "SunnyNet/project/src/GoWinHttp"
"bytes"
+ "github.com/qtgolang/SunnyNet/SunnyNet"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"io/ioutil"
"net/http"
"net/url"
diff --git a/project/Api/UDP.go b/Api/UDP.go
similarity index 90%
rename from project/Api/UDP.go
rename to Api/UDP.go
index 7a37cf69..b0dfd970 100644
--- a/project/Api/UDP.go
+++ b/Api/UDP.go
@@ -1,8 +1,8 @@
package Api
import (
- "SunnyNet/project/public"
- NFapi "SunnyNet/project/src/nfapi"
+ "github.com/qtgolang/SunnyNet/public"
+ NFapi "github.com/qtgolang/SunnyNet/src/nfapi"
)
func SetUdpData(MessageId int, data []byte) bool {
diff --git a/project/Api/goWinhttp.go b/Api/goWinhttp.go
similarity index 96%
rename from project/Api/goWinhttp.go
rename to Api/goWinhttp.go
index c351fdf0..834b4811 100644
--- a/project/Api/goWinhttp.go
+++ b/Api/goWinhttp.go
@@ -1,16 +1,16 @@
package Api
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/Certificate"
- "SunnyNet/project/src/GoWinHttp"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"io"
"net/http"
"net/url"
"sync"
)
-// ---------------------------------------------
+// ---------------------------------------------
type h struct {
*GoWinHttp.WinHttp
Error error
@@ -33,8 +33,9 @@ func LoadHTTPClient(Context int) *h {
return s
}
-//export CreateHTTPClient
// 创建 HTTP 客户端
+//
+//export CreateHTTPClient
func CreateHTTPClient() int {
HTTPMapLock.Lock()
HTTPMapLock.Unlock()
diff --git a/project/Api/gomap.go b/Api/gomap.go
similarity index 99%
rename from project/Api/gomap.go
rename to Api/gomap.go
index 24b3b78b..88ab856c 100644
--- a/project/Api/gomap.go
+++ b/Api/gomap.go
@@ -1,7 +1,7 @@
package Api
import (
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/public"
"strconv"
"sync"
"time"
diff --git a/project/Api/httpcertificate.go b/Api/httpcertificate.go
similarity index 93%
rename from project/Api/httpcertificate.go
rename to Api/httpcertificate.go
index 8d1f9359..38af3d83 100644
--- a/project/Api/httpcertificate.go
+++ b/Api/httpcertificate.go
@@ -1,9 +1,9 @@
package Api
import (
- "SunnyNet/project/src/Certificate"
- "SunnyNet/project/src/HttpCertificate"
"crypto/x509"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
+ "github.com/qtgolang/SunnyNet/src/HttpCertificate"
)
// AddHttpCertificate 创建 Http证书管理器 对象 实现指定Host使用指定证书
diff --git a/project/Api/protobuf.go b/Api/protobuf.go
similarity index 91%
rename from project/Api/protobuf.go
rename to Api/protobuf.go
index 17e947a6..3bd9cc80 100644
--- a/project/Api/protobuf.go
+++ b/Api/protobuf.go
@@ -2,9 +2,9 @@ package Api
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/protobuf"
"encoding/json"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/protobuf"
"strings"
"unsafe"
)
diff --git a/project/Api/socketClinet.go b/Api/socketClinet.go
similarity index 96%
rename from project/Api/socketClinet.go
rename to Api/socketClinet.go
index f3218392..9b77ee34 100644
--- a/project/Api/socketClinet.go
+++ b/Api/socketClinet.go
@@ -1,15 +1,15 @@
package Api
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/SunnyNet"
- "SunnyNet/project/public"
- "SunnyNet/project/src/Certificate"
- "SunnyNet/project/src/GoWinHttp"
"bufio"
"bytes"
"crypto/tls"
"errors"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/SunnyNet"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"net"
"net/url"
"sync"
diff --git a/project/Api/webp.go b/Api/webp.go
similarity index 98%
rename from project/Api/webp.go
rename to Api/webp.go
index 5f93e014..283b4298 100644
--- a/project/Api/webp.go
+++ b/Api/webp.go
@@ -2,8 +2,8 @@ package Api
import "C"
import (
- "SunnyNet/project/public"
"bytes"
+ "github.com/qtgolang/SunnyNet/public"
"golang.org/x/image/webp"
"image/jpeg"
"image/png"
diff --git a/project/Api/websocket.go b/Api/websocket.go
similarity index 96%
rename from project/Api/websocket.go
rename to Api/websocket.go
index 68cafdba..f2dd7870 100644
--- a/project/Api/websocket.go
+++ b/Api/websocket.go
@@ -1,12 +1,12 @@
package Api
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
- "SunnyNet/project/src/Certificate"
- "SunnyNet/project/src/websocket"
"crypto/tls"
"errors"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
+ "github.com/qtgolang/SunnyNet/src/websocket"
"net/http"
"net/textproto"
"net/url"
diff --git a/Build.bat b/Build.bat
deleted file mode 100644
index ae03dccb..00000000
--- a/Build.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-set CGO_ENABLED=1
-set GOOS=windows
-set GOARCH=386
-go build -buildmode=c-shared -ldflags "-s -w" -o "export\Sunny.dll"
-pause
\ No newline at end of file
diff --git a/BuildLibrary/Build.bat b/BuildLibrary/Build.bat
new file mode 100644
index 00000000..96a2f8a8
--- /dev/null
+++ b/BuildLibrary/Build.bat
@@ -0,0 +1,10 @@
+@echo off
+set CGO_ENABLED=1
+set GOOS=windows
+set GOARCH=386
+set tmpPath=%~dp0
+cd %tmpPath:~0,1%:
+for %%I in ("%tmpPath%..\") do set "parentPath=%%~fI"
+cd %parentPath%
+@echo on
+go build -buildmode=c-shared -ldflags "-s -w" -o "%tmpPath%Library\Sunny.dll"
\ No newline at end of file
diff --git a/BuildLibrary/Buildx64.bat b/BuildLibrary/Buildx64.bat
new file mode 100644
index 00000000..0e4d9437
--- /dev/null
+++ b/BuildLibrary/Buildx64.bat
@@ -0,0 +1,10 @@
+@echo off
+set CGO_ENABLED=1
+set GOOS=windows
+set GOARCH=amd64
+set tmpPath=%~dp0
+cd %tmpPath:~0,1%:
+for %%I in ("%tmpPath%..\") do set "parentPath=%%~fI"
+cd %parentPath%
+@echo on
+go build -buildmode=c-shared -ldflags "-s -w" -o "%tmpPath%Library\Sunny64.dll"
\ No newline at end of file
diff --git a/export/Sunny.dll b/BuildLibrary/Library/Sunny.dll
similarity index 72%
rename from export/Sunny.dll
rename to BuildLibrary/Library/Sunny.dll
index d8579b57..d545a917 100644
Binary files a/export/Sunny.dll and b/BuildLibrary/Library/Sunny.dll differ
diff --git a/export/LinuxSunny.h b/BuildLibrary/Library/Sunny.h
similarity index 99%
rename from export/LinuxSunny.h
rename to BuildLibrary/Library/Sunny.h
index 5133e9f1..5fda1f76 100644
--- a/export/LinuxSunny.h
+++ b/BuildLibrary/Library/Sunny.h
@@ -1,6 +1,6 @@
/* Code generated by cmd/cgo; DO NOT EDIT. */
-/* package SunnyNet */
+/* package github.com/qtgolang/SunnyNet */
#line 1 "cgo-builtin-export-prolog"
diff --git a/export/LinuxSunny.so b/BuildLibrary/Library/Sunny.so
similarity index 66%
rename from export/LinuxSunny.so
rename to BuildLibrary/Library/Sunny.so
index 122dbe8b..4df0a234 100644
Binary files a/export/LinuxSunny.so and b/BuildLibrary/Library/Sunny.so differ
diff --git a/export/Sunny64.dll b/BuildLibrary/Library/Sunny64.dll
similarity index 73%
rename from export/Sunny64.dll
rename to BuildLibrary/Library/Sunny64.dll
index f7bc320c..4df7aa8f 100644
Binary files a/export/Sunny64.dll and b/BuildLibrary/Library/Sunny64.dll differ
diff --git a/export/Sunny64.h b/BuildLibrary/Library/Sunny64.h
similarity index 99%
rename from export/Sunny64.h
rename to BuildLibrary/Library/Sunny64.h
index 87bdf707..28e08c3c 100644
--- a/export/Sunny64.h
+++ b/BuildLibrary/Library/Sunny64.h
@@ -1,6 +1,6 @@
/* Code generated by cmd/cgo; DO NOT EDIT. */
-/* package SunnyNet */
+/* package github.com/qtgolang/SunnyNet */
#line 1 "cgo-builtin-export-prolog"
diff --git a/Build-Linux.sh b/BuildLibrary/Linux.sh
similarity index 66%
rename from Build-Linux.sh
rename to BuildLibrary/Linux.sh
index 28bd1d50..2d4c8e49 100644
--- a/Build-Linux.sh
+++ b/BuildLibrary/Linux.sh
@@ -6,7 +6,11 @@ echo "正在编译..."
set CGO_ENABLED=1
set GOOS=linux
set GOARCH=386
-go build -buildmode=c-shared -ldflags "-s -w" -o "export/LinuxSunny.so"
+tmpPath=$(dirname "$(readlink -f "$0")")
+parentPath=$(dirname "$tmpPath")
+cd "$parentPath"
+
+go build -buildmode=c-shared -ldflags "-s -w" -o "$tmpPath/Library/Sunny.so"
# 检查命令的退出状态码
if [ $? -ne 0 ]; then
echo ""
diff --git a/Buildx64.bat b/Buildx64.bat
deleted file mode 100644
index 3cee46ca..00000000
--- a/Buildx64.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-set CGO_ENABLED=1
-set GOOS=windows
-set GOARCH=amd64
-go build -buildmode=c-shared -ldflags "-s -w" -o "export\Sunny64.dll"
-pause
\ No newline at end of file
diff --git a/project/Call/CALL.go b/Call/CALL.go
similarity index 100%
rename from project/Call/CALL.go
rename to Call/CALL.go
diff --git a/project/Call/CALLLinux.go b/Call/CALLLinux.go
similarity index 100%
rename from project/Call/CALLLinux.go
rename to Call/CALLLinux.go
diff --git a/project/Call/CALLwindows.go b/Call/CALLwindows.go
similarity index 100%
rename from project/Call/CALLwindows.go
rename to Call/CALLwindows.go
diff --git a/project/Call/LinuxCall.c b/Call/LinuxCall.c
similarity index 100%
rename from project/Call/LinuxCall.c
rename to Call/LinuxCall.c
diff --git a/project/Call/LinuxCall.h b/Call/LinuxCall.h
similarity index 100%
rename from project/Call/LinuxCall.h
rename to Call/LinuxCall.h
diff --git a/README.md b/README.md
index d8ff0405..de9771ac 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@
---
- ###
示例文件以及抓包工具 下载地址
+### 示例文件以及抓包工具 下载地址
https://wwxa.lanzouj.com/b0cid04mf
密码:22v8
@@ -34,7 +34,7 @@
---
- > GoLang使用示例代码
-
+
```golang
package main
diff --git a/project/Resource/CertInstallDocument.html b/Resource/CertInstallDocument.html
similarity index 100%
rename from project/Resource/CertInstallDocument.html
rename to Resource/CertInstallDocument.html
diff --git a/project/Resource/Resource.go b/Resource/Resource.go
similarity index 100%
rename from project/Resource/Resource.go
rename to Resource/Resource.go
diff --git a/project/Resource/nfapi/dll/win32/nfapi.dll b/Resource/nfapi/dll/win32/nfapi.dll
similarity index 100%
rename from project/Resource/nfapi/dll/win32/nfapi.dll
rename to Resource/nfapi/dll/win32/nfapi.dll
diff --git a/project/Resource/nfapi/dll/x64/nfapi.dll b/Resource/nfapi/dll/x64/nfapi.dll
similarity index 100%
rename from project/Resource/nfapi/dll/x64/nfapi.dll
rename to Resource/nfapi/dll/x64/nfapi.dll
diff --git a/project/Resource/nfapi/sys/tdi/amd64/netfilter2.sys b/Resource/nfapi/sys/tdi/amd64/netfilter2.sys
similarity index 100%
rename from project/Resource/nfapi/sys/tdi/amd64/netfilter2.sys
rename to Resource/nfapi/sys/tdi/amd64/netfilter2.sys
diff --git a/project/Resource/nfapi/sys/tdi/i386/netfilter2.sys b/Resource/nfapi/sys/tdi/i386/netfilter2.sys
similarity index 100%
rename from project/Resource/nfapi/sys/tdi/i386/netfilter2.sys
rename to Resource/nfapi/sys/tdi/i386/netfilter2.sys
diff --git a/project/Resource/nfapi/sys/wfp/amd64/netfilter2.sys b/Resource/nfapi/sys/wfp/amd64/netfilter2.sys
similarity index 100%
rename from project/Resource/nfapi/sys/wfp/amd64/netfilter2.sys
rename to Resource/nfapi/sys/wfp/amd64/netfilter2.sys
diff --git a/project/Resource/nfapi/sys/wfp/i386/netfilter2.sys b/Resource/nfapi/sys/wfp/i386/netfilter2.sys
similarity index 100%
rename from project/Resource/nfapi/sys/wfp/i386/netfilter2.sys
rename to Resource/nfapi/sys/wfp/i386/netfilter2.sys
diff --git a/project/SunnyNet/Cache.go b/SunnyNet/Cache.go
similarity index 96%
rename from project/SunnyNet/Cache.go
rename to SunnyNet/Cache.go
index 9aa10860..75c754b0 100644
--- a/project/SunnyNet/Cache.go
+++ b/SunnyNet/Cache.go
@@ -1,7 +1,7 @@
package SunnyNet
import (
- "SunnyNet/project/src/crypto/tls"
+ "github.com/qtgolang/SunnyNet/src/crypto/tls"
"sync"
)
diff --git a/project/SunnyNet/Callback.go b/SunnyNet/Callback.go
similarity index 98%
rename from project/SunnyNet/Callback.go
rename to SunnyNet/Callback.go
index 08eada4f..5fd69226 100644
--- a/project/SunnyNet/Callback.go
+++ b/SunnyNet/Callback.go
@@ -2,8 +2,8 @@ package SunnyNet
import "C"
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
"strconv"
)
diff --git a/project/SunnyNet/GoCallBack.go b/SunnyNet/GoCallBack.go
similarity index 98%
rename from project/SunnyNet/GoCallBack.go
rename to SunnyNet/GoCallBack.go
index 2f0b4189..facbecd4 100644
--- a/project/SunnyNet/GoCallBack.go
+++ b/SunnyNet/GoCallBack.go
@@ -1,8 +1,8 @@
package SunnyNet
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/GoWinHttp"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"net/http"
"net/url"
)
diff --git a/project/SunnyNet/Storage.go b/SunnyNet/Storage.go
similarity index 63%
rename from project/SunnyNet/Storage.go
rename to SunnyNet/Storage.go
index acf59d7a..662de5d9 100644
--- a/project/SunnyNet/Storage.go
+++ b/SunnyNet/Storage.go
@@ -1,28 +1,28 @@
package SunnyNet
import (
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/public"
"sync"
)
var SunnyStorageLock sync.Mutex
var SunnyStorage = make(map[int]*Sunny) //Sunny中间件储存对象
-//httpStorage Sunny中间件http回调CALL时储存对象
+// httpStorage Sunny中间件http回调CALL时储存对象
var httpStorage = make(map[int]*ProxyRequest)
-//TcpStorage Sunny中间件tcp回调CALL时储存对象
+// TcpStorage Sunny中间件tcp回调CALL时储存对象
var TcpStorage = make(map[int]*public.TCP)
-//WsStorage Sunny中间件http回调CALL时储存对象
+// WsStorage Sunny中间件http回调CALL时储存对象
var wsStorage = make(map[int]*public.WebsocketMsg)
-//储存管理 MessageId
-//---------------------------------------------
+// 储存管理 MessageId
+// ---------------------------------------------
var messageIdLock sync.Mutex
var messageId = 1000
-//NewMessageId 创建新的 messageId
+// NewMessageId 创建新的 messageId
func NewMessageId() int {
messageIdLock.Lock()
messageId++
@@ -37,7 +37,7 @@ func NewMessageId() int {
//---------------------------------------------
-//TcpSceneLock 储存管理TCP转发
+// TcpSceneLock 储存管理TCP转发
var TcpSceneLock sync.Mutex
//---------------------------------------------
diff --git a/project/SunnyNet/main.go b/SunnyNet/SunnyNet.go
similarity index 99%
rename from project/SunnyNet/main.go
rename to SunnyNet/SunnyNet.go
index 07a8b5db..9f64efcc 100644
--- a/project/SunnyNet/main.go
+++ b/SunnyNet/SunnyNet.go
@@ -1,14 +1,6 @@
package SunnyNet
import (
- "SunnyNet/project/Resource"
- "SunnyNet/project/public"
- "SunnyNet/project/src/Certificate"
- "SunnyNet/project/src/CrossCompiled"
- "SunnyNet/project/src/GoWinHttp"
- "SunnyNet/project/src/HttpCertificate"
- "SunnyNet/project/src/crypto/tls"
- "SunnyNet/project/src/websocket"
"bufio"
"bytes"
"crypto/rand"
@@ -19,6 +11,14 @@ import (
"encoding/pem"
"errors"
"fmt"
+ "github.com/qtgolang/SunnyNet/Resource"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/Certificate"
+ "github.com/qtgolang/SunnyNet/src/CrossCompiled"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
+ "github.com/qtgolang/SunnyNet/src/HttpCertificate"
+ "github.com/qtgolang/SunnyNet/src/crypto/tls"
+ "github.com/qtgolang/SunnyNet/src/websocket"
"io"
"io/ioutil"
"net"
diff --git a/project/SunnyNet/udp.go b/SunnyNet/udp.go
similarity index 97%
rename from project/SunnyNet/udp.go
rename to SunnyNet/udp.go
index 14d0608c..05608922 100644
--- a/project/SunnyNet/udp.go
+++ b/SunnyNet/udp.go
@@ -1,11 +1,11 @@
package SunnyNet
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
- NFapi "SunnyNet/project/src/nfapi"
"bytes"
"fmt"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
+ NFapi "github.com/qtgolang/SunnyNet/src/nfapi"
"net"
"sync/atomic"
"time"
diff --git a/api.go b/api.go
index bb65e7cf..23283d5f 100644
--- a/api.go
+++ b/api.go
@@ -1,12 +1,12 @@
/*
-本类为所有DLL导出函数集合
+本类为所有动态库导出函数集合
*/
package main
import "C"
import (
- "SunnyNet/project/Api"
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/Api"
+ "github.com/qtgolang/SunnyNet/public"
)
// 获取SunnyNet版本
diff --git a/export/Sunny.h b/export/Sunny.h
deleted file mode 100644
index 6d6dde81..00000000
--- a/export/Sunny.h
+++ /dev/null
@@ -1,782 +0,0 @@
-/* Code generated by cmd/cgo; DO NOT EDIT. */
-
-/* package SunnyNet */
-
-
-#line 1 "cgo-builtin-export-prolog"
-
-#include
-
-#ifndef GO_CGO_EXPORT_PROLOGUE_H
-#define GO_CGO_EXPORT_PROLOGUE_H
-
-#ifndef GO_CGO_GOSTRING_TYPEDEF
-typedef struct { const char *p; ptrdiff_t n; } _GoString_;
-#endif
-
-#endif
-
-/* Start of preamble from import "C" comments. */
-
-
-
-
-/* End of preamble from import "C" comments. */
-
-
-/* Start of boilerplate cgo prologue. */
-#line 1 "cgo-gcc-export-header-prolog"
-
-#ifndef GO_CGO_PROLOGUE_H
-#define GO_CGO_PROLOGUE_H
-
-typedef signed char GoInt8;
-typedef unsigned char GoUint8;
-typedef short GoInt16;
-typedef unsigned short GoUint16;
-typedef int GoInt32;
-typedef unsigned int GoUint32;
-typedef long long GoInt64;
-typedef unsigned long long GoUint64;
-typedef GoInt32 GoInt;
-typedef GoUint32 GoUint;
-typedef size_t GoUintptr;
-typedef float GoFloat32;
-typedef double GoFloat64;
-#ifdef _MSC_VER
-#include
-typedef _Fcomplex GoComplex64;
-typedef _Dcomplex GoComplex128;
-#else
-typedef float _Complex GoComplex64;
-typedef double _Complex GoComplex128;
-#endif
-
-/*
- static assertion to make sure the file is being used on architecture
- at least with matching size of GoInt.
-*/
-typedef char _check_for_32_bit_pointer_matching_GoInt[sizeof(void*)==32/8 ? 1:-1];
-
-#ifndef GO_CGO_GOSTRING_TYPEDEF
-typedef _GoString_ GoString;
-#endif
-typedef void *GoMap;
-typedef void *GoChan;
-typedef struct { void *t; void *v; } GoInterface;
-typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
-
-#endif
-
-/* End of boilerplate cgo prologue. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-// 获取SunnyNet版本
-//
-extern __declspec(dllexport) GoUintptr GetSunnyVersion();
-
-// 释放指针
-//
-extern __declspec(dllexport) void Free(GoUintptr ptr);
-
-// 创建Sunny中间件对象,可创建多个
-//
-extern __declspec(dllexport) GoInt CreateSunnyNet();
-
-// ReleaseSunnyNet 释放SunnyNet
-//
-extern __declspec(dllexport) GoUint8 ReleaseSunnyNet(GoInt SunnyContext);
-
-// 启动Sunny中间件 成功返回true
-//
-extern __declspec(dllexport) GoUint8 SunnyNetStart(GoInt SunnyContext);
-
-// 设置指定端口 Sunny中间件启动之前调用
-//
-extern __declspec(dllexport) GoUint8 SunnyNetSetPort(GoInt SunnyContext, GoInt Port);
-
-// 关闭停止指定Sunny中间件
-//
-extern __declspec(dllexport) GoUint8 SunnyNetClose(GoInt SunnyContext);
-
-// 设置自定义证书
-//
-extern __declspec(dllexport) GoUint8 SunnyNetSetCert(GoInt SunnyContext, GoInt CertificateManagerId);
-
-// 安装证书 将证书安装到Windows系统内
-//
-extern __declspec(dllexport) GoUintptr SunnyNetInstallCert(GoInt SunnyContext);
-
-// 设置中间件回调地址 httpCallback
-//
-extern __declspec(dllexport) GoUint8 SunnyNetSetCallback(GoInt SunnyContext, GoInt httpCallback, GoInt tcpCallback, GoInt wsCallback, GoInt udpCallback);
-
-// 添加 S5代理需要验证的用户名
-//
-extern __declspec(dllexport) GoUint8 SunnyNetSocket5AddUser(GoInt SunnyContext, char* User, char* Pass);
-
-// 开启身份验证模式
-//
-extern __declspec(dllexport) GoUint8 SunnyNetVerifyUser(GoInt SunnyContext, GoUint8 open);
-
-// 删除 S5需要验证的用户名
-//
-extern __declspec(dllexport) GoUint8 SunnyNetSocket5DelUser(GoInt SunnyContext, char* User);
-
-// 设置中间件是否开启强制走TCP
-//
-extern __declspec(dllexport) void SunnyNetMustTcp(GoInt SunnyContext, GoUint8 open);
-
-// 设置中间件上游代理使用规则
-//
-extern __declspec(dllexport) GoUint8 CompileProxyRegexp(GoInt SunnyContext, char* Regexp);
-
-// 获取中间件启动时的错误信息
-//
-extern __declspec(dllexport) GoUintptr SunnyNetError(GoInt SunnyContext);
-
-// 设置全局上游代理 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
-//
-extern __declspec(dllexport) GoUint8 SetGlobalProxy(GoInt SunnyContext, char* ProxyAddress);
-
-// 导出已设置的证书
-//
-extern __declspec(dllexport) GoUintptr ExportCert(GoInt SunnyContext);
-
-// 设置IE代理 Off=true 取消 反之 设置 在中间件设置端口后调用
-//
-extern __declspec(dllexport) GoUint8 SetIeProxy(GoInt SunnyContext, GoUint8 Off);
-
-// 修改、设置 HTTP/S当前请求数据中指定Cookie
-//
-extern __declspec(dllexport) void SetRequestCookie(GoInt MessageId, char* name, char* val);
-
-// 修改、设置 HTTP/S当前请求数据中的全部Cookie
-//
-extern __declspec(dllexport) void SetRequestAllCookie(GoInt MessageId, char* val);
-
-// 获取 HTTP/S当前请求数据中指定的Cookie
-//
-extern __declspec(dllexport) GoUintptr GetRequestCookie(GoInt MessageId, char* name);
-
-// 获取 HTTP/S 当前请求全部Cookie
-//
-extern __declspec(dllexport) GoUintptr GetRequestALLCookie(GoInt MessageId);
-
-// 删除HTTP/S返回数据中指定的协议头
-//
-extern __declspec(dllexport) void DelResponseHeader(GoInt MessageId, char* name);
-
-// 删除HTTP/S请求数据中指定的协议头
-//
-extern __declspec(dllexport) void DelRequestHeader(GoInt MessageId, char* name);
-
-// 请求设置超时-毫秒
-//
-extern __declspec(dllexport) void SetRequestOutTime(GoInt MessageId, GoInt times);
-
-// 设置HTTP/S请求体中的协议头
-//
-extern __declspec(dllexport) void SetRequestHeader(GoInt MessageId, char* name, char* val);
-
-// 修改、设置 HTTP/S当前返回数据中的指定协议头
-//
-extern __declspec(dllexport) void SetResponseHeader(GoInt MessageId, char* name, char* val);
-
-// 获取 HTTP/S当前请求数据中的指定协议头
-//
-extern __declspec(dllexport) GoUintptr GetRequestHeader(GoInt MessageId, char* name);
-
-// 获取 HTTP/S 当前返回数据中指定的协议头
-//
-extern __declspec(dllexport) GoUintptr GetResponseHeader(GoInt MessageId, char* name);
-
-// 修改、设置 HTTP/S当前返回数据中的全部协议头,例如设置返回两条Cookie 使用本命令设置 使用设置、修改 单条命令无效
-//
-extern __declspec(dllexport) void SetResponseAllHeader(GoInt MessageId, char* value);
-
-// 获取 HTTP/S 当前返回全部协议头
-//
-extern __declspec(dllexport) GoUintptr GetResponseAllHeader(GoInt MessageId);
-
-// 获取 HTTP/S 当前请求数据全部协议头
-//
-extern __declspec(dllexport) GoUintptr GetRequestAllHeader(GoInt MessageId);
-
-// 设置HTTP/S请求代理,仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
-//
-extern __declspec(dllexport) GoUint8 SetRequestProxy(GoInt MessageId, char* ProxyUrl);
-
-// 获取HTTP/S返回的状态码
-//
-extern __declspec(dllexport) GoInt GetResponseStatusCode(GoInt MessageId);
-
-// 获取当前HTTP/S请求由哪个IP发起
-//
-extern __declspec(dllexport) GoUintptr GetRequestClientIp(GoInt MessageId);
-
-// 获取HTTP/S返回的状态文本 例如 [200 OK]
-//
-extern __declspec(dllexport) GoUintptr GetResponseStatus(GoInt MessageId);
-
-// 修改HTTP/S返回的状态码
-//
-extern __declspec(dllexport) void SetResponseStatus(GoInt MessageId, GoInt code);
-
-// 修改HTTP/S当前请求的URL
-//
-extern __declspec(dllexport) GoUint8 SetRequestUrl(GoInt MessageId, char* URI);
-
-// 获取 HTTP/S 当前请求POST提交数据长度
-//
-extern __declspec(dllexport) GoInt GetRequestBodyLen(GoInt MessageId);
-
-// 获取 HTTP/S 当前返回 数据长度
-//
-extern __declspec(dllexport) GoInt GetResponseBodyLen(GoInt MessageId);
-
-// 设置、修改 HTTP/S 当前请求返回数据 如果再发起请求时调用本命令,请求将不会被发送,将会直接返回 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoUint8 SetResponseData(GoInt MessageId, GoUintptr data, GoInt dataLen);
-
-// 设置、修改 HTTP/S 当前请求POST提交数据 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoInt SetRequestData(GoInt MessageId, GoUintptr data, GoInt dataLen);
-
-// 获取 HTTP/S 当前POST提交数据 返回 数据指针
-//
-extern __declspec(dllexport) GoUintptr GetRequestBody(GoInt MessageId);
-
-// 获取 HTTP/S 当前返回数据 返回 数据指针
-//
-extern __declspec(dllexport) GoUintptr GetResponseBody(GoInt MessageId);
-
-// 获取 WebSocket消息长度
-//
-extern __declspec(dllexport) GoInt GetWebsocketBodyLen(GoInt MessageId);
-
-// 主动关闭Websocket
-//
-extern __declspec(dllexport) GoUint8 CloseWebsocket(GoInt Theology);
-
-// 获取 WebSocket消息 返回数据指针
-//
-extern __declspec(dllexport) GoUintptr GetWebsocketBody(GoInt MessageId);
-
-// 修改 WebSocket消息 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoUint8 SetWebsocketBody(GoInt MessageId, GoUintptr data, GoInt dataLen);
-
-// 主动向Websocket服务器发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoUint8 SendWebsocketBody(GoInt Theology, GoInt MessageType, GoUintptr data, GoInt dataLen);
-
-// SendWebsocketClientBody 主动向Websocket客户端发送消息 MessageType=WS消息类型 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoUint8 SendWebsocketClientBody(GoInt Theology, GoInt MessageType, GoUintptr data, GoInt dataLen);
-
-// 修改 TCP消息数据 MsgType=1 发送的消息 MsgType=2 接收的消息 如果 MsgType和MessageId不匹配,将不会执行操作 data=数据指针 dataLen=数据长度
-//
-extern __declspec(dllexport) GoUint8 SetTcpBody(GoInt MessageId, GoInt MsgType, GoUintptr data, GoInt dataLen);
-
-// 给当前TCP连接设置代理 仅限 TCP回调 即将连接时使用 仅支持S5代理 例如 socket5://admin:123456@127.0.0.1:8888
-//
-extern __declspec(dllexport) GoUint8 SetTcpAgent(GoInt MessageId, char* ProxyUrl);
-
-// 根据唯一ID关闭指定的TCP连接 唯一ID在回调参数中
-//
-extern __declspec(dllexport) GoUint8 TcpCloseClient(GoInt theology);
-
-// 给指定的TCP连接 修改目标连接地址 目标地址必须带端口号 例如 baidu.com:443
-//
-extern __declspec(dllexport) GoUint8 SetTcpConnectionIP(GoInt MessageId, char* address);
-
-// 指定的TCP连接 模拟客户端向服务器端主动发送数据
-//
-extern __declspec(dllexport) GoInt TcpSendMsg(GoInt theology, GoUintptr data, GoInt dataLen);
-
-// 指定的TCP连接 模拟服务器端向客户端主动发送数据
-//
-extern __declspec(dllexport) GoInt TcpSendMsgClient(GoInt theology, GoUintptr data, GoInt dataLen);
-
-/*字节数组转字符串 返回格式如下
-00000000 53 75 6E 6E 79 4E 65 74 54 65 73 74 45 78 61 6D |SunnyNetTestExam|
-00000010 70 6C 65 |ple|
-*/
-extern __declspec(dllexport) GoUintptr HexDump(GoUintptr data, GoInt dataLen);
-
-// 将Go int的Bytes 转为int
-//
-extern __declspec(dllexport) GoInt BytesToInt(GoUintptr data, GoInt dataLen);
-
-// Gzip解压缩
-//
-extern __declspec(dllexport) GoUintptr GzipUnCompress(GoUintptr data, GoInt dataLen);
-
-// br解压缩
-//
-extern __declspec(dllexport) GoUintptr BrUnCompress(GoUintptr data, GoInt dataLen);
-
-// br压缩
-//
-extern __declspec(dllexport) GoUintptr BrCompress(GoUintptr data, GoInt dataLen);
-
-// br压缩
-//
-extern __declspec(dllexport) GoUintptr BrotliCompress(GoUintptr data, GoInt dataLen);
-
-// Gzip压缩
-//
-extern __declspec(dllexport) GoUintptr GzipCompress(GoUintptr data, GoInt dataLen);
-
-// Zlib压缩
-//
-extern __declspec(dllexport) GoUintptr ZlibCompress(GoUintptr data, GoInt dataLen);
-
-// Zlib解压缩
-//
-extern __declspec(dllexport) GoUintptr ZlibUnCompress(GoUintptr data, GoInt dataLen);
-
-// Deflate解压缩 (可能等同于zlib解压缩)
-//
-extern __declspec(dllexport) GoUintptr DeflateUnCompress(GoUintptr data, GoInt dataLen);
-
-// Deflate压缩 (可能等同于zlib压缩)
-//
-extern __declspec(dllexport) GoUintptr DeflateCompress(GoUintptr data, GoInt dataLen);
-
-// Webp图片转JEG图片字节数组 SaveQuality=质量(默认75)
-//
-extern __declspec(dllexport) GoUintptr WebpToJpegBytes(GoUintptr data, GoInt dataLen, GoInt SaveQuality);
-
-// Webp图片转Png图片字节数组
-//
-extern __declspec(dllexport) GoUintptr WebpToPngBytes(GoUintptr data, GoInt dataLen);
-
-// Webp图片转JEG图片 根据文件名 SaveQuality=质量(默认75)
-//
-extern __declspec(dllexport) GoUint8 WebpToJpeg(char* webpPath, char* savePath, GoInt SaveQuality);
-
-// Webp图片转Png图片 根据文件名
-//
-extern __declspec(dllexport) GoUint8 WebpToPng(char* webpPath, char* savePath);
-
-// 适配火山PC CALL 火山直接CALL X64没有问题,X86环境下有问题,所以搞了这个命令
-//
-extern __declspec(dllexport) GoInt GoCall(GoInt address, GoInt a1, GoInt a2, GoInt a3, GoInt a4, GoInt a5, GoInt a6, GoInt a7, GoInt a8, GoInt a9);
-
-// 执行JS代码执行前 先调用 SetScript 设置JS代码
-//
-extern __declspec(dllexport) GoUintptr ScriptCall(GoInt i, char* Request);
-
-// 设置JS代码
-//
-extern __declspec(dllexport) GoUintptr SetScript(char* Request);
-
-// 设置JSLog函数回调地址
-//
-extern __declspec(dllexport) void SetScriptLogCallAddress(GoInt i);
-
-// 开启进程代理 加载 nf api 驱动
-//
-extern __declspec(dllexport) GoUint8 StartProcess(GoInt SunnyContext);
-
-// 进程代理 添加进程名
-//
-extern __declspec(dllexport) void ProcessAddName(GoInt SunnyContext, char* Name);
-
-// 进程代理 删除进程名
-//
-extern __declspec(dllexport) void ProcessDelName(GoInt SunnyContext, char* Name);
-
-// 进程代理 添加PID
-//
-extern __declspec(dllexport) void ProcessAddPid(GoInt SunnyContext, GoInt pid);
-
-// 进程代理 删除PID
-//
-extern __declspec(dllexport) void ProcessDelPid(GoInt SunnyContext, GoInt pid);
-
-// 进程代理 取消全部已设置的进程名
-//
-extern __declspec(dllexport) void ProcessCancelAll(GoInt SunnyContext);
-
-// 进程代理 设置是否全部进程通过
-//
-extern __declspec(dllexport) void ProcessALLName(GoInt SunnyContext, GoUint8 open);
-
-// 证书管理器 获取证书 CommonName 字段
-//
-extern __declspec(dllexport) GoUintptr GetCommonName(GoInt Context);
-
-// 证书管理器 导出为P12
-//
-extern __declspec(dllexport) GoUint8 ExportP12(GoInt Context, char* path, char* pass);
-
-// 证书管理器 导出公钥
-//
-extern __declspec(dllexport) GoUintptr ExportPub(GoInt Context);
-
-// 证书管理器 导出私钥
-//
-extern __declspec(dllexport) GoUintptr ExportKEY(GoInt Context);
-
-// 证书管理器 导出证书
-//
-extern __declspec(dllexport) GoUintptr ExportCA(GoInt Context);
-
-// 证书管理器 创建证书
-//
-extern __declspec(dllexport) GoUint8 CreateCA(GoInt Context, char* Country, char* Organization, char* OrganizationalUnit, char* Province, char* CommonName, char* Locality, GoInt bits, GoInt NotAfter);
-
-// 证书管理器 设置ClientAuth
-//
-extern __declspec(dllexport) GoUint8 AddClientAuth(GoInt Context, GoInt val);
-
-// 证书管理器 设置信任的证书 从 文本
-//
-extern __declspec(dllexport) GoUint8 AddCertPoolText(GoInt Context, char* cer);
-
-// 证书管理器 设置信任的证书 从 文件
-//
-extern __declspec(dllexport) GoUint8 AddCertPoolPath(GoInt Context, char* cer);
-
-// 证书管理器 取ServerName
-//
-extern __declspec(dllexport) GoUintptr GetServerName(GoInt Context);
-
-// 证书管理器 设置ServerName
-//
-extern __declspec(dllexport) GoUint8 SetServerName(GoInt Context, char* name);
-
-// 证书管理器 设置跳过主机验证
-//
-extern __declspec(dllexport) GoUint8 SetInsecureSkipVerify(GoInt Context, GoUint8 b);
-
-// 证书管理器 载入X509证书
-//
-extern __declspec(dllexport) GoUint8 LoadX509Certificate(GoInt Context, char* Host, char* CA, char* KEY);
-
-// 证书管理器 载入X509证书2
-//
-extern __declspec(dllexport) GoUint8 LoadX509KeyPair(GoInt Context, char* CaPath, char* KeyPath);
-
-// 证书管理器 载入p12证书
-//
-extern __declspec(dllexport) GoUint8 LoadP12Certificate(GoInt Context, char* Name, char* Password);
-
-// 释放 证书管理器 对象
-//
-extern __declspec(dllexport) void RemoveCertificate(GoInt Context);
-
-// 创建 证书管理器 对象
-//
-extern __declspec(dllexport) GoInt CreateCertificate();
-
-// GoMap 写字符串
-//
-extern __declspec(dllexport) void KeysWriteStr(GoInt KeysHandle, char* name, GoUintptr val, GoInt len);
-
-// GoMap 转为JSON字符串
-//
-extern __declspec(dllexport) GoUintptr KeysGetJson(GoInt KeysHandle);
-
-// GoMap 取数量
-//
-extern __declspec(dllexport) GoInt KeysGetCount(GoInt KeysHandle);
-
-// GoMap 清空
-//
-extern __declspec(dllexport) void KeysEmpty(GoInt KeysHandle);
-
-// GoMap 读整数
-//
-extern __declspec(dllexport) GoInt KeysReadInt(GoInt KeysHandle, char* name);
-
-// GoMap 写整数
-//
-extern __declspec(dllexport) void KeysWriteInt(GoInt KeysHandle, char* name, GoInt val);
-
-// GoMap 读长整数
-//
-extern __declspec(dllexport) GoInt64 KeysReadLong(GoInt KeysHandle, char* name);
-
-// GoMap 写长整数
-//
-extern __declspec(dllexport) void KeysWriteLong(GoInt KeysHandle, char* name, GoInt64 val);
-
-// GoMap 读浮点数
-//
-extern __declspec(dllexport) GoFloat64 KeysReadFloat(GoInt KeysHandle, char* name);
-
-// GoMap 写浮点数
-//
-extern __declspec(dllexport) void KeysWriteFloat(GoInt KeysHandle, char* name, GoFloat64 val);
-
-// GoMap 写字节数组
-//
-extern __declspec(dllexport) void KeysWrite(GoInt KeysHandle, char* name, GoUintptr val, GoInt length);
-
-// GoMap 写读字符串/字节数组
-//
-extern __declspec(dllexport) GoUintptr KeysRead(GoInt KeysHandle, char* name);
-
-// GoMap 删除
-//
-extern __declspec(dllexport) void KeysDelete(GoInt KeysHandle, char* name);
-
-// GoMap 删除GoMap
-//
-extern __declspec(dllexport) void RemoveKeys(GoInt KeysHandle);
-
-// GoMap 创建
-//
-extern __declspec(dllexport) GoInt CreateKeys();
-
-// HTTP 客户端 设置重定向
-//
-extern __declspec(dllexport) GoUint8 HTTPSetRedirect(GoInt Context, GoUint8 Redirect);
-
-// HTTP 客户端 返回响应状态码
-//
-extern __declspec(dllexport) GoInt HTTPGetCode(GoInt Context);
-
-// HTTP 客户端 设置证书管理器
-//
-extern __declspec(dllexport) GoUint8 HTTPSetCertManager(GoInt Context, GoInt CertManagerContext);
-
-// HTTP 客户端 返回响应内容
-//
-extern __declspec(dllexport) GoUintptr HTTPGetBody(GoInt Context);
-
-// HTTP 客户端 返回响应全部Heads
-//
-extern __declspec(dllexport) GoUintptr HTTPGetHeads(GoInt Context);
-
-// HTTP 客户端 返回响应长度
-//
-extern __declspec(dllexport) GoInt HTTPGetBodyLen(GoInt Context);
-
-// HTTP 客户端 发送Body
-//
-extern __declspec(dllexport) void HTTPSendBin(GoInt Context, GoUintptr body, GoInt bodyLength);
-
-// HTTP 客户端 设置超时 毫秒
-//
-extern __declspec(dllexport) void HTTPSetTimeouts(GoInt Context, GoInt t1, GoInt t2, GoInt t3);
-
-// HTTP 客户端 设置代理IP 仅支持Socket5和http 例如 socket5://admin:123456@127.0.0.1:8888 或 http://admin:123456@127.0.0.1:8888
-//
-extern __declspec(dllexport) void HTTPSetProxyIP(GoInt Context, char* ProxyUrl);
-
-// HTTP 客户端 设置协议头
-//
-extern __declspec(dllexport) void HTTPSetHeader(GoInt Context, char* name, char* value);
-
-// HTTP 客户端 Open
-//
-extern __declspec(dllexport) void HTTPOpen(GoInt Context, char* Method, char* URL);
-
-// HTTP 客户端 取错误
-//
-extern __declspec(dllexport) GoUintptr HTTPClientGetErr(GoInt Context);
-
-// 释放 HTTP客户端
-//
-extern __declspec(dllexport) void RemoveHTTPClient(GoInt Context);
-
-// 创建 HTTP 客户端
-//
-extern __declspec(dllexport) GoInt CreateHTTPClient();
-
-// JSON格式的protobuf数据转为protobuf二进制数据
-//
-extern __declspec(dllexport) GoUintptr JsonToPB(GoUintptr bin, GoInt binLen);
-
-// protobuf数据转为JSON格式
-//
-extern __declspec(dllexport) GoUintptr PbToJson(GoUintptr bin, GoInt binLen);
-
-// 队列弹出
-//
-extern __declspec(dllexport) GoUintptr QueuePull(char* name);
-
-// 加入队列
-//
-extern __declspec(dllexport) void QueuePush(char* name, GoUintptr val, GoInt valLen);
-
-// 取队列长度
-//
-extern __declspec(dllexport) GoInt QueueLength(char* name);
-
-// 清空销毁队列
-//
-extern __declspec(dllexport) void QueueRelease(char* name);
-
-// 队列是否为空
-//
-extern __declspec(dllexport) GoUint8 QueueIsEmpty(char* name);
-
-// 创建队列
-//
-extern __declspec(dllexport) void CreateQueue(char* name);
-
-// TCP客户端 发送数据
-//
-extern __declspec(dllexport) GoInt SocketClientWrite(GoInt Context, GoInt OutTimes, GoUintptr val, GoInt valLen);
-
-// TCP客户端 断开连接
-//
-extern __declspec(dllexport) void SocketClientClose(GoInt Context);
-
-// TCP客户端 同步模式下 接收数据
-//
-extern __declspec(dllexport) GoUintptr SocketClientReceive(GoInt Context, GoInt OutTimes);
-
-// TCP客户端 连接
-//
-extern __declspec(dllexport) GoUint8 SocketClientDial(GoInt Context, char* addr, GoInt call, GoUint8 isTls, GoUint8 synchronous, char* ProxyUrl, GoInt CertificateConText);
-
-// TCP客户端 置缓冲区大小
-//
-extern __declspec(dllexport) GoUint8 SocketClientSetBufferSize(GoInt Context, GoInt BufferSize);
-
-// TCP客户端 取错误
-//
-extern __declspec(dllexport) GoUintptr SocketClientGetErr(GoInt Context);
-
-// 释放 TCP客户端
-//
-extern __declspec(dllexport) void RemoveSocketClient(GoInt Context);
-
-// 创建 TCP客户端
-//
-extern __declspec(dllexport) GoInt CreateSocketClient();
-
-// Websocket客户端 同步模式下 接收数据 返回数据指针 失败返回0 length=返回数据长度
-//
-extern __declspec(dllexport) GoUintptr WebsocketClientReceive(GoInt Context, GoInt OutTimes);
-
-// Websocket客户端 发送数据
-//
-extern __declspec(dllexport) GoUint8 WebsocketReadWrite(GoInt Context, GoUintptr val, GoInt valLen, GoInt messageType);
-
-// Websocket客户端 断开
-//
-extern __declspec(dllexport) void WebsocketClose(GoInt Context);
-
-// Websocket客户端 连接
-//
-extern __declspec(dllexport) GoUint8 WebsocketDial(GoInt Context, char* URL, char* Heads, GoInt call, GoUint8 synchronous, char* ProxyUrl, GoInt CertificateConText);
-
-// Websocket客户端 获取错误
-//
-extern __declspec(dllexport) GoUintptr WebsocketGetErr(GoInt Context);
-
-// 释放 Websocket客户端 对象
-//
-extern __declspec(dllexport) void RemoveWebsocket(GoInt Context);
-
-// 创建 Websocket客户端 对象
-//
-extern __declspec(dllexport) GoInt CreateWebsocket();
-
-// 创建 Http证书管理器 对象 实现指定Host使用指定证书
-//
-extern __declspec(dllexport) GoUint8 AddHttpCertificate(char* host, GoInt CertManagerId, GoInt Rules);
-
-// 删除 Http证书管理器 对象
-//
-extern __declspec(dllexport) void DelHttpCertificate(char* host);
-
-// Redis 订阅消息
-//
-extern __declspec(dllexport) void RedisSubscribe(GoInt Context, char* scribe, GoInt call, GoUint8 nc);
-
-// Redis 删除
-//
-extern __declspec(dllexport) GoUint8 RedisDelete(GoInt Context, char* key);
-
-// Redis 清空当前数据库
-//
-extern __declspec(dllexport) void RedisFlushDB(GoInt Context);
-
-// Redis 清空redis服务器
-//
-extern __declspec(dllexport) void RedisFlushAll(GoInt Context);
-
-// Redis 关闭
-//
-extern __declspec(dllexport) void RedisClose(GoInt Context);
-
-// Redis 取整数值
-//
-extern __declspec(dllexport) GoInt64 RedisGetInt(GoInt Context, char* key);
-
-// Redis 取指定条件键名
-//
-extern __declspec(dllexport) GoUintptr RedisGetKeys(GoInt Context, char* key);
-
-// Redis 自定义 执行和查询命令 返回操作结果可能是值 也可能是JSON文本
-//
-extern __declspec(dllexport) GoUintptr RedisDo(GoInt Context, char* args, GoUintptr error);
-
-// Redis 取文本值
-//
-extern __declspec(dllexport) GoUintptr RedisGetStr(GoInt Context, char* key);
-
-// Redis 取Bytes值
-//
-extern __declspec(dllexport) GoUintptr RedisGetBytes(GoInt Context, char* key);
-
-// Redis 检查指定 key 是否存在
-//
-extern __declspec(dllexport) GoUint8 RedisExists(GoInt Context, char* key);
-
-// Redis 设置NX 【如果键名存在返回假】
-//
-extern __declspec(dllexport) GoUint8 RedisSetNx(GoInt Context, char* key, char* val, GoInt expr);
-
-// Redis 设置值
-//
-extern __declspec(dllexport) GoUint8 RedisSet(GoInt Context, char* key, char* val, GoInt expr);
-
-// Redis 设置Bytes值
-//
-extern __declspec(dllexport) GoUint8 RedisSetBytes(GoInt Context, char* key, GoUintptr val, GoInt valLen, GoInt expr);
-
-// Redis 连接
-//
-extern __declspec(dllexport) GoUint8 RedisDial(GoInt Context, char* host, char* pass, GoInt db, GoInt PoolSize, GoInt MinIdleCons, GoInt DialTimeout, GoInt ReadTimeout, GoInt WriteTimeout, GoInt PoolTimeout, GoInt IdleCheckFrequency, GoInt IdleTimeout, GoUintptr error);
-
-// 释放 Redis 对象
-//
-extern __declspec(dllexport) void RemoveRedis(GoInt Context);
-
-// 创建 Redis 对象
-//
-extern __declspec(dllexport) GoInt CreateRedis();
-
-// 设置修改UDP数据
-//
-extern __declspec(dllexport) GoUint8 SetUdpData(GoInt MessageId, GoUintptr val, GoInt valLen);
-
-// 获取UDP数据
-//
-extern __declspec(dllexport) GoUintptr GetUdpData(GoInt MessageId);
-
-// 指定的UDP连接 模拟服务器端向客户端主动发送数据
-//
-extern __declspec(dllexport) GoUint8 UdpSendToClient(GoInt theology, GoUintptr data, GoInt dataLen);
-
-// 指定的UDP连接 模拟客户端向服务器端主动发送数据
-//
-extern __declspec(dllexport) GoUint8 UdpSendToServer(GoInt theology, GoUintptr data, GoInt dataLen);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/go.mod b/go.mod
index 02cc4a81..5e21ddd9 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module SunnyNet
+module github.com/qtgolang/SunnyNet
go 1.18
@@ -14,7 +14,6 @@ require (
golang.org/x/sys v0.11.0
golang.org/x/text v0.12.0
google.golang.org/protobuf v1.28.1
- gopkg.in/kothar/brotli-go.v0 v0.0.0-20170728081549-771231d473d6
)
require (
diff --git a/go.sum b/go.sum
index d0708502..1d6ee94a 100644
--- a/go.sum
+++ b/go.sum
@@ -125,6 +125,8 @@ google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/kothar/brotli-go.v0 v0.0.0-20170728081549-771231d473d6 h1:M8GdJL0oESXVmjOOT3upJyFkKs5o1jJERiKYOZjVes0=
+gopkg.in/kothar/brotli-go.v0 v0.0.0-20170728081549-771231d473d6/go.mod h1:nVee4zUY+UoXjOfM57w44w2XjsoIqIKd4A9vktFSQ6I=
gopkg.in/readline.v1 v1.0.0-20160726135117-62c6fe619375/go.mod h1:lNEQeAhU009zbRxng+XOj5ITVgY24WcbNnQopyfKoYQ=
gopkg.in/sourcemap.v1 v1.0.5 h1:inv58fC9f9J3TK2Y2R1NPntXEn3/wjWHkonhIUODNTI=
gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78=
diff --git a/main.go b/main.go
index d20fce87..7362c088 100644
--- a/main.go
+++ b/main.go
@@ -8,9 +8,9 @@ import (
)
func init() {
- //go func() { _ = http.ListenAndServe("127.0.0.1:6061", nil) }()
}
func main() {
Test()
+
}
diff --git a/project/public/PointerManagement.go b/public/PointerManagement.go
similarity index 100%
rename from project/public/PointerManagement.go
rename to public/PointerManagement.go
diff --git a/project/public/Type.go b/public/Type.go
similarity index 97%
rename from project/public/Type.go
rename to public/Type.go
index c887f6ee..52a2b68d 100644
--- a/project/public/Type.go
+++ b/public/Type.go
@@ -9,9 +9,9 @@
package public
import (
- "SunnyNet/project/src/websocket"
"bufio"
"bytes"
+ "github.com/qtgolang/SunnyNet/src/websocket"
"io"
"net"
"sync"
diff --git a/project/public/constobj.go b/public/constobj.go
similarity index 100%
rename from project/public/constobj.go
rename to public/constobj.go
diff --git a/project/public/public.go b/public/public.go
similarity index 99%
rename from project/public/public.go
rename to public/public.go
index dca0375e..c9eec5af 100644
--- a/project/public/public.go
+++ b/public/public.go
@@ -9,12 +9,12 @@
package public
import (
- "SunnyNet/project/src/GoWinHttp"
"bufio"
"bytes"
"encoding/binary"
"errors"
"fmt"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"io"
"io/ioutil"
"math"
diff --git a/project/src/Certificate/CertificateManager.go b/src/Certificate/CertificateManager.go
similarity index 99%
rename from project/src/Certificate/CertificateManager.go
rename to src/Certificate/CertificateManager.go
index 6754cef3..7d8eb3af 100644
--- a/project/src/Certificate/CertificateManager.go
+++ b/src/Certificate/CertificateManager.go
@@ -2,8 +2,6 @@ package Certificate
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/crypto/pkcs"
"crypto/rand"
"crypto/rsa"
"crypto/tls"
@@ -12,6 +10,8 @@ import (
"encoding/pem"
"errors"
"fmt"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/crypto/pkcs"
"io/ioutil"
"net"
"os"
diff --git a/project/src/Certificate/certificate.go b/src/Certificate/certificate.go
similarity index 94%
rename from project/src/Certificate/certificate.go
rename to src/Certificate/certificate.go
index cafeca4d..42c84390 100644
--- a/project/src/Certificate/certificate.go
+++ b/src/Certificate/certificate.go
@@ -1,11 +1,11 @@
package Certificate
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/crypto/pkcs"
"crypto/tls"
"encoding/pem"
"errors"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/crypto/pkcs"
"io/ioutil"
"os"
"strings"
diff --git a/project/src/CrossCompiled/Linux.go b/src/CrossCompiled/Linux.go
similarity index 96%
rename from project/src/CrossCompiled/Linux.go
rename to src/CrossCompiled/Linux.go
index 1283d19f..f1d01061 100644
--- a/project/src/CrossCompiled/Linux.go
+++ b/src/CrossCompiled/Linux.go
@@ -3,7 +3,7 @@
package CrossCompiled
-import NFapi "SunnyNet/project/src/nfapi"
+import NFapi "github.com/qtgolang/SunnyNet/src/nfapi"
func NFapi_SunnyPointer(a ...uintptr) uintptr {
return 0
diff --git a/project/src/CrossCompiled/windows.go b/src/CrossCompiled/windows.go
similarity index 96%
rename from project/src/CrossCompiled/windows.go
rename to src/CrossCompiled/windows.go
index 4dd46210..a1344b1d 100644
--- a/project/src/CrossCompiled/windows.go
+++ b/src/CrossCompiled/windows.go
@@ -5,12 +5,12 @@ package CrossCompiled
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/iphlpapi"
- NFapi "SunnyNet/project/src/nfapi"
"bufio"
"bytes"
"github.com/Trisia/gosysproxy"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/iphlpapi"
+ NFapi "github.com/qtgolang/SunnyNet/src/nfapi"
"io"
"os"
"os/exec"
diff --git a/project/src/GoWinHttp/MyReader.go b/src/GoWinHttp/MyReader.go
similarity index 100%
rename from project/src/GoWinHttp/MyReader.go
rename to src/GoWinHttp/MyReader.go
diff --git a/project/src/GoWinHttp/main.go b/src/GoWinHttp/main.go
similarity index 100%
rename from project/src/GoWinHttp/main.go
rename to src/GoWinHttp/main.go
diff --git a/project/src/HttpCertificate/HttpCertificate.go b/src/HttpCertificate/HttpCertificate.go
similarity index 96%
rename from project/src/HttpCertificate/HttpCertificate.go
rename to src/HttpCertificate/HttpCertificate.go
index 890fb216..359891a2 100644
--- a/project/src/HttpCertificate/HttpCertificate.go
+++ b/src/HttpCertificate/HttpCertificate.go
@@ -1,10 +1,10 @@
package HttpCertificate
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/crypto/tls"
crypto "crypto/tls"
"crypto/x509"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/crypto/tls"
"net/url"
"strings"
"sync"
diff --git a/project/src/JsCall/JsCall.go b/src/JsCall/JsCall.go
similarity index 97%
rename from project/src/JsCall/JsCall.go
rename to src/JsCall/JsCall.go
index 90de53fa..cb54bc15 100644
--- a/project/src/JsCall/JsCall.go
+++ b/src/JsCall/JsCall.go
@@ -1,12 +1,12 @@
package JsCall
import (
- "SunnyNet/project/Call"
- "SunnyNet/project/public"
- "SunnyNet/project/src/GoWinHttp"
"crypto"
"encoding/hex"
"fmt"
+ "github.com/qtgolang/SunnyNet/Call"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/GoWinHttp"
"github.com/robertkrimen/otto"
"golang.org/x/text/encoding/simplifiedchinese"
"io"
diff --git a/project/src/JsCall/js.go b/src/JsCall/js.go
similarity index 100%
rename from project/src/JsCall/js.go
rename to src/JsCall/js.go
diff --git a/project/src/Redis/redis.go b/src/Redis/redis.go
similarity index 99%
rename from project/src/Redis/redis.go
rename to src/Redis/redis.go
index fdecb747..c59d362f 100644
--- a/project/src/Redis/redis.go
+++ b/src/Redis/redis.go
@@ -1,9 +1,9 @@
package redis
import (
- "SunnyNet/project/public"
"encoding/json"
"github.com/go-redis/redis"
+ "github.com/qtgolang/SunnyNet/public"
"sync"
"time"
)
diff --git a/project/src/brotli-go/dec/Makefile b/src/brotli-go/dec/Makefile
similarity index 100%
rename from project/src/brotli-go/dec/Makefile
rename to src/brotli-go/dec/Makefile
diff --git a/project/src/brotli-go/dec/bit_reader.c b/src/brotli-go/dec/bit_reader.c
similarity index 100%
rename from project/src/brotli-go/dec/bit_reader.c
rename to src/brotli-go/dec/bit_reader.c
diff --git a/project/src/brotli-go/dec/bit_reader.h b/src/brotli-go/dec/bit_reader.h
similarity index 100%
rename from project/src/brotli-go/dec/bit_reader.h
rename to src/brotli-go/dec/bit_reader.h
diff --git a/project/src/brotli-go/dec/context.h b/src/brotli-go/dec/context.h
similarity index 100%
rename from project/src/brotli-go/dec/context.h
rename to src/brotli-go/dec/context.h
diff --git a/project/src/brotli-go/dec/decode.c b/src/brotli-go/dec/decode.c
similarity index 100%
rename from project/src/brotli-go/dec/decode.c
rename to src/brotli-go/dec/decode.c
diff --git a/project/src/brotli-go/dec/decode.go b/src/brotli-go/dec/decode.go
similarity index 100%
rename from project/src/brotli-go/dec/decode.go
rename to src/brotli-go/dec/decode.go
diff --git a/project/src/brotli-go/dec/decode.h b/src/brotli-go/dec/decode.h
similarity index 100%
rename from project/src/brotli-go/dec/decode.h
rename to src/brotli-go/dec/decode.h
diff --git a/project/src/brotli-go/dec/dictionary.h b/src/brotli-go/dec/dictionary.h
similarity index 100%
rename from project/src/brotli-go/dec/dictionary.h
rename to src/brotli-go/dec/dictionary.h
diff --git a/project/src/brotli-go/dec/huffman.c b/src/brotli-go/dec/huffman.c
similarity index 100%
rename from project/src/brotli-go/dec/huffman.c
rename to src/brotli-go/dec/huffman.c
diff --git a/project/src/brotli-go/dec/huffman.h b/src/brotli-go/dec/huffman.h
similarity index 100%
rename from project/src/brotli-go/dec/huffman.h
rename to src/brotli-go/dec/huffman.h
diff --git a/project/src/brotli-go/dec/port.h b/src/brotli-go/dec/port.h
similarity index 100%
rename from project/src/brotli-go/dec/port.h
rename to src/brotli-go/dec/port.h
diff --git a/project/src/brotli-go/dec/prefix.h b/src/brotli-go/dec/prefix.h
similarity index 100%
rename from project/src/brotli-go/dec/prefix.h
rename to src/brotli-go/dec/prefix.h
diff --git a/project/src/brotli-go/dec/state.c b/src/brotli-go/dec/state.c
similarity index 100%
rename from project/src/brotli-go/dec/state.c
rename to src/brotli-go/dec/state.c
diff --git a/project/src/brotli-go/dec/state.h b/src/brotli-go/dec/state.h
similarity index 100%
rename from project/src/brotli-go/dec/state.h
rename to src/brotli-go/dec/state.h
diff --git a/project/src/brotli-go/dec/streams.c b/src/brotli-go/dec/streams.c
similarity index 100%
rename from project/src/brotli-go/dec/streams.c
rename to src/brotli-go/dec/streams.c
diff --git a/project/src/brotli-go/dec/streams.h b/src/brotli-go/dec/streams.h
similarity index 100%
rename from project/src/brotli-go/dec/streams.h
rename to src/brotli-go/dec/streams.h
diff --git a/project/src/brotli-go/dec/transform.h b/src/brotli-go/dec/transform.h
similarity index 100%
rename from project/src/brotli-go/dec/transform.h
rename to src/brotli-go/dec/transform.h
diff --git a/project/src/brotli-go/dec/types.h b/src/brotli-go/dec/types.h
similarity index 100%
rename from project/src/brotli-go/dec/types.h
rename to src/brotli-go/dec/types.h
diff --git a/project/src/brotli-go/enc/Makefile b/src/brotli-go/enc/Makefile
similarity index 100%
rename from project/src/brotli-go/enc/Makefile
rename to src/brotli-go/enc/Makefile
diff --git a/project/src/brotli-go/enc/backward_references.cc b/src/brotli-go/enc/backward_references.cc
similarity index 100%
rename from project/src/brotli-go/enc/backward_references.cc
rename to src/brotli-go/enc/backward_references.cc
diff --git a/project/src/brotli-go/enc/backward_references.h b/src/brotli-go/enc/backward_references.h
similarity index 100%
rename from project/src/brotli-go/enc/backward_references.h
rename to src/brotli-go/enc/backward_references.h
diff --git a/project/src/brotli-go/enc/bit_cost.h b/src/brotli-go/enc/bit_cost.h
similarity index 100%
rename from project/src/brotli-go/enc/bit_cost.h
rename to src/brotli-go/enc/bit_cost.h
diff --git a/project/src/brotli-go/enc/block_splitter.cc b/src/brotli-go/enc/block_splitter.cc
similarity index 100%
rename from project/src/brotli-go/enc/block_splitter.cc
rename to src/brotli-go/enc/block_splitter.cc
diff --git a/project/src/brotli-go/enc/block_splitter.h b/src/brotli-go/enc/block_splitter.h
similarity index 100%
rename from project/src/brotli-go/enc/block_splitter.h
rename to src/brotli-go/enc/block_splitter.h
diff --git a/project/src/brotli-go/enc/brotli_bit_stream.cc b/src/brotli-go/enc/brotli_bit_stream.cc
similarity index 100%
rename from project/src/brotli-go/enc/brotli_bit_stream.cc
rename to src/brotli-go/enc/brotli_bit_stream.cc
diff --git a/project/src/brotli-go/enc/brotli_bit_stream.h b/src/brotli-go/enc/brotli_bit_stream.h
similarity index 100%
rename from project/src/brotli-go/enc/brotli_bit_stream.h
rename to src/brotli-go/enc/brotli_bit_stream.h
diff --git a/project/src/brotli-go/enc/cluster.h b/src/brotli-go/enc/cluster.h
similarity index 100%
rename from project/src/brotli-go/enc/cluster.h
rename to src/brotli-go/enc/cluster.h
diff --git a/project/src/brotli-go/enc/command.h b/src/brotli-go/enc/command.h
similarity index 100%
rename from project/src/brotli-go/enc/command.h
rename to src/brotli-go/enc/command.h
diff --git a/project/src/brotli-go/enc/compress_fragment.cc b/src/brotli-go/enc/compress_fragment.cc
similarity index 100%
rename from project/src/brotli-go/enc/compress_fragment.cc
rename to src/brotli-go/enc/compress_fragment.cc
diff --git a/project/src/brotli-go/enc/compress_fragment.h b/src/brotli-go/enc/compress_fragment.h
similarity index 100%
rename from project/src/brotli-go/enc/compress_fragment.h
rename to src/brotli-go/enc/compress_fragment.h
diff --git a/project/src/brotli-go/enc/compress_fragment_two_pass.cc b/src/brotli-go/enc/compress_fragment_two_pass.cc
similarity index 100%
rename from project/src/brotli-go/enc/compress_fragment_two_pass.cc
rename to src/brotli-go/enc/compress_fragment_two_pass.cc
diff --git a/project/src/brotli-go/enc/compress_fragment_two_pass.h b/src/brotli-go/enc/compress_fragment_two_pass.h
similarity index 100%
rename from project/src/brotli-go/enc/compress_fragment_two_pass.h
rename to src/brotli-go/enc/compress_fragment_two_pass.h
diff --git a/project/src/brotli-go/enc/context.h b/src/brotli-go/enc/context.h
similarity index 100%
rename from project/src/brotli-go/enc/context.h
rename to src/brotli-go/enc/context.h
diff --git a/project/src/brotli-go/enc/dictionary.h b/src/brotli-go/enc/dictionary.h
similarity index 100%
rename from project/src/brotli-go/enc/dictionary.h
rename to src/brotli-go/enc/dictionary.h
diff --git a/project/src/brotli-go/enc/dictionary_hash.h b/src/brotli-go/enc/dictionary_hash.h
similarity index 100%
rename from project/src/brotli-go/enc/dictionary_hash.h
rename to src/brotli-go/enc/dictionary_hash.h
diff --git a/project/src/brotli-go/enc/encode.cc b/src/brotli-go/enc/encode.cc
similarity index 100%
rename from project/src/brotli-go/enc/encode.cc
rename to src/brotli-go/enc/encode.cc
diff --git a/project/src/brotli-go/enc/encode.go b/src/brotli-go/enc/encode.go
similarity index 99%
rename from project/src/brotli-go/enc/encode.go
rename to src/brotli-go/enc/encode.go
index bf08cb15..5375eb99 100644
--- a/project/src/brotli-go/enc/encode.go
+++ b/src/brotli-go/enc/encode.go
@@ -44,8 +44,8 @@ size_t BrotliMaxOutputSize(CBrotliParams params, size_t input_size) {
import "C"
import (
- "SunnyNet/project/src/brotli-go/shared"
"errors"
+ "github.com/qtgolang/SunnyNet/src/brotli-go/shared"
"io"
"runtime"
"unsafe"
diff --git a/project/src/brotli-go/enc/encode.h b/src/brotli-go/enc/encode.h
similarity index 100%
rename from project/src/brotli-go/enc/encode.h
rename to src/brotli-go/enc/encode.h
diff --git a/project/src/brotli-go/enc/encode_go.cc b/src/brotli-go/enc/encode_go.cc
similarity index 100%
rename from project/src/brotli-go/enc/encode_go.cc
rename to src/brotli-go/enc/encode_go.cc
diff --git a/project/src/brotli-go/enc/encode_go.h b/src/brotli-go/enc/encode_go.h
similarity index 100%
rename from project/src/brotli-go/enc/encode_go.h
rename to src/brotli-go/enc/encode_go.h
diff --git a/project/src/brotli-go/enc/encode_parallel.cc b/src/brotli-go/enc/encode_parallel.cc
similarity index 100%
rename from project/src/brotli-go/enc/encode_parallel.cc
rename to src/brotli-go/enc/encode_parallel.cc
diff --git a/project/src/brotli-go/enc/encode_parallel.h b/src/brotli-go/enc/encode_parallel.h
similarity index 100%
rename from project/src/brotli-go/enc/encode_parallel.h
rename to src/brotli-go/enc/encode_parallel.h
diff --git a/project/src/brotli-go/enc/entropy_encode.cc b/src/brotli-go/enc/entropy_encode.cc
similarity index 100%
rename from project/src/brotli-go/enc/entropy_encode.cc
rename to src/brotli-go/enc/entropy_encode.cc
diff --git a/project/src/brotli-go/enc/entropy_encode.h b/src/brotli-go/enc/entropy_encode.h
similarity index 100%
rename from project/src/brotli-go/enc/entropy_encode.h
rename to src/brotli-go/enc/entropy_encode.h
diff --git a/project/src/brotli-go/enc/entropy_encode_static.h b/src/brotli-go/enc/entropy_encode_static.h
similarity index 100%
rename from project/src/brotli-go/enc/entropy_encode_static.h
rename to src/brotli-go/enc/entropy_encode_static.h
diff --git a/project/src/brotli-go/enc/fast_log.h b/src/brotli-go/enc/fast_log.h
similarity index 100%
rename from project/src/brotli-go/enc/fast_log.h
rename to src/brotli-go/enc/fast_log.h
diff --git a/project/src/brotli-go/enc/find_match_length.h b/src/brotli-go/enc/find_match_length.h
similarity index 100%
rename from project/src/brotli-go/enc/find_match_length.h
rename to src/brotli-go/enc/find_match_length.h
diff --git a/project/src/brotli-go/enc/hash.h b/src/brotli-go/enc/hash.h
similarity index 100%
rename from project/src/brotli-go/enc/hash.h
rename to src/brotli-go/enc/hash.h
diff --git a/project/src/brotli-go/enc/histogram.cc b/src/brotli-go/enc/histogram.cc
similarity index 100%
rename from project/src/brotli-go/enc/histogram.cc
rename to src/brotli-go/enc/histogram.cc
diff --git a/project/src/brotli-go/enc/histogram.h b/src/brotli-go/enc/histogram.h
similarity index 100%
rename from project/src/brotli-go/enc/histogram.h
rename to src/brotli-go/enc/histogram.h
diff --git a/project/src/brotli-go/enc/literal_cost.cc b/src/brotli-go/enc/literal_cost.cc
similarity index 100%
rename from project/src/brotli-go/enc/literal_cost.cc
rename to src/brotli-go/enc/literal_cost.cc
diff --git a/project/src/brotli-go/enc/literal_cost.h b/src/brotli-go/enc/literal_cost.h
similarity index 100%
rename from project/src/brotli-go/enc/literal_cost.h
rename to src/brotli-go/enc/literal_cost.h
diff --git a/project/src/brotli-go/enc/metablock.cc b/src/brotli-go/enc/metablock.cc
similarity index 100%
rename from project/src/brotli-go/enc/metablock.cc
rename to src/brotli-go/enc/metablock.cc
diff --git a/project/src/brotli-go/enc/metablock.h b/src/brotli-go/enc/metablock.h
similarity index 100%
rename from project/src/brotli-go/enc/metablock.h
rename to src/brotli-go/enc/metablock.h
diff --git a/project/src/brotli-go/enc/port.h b/src/brotli-go/enc/port.h
similarity index 100%
rename from project/src/brotli-go/enc/port.h
rename to src/brotli-go/enc/port.h
diff --git a/project/src/brotli-go/enc/prefix.h b/src/brotli-go/enc/prefix.h
similarity index 100%
rename from project/src/brotli-go/enc/prefix.h
rename to src/brotli-go/enc/prefix.h
diff --git a/project/src/brotli-go/enc/ringbuffer.h b/src/brotli-go/enc/ringbuffer.h
similarity index 100%
rename from project/src/brotli-go/enc/ringbuffer.h
rename to src/brotli-go/enc/ringbuffer.h
diff --git a/project/src/brotli-go/enc/static_dict.cc b/src/brotli-go/enc/static_dict.cc
similarity index 100%
rename from project/src/brotli-go/enc/static_dict.cc
rename to src/brotli-go/enc/static_dict.cc
diff --git a/project/src/brotli-go/enc/static_dict.h b/src/brotli-go/enc/static_dict.h
similarity index 100%
rename from project/src/brotli-go/enc/static_dict.h
rename to src/brotli-go/enc/static_dict.h
diff --git a/project/src/brotli-go/enc/static_dict_lut.h b/src/brotli-go/enc/static_dict_lut.h
similarity index 100%
rename from project/src/brotli-go/enc/static_dict_lut.h
rename to src/brotli-go/enc/static_dict_lut.h
diff --git a/project/src/brotli-go/enc/streams.cc b/src/brotli-go/enc/streams.cc
similarity index 100%
rename from project/src/brotli-go/enc/streams.cc
rename to src/brotli-go/enc/streams.cc
diff --git a/project/src/brotli-go/enc/streams.h b/src/brotli-go/enc/streams.h
similarity index 100%
rename from project/src/brotli-go/enc/streams.h
rename to src/brotli-go/enc/streams.h
diff --git a/project/src/brotli-go/enc/transform.h b/src/brotli-go/enc/transform.h
similarity index 100%
rename from project/src/brotli-go/enc/transform.h
rename to src/brotli-go/enc/transform.h
diff --git a/project/src/brotli-go/enc/types.h b/src/brotli-go/enc/types.h
similarity index 100%
rename from project/src/brotli-go/enc/types.h
rename to src/brotli-go/enc/types.h
diff --git a/project/src/brotli-go/enc/utf8_util.cc b/src/brotli-go/enc/utf8_util.cc
similarity index 100%
rename from project/src/brotli-go/enc/utf8_util.cc
rename to src/brotli-go/enc/utf8_util.cc
diff --git a/project/src/brotli-go/enc/utf8_util.h b/src/brotli-go/enc/utf8_util.h
similarity index 100%
rename from project/src/brotli-go/enc/utf8_util.h
rename to src/brotli-go/enc/utf8_util.h
diff --git a/project/src/brotli-go/enc/write_bits.h b/src/brotli-go/enc/write_bits.h
similarity index 100%
rename from project/src/brotli-go/enc/write_bits.h
rename to src/brotli-go/enc/write_bits.h
diff --git a/project/src/brotli-go/gbr/gbr.go b/src/brotli-go/gbr/gbr.go
similarity index 100%
rename from project/src/brotli-go/gbr/gbr.go
rename to src/brotli-go/gbr/gbr.go
diff --git a/project/src/brotli-go/shared/dictionary.cc b/src/brotli-go/shared/dictionary.cc
similarity index 100%
rename from project/src/brotli-go/shared/dictionary.cc
rename to src/brotli-go/shared/dictionary.cc
diff --git a/project/src/brotli-go/shared/dictionary.h b/src/brotli-go/shared/dictionary.h
similarity index 100%
rename from project/src/brotli-go/shared/dictionary.h
rename to src/brotli-go/shared/dictionary.h
diff --git a/project/src/brotli-go/shared/shared.go b/src/brotli-go/shared/shared.go
similarity index 100%
rename from project/src/brotli-go/shared/shared.go
rename to src/brotli-go/shared/shared.go
diff --git a/project/src/crypto/internal/cpu/cpu.go b/src/crypto/internal/cpu/cpu.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu.go
rename to src/crypto/internal/cpu/cpu.go
diff --git a/project/src/crypto/internal/cpu/cpu.s b/src/crypto/internal/cpu/cpu.s
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu.s
rename to src/crypto/internal/cpu/cpu.s
diff --git a/project/src/crypto/internal/cpu/cpu_386.go b/src/crypto/internal/cpu/cpu_386.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_386.go
rename to src/crypto/internal/cpu/cpu_386.go
diff --git a/project/src/crypto/internal/cpu/cpu_amd64.go b/src/crypto/internal/cpu/cpu_amd64.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_amd64.go
rename to src/crypto/internal/cpu/cpu_amd64.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm.go b/src/crypto/internal/cpu/cpu_arm.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm.go
rename to src/crypto/internal/cpu/cpu_arm.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64.go b/src/crypto/internal/cpu/cpu_arm64.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64.go
rename to src/crypto/internal/cpu/cpu_arm64.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64.s b/src/crypto/internal/cpu/cpu_arm64.s
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64.s
rename to src/crypto/internal/cpu/cpu_arm64.s
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_android.go b/src/crypto/internal/cpu/cpu_arm64_android.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_android.go
rename to src/crypto/internal/cpu/cpu_arm64_android.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_darwin.go b/src/crypto/internal/cpu/cpu_arm64_darwin.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_darwin.go
rename to src/crypto/internal/cpu/cpu_arm64_darwin.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_freebsd.go b/src/crypto/internal/cpu/cpu_arm64_freebsd.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_freebsd.go
rename to src/crypto/internal/cpu/cpu_arm64_freebsd.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_hwcap.go b/src/crypto/internal/cpu/cpu_arm64_hwcap.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_hwcap.go
rename to src/crypto/internal/cpu/cpu_arm64_hwcap.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_linux.go b/src/crypto/internal/cpu/cpu_arm64_linux.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_linux.go
rename to src/crypto/internal/cpu/cpu_arm64_linux.go
diff --git a/project/src/crypto/internal/cpu/cpu_arm64_other.go b/src/crypto/internal/cpu/cpu_arm64_other.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_arm64_other.go
rename to src/crypto/internal/cpu/cpu_arm64_other.go
diff --git a/project/src/crypto/internal/cpu/cpu_mips.go b/src/crypto/internal/cpu/cpu_mips.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_mips.go
rename to src/crypto/internal/cpu/cpu_mips.go
diff --git a/project/src/crypto/internal/cpu/cpu_mips64x.go b/src/crypto/internal/cpu/cpu_mips64x.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_mips64x.go
rename to src/crypto/internal/cpu/cpu_mips64x.go
diff --git a/project/src/crypto/internal/cpu/cpu_mipsle.go b/src/crypto/internal/cpu/cpu_mipsle.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_mipsle.go
rename to src/crypto/internal/cpu/cpu_mipsle.go
diff --git a/project/src/crypto/internal/cpu/cpu_no_name.go b/src/crypto/internal/cpu/cpu_no_name.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_no_name.go
rename to src/crypto/internal/cpu/cpu_no_name.go
diff --git a/project/src/crypto/internal/cpu/cpu_ppc64x.go b/src/crypto/internal/cpu/cpu_ppc64x.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_ppc64x.go
rename to src/crypto/internal/cpu/cpu_ppc64x.go
diff --git a/project/src/crypto/internal/cpu/cpu_ppc64x_aix.go b/src/crypto/internal/cpu/cpu_ppc64x_aix.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_ppc64x_aix.go
rename to src/crypto/internal/cpu/cpu_ppc64x_aix.go
diff --git a/project/src/crypto/internal/cpu/cpu_ppc64x_linux.go b/src/crypto/internal/cpu/cpu_ppc64x_linux.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_ppc64x_linux.go
rename to src/crypto/internal/cpu/cpu_ppc64x_linux.go
diff --git a/project/src/crypto/internal/cpu/cpu_riscv64.go b/src/crypto/internal/cpu/cpu_riscv64.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_riscv64.go
rename to src/crypto/internal/cpu/cpu_riscv64.go
diff --git a/project/src/crypto/internal/cpu/cpu_s390x.go b/src/crypto/internal/cpu/cpu_s390x.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_s390x.go
rename to src/crypto/internal/cpu/cpu_s390x.go
diff --git a/project/src/crypto/internal/cpu/cpu_s390x.s b/src/crypto/internal/cpu/cpu_s390x.s
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_s390x.s
rename to src/crypto/internal/cpu/cpu_s390x.s
diff --git a/project/src/crypto/internal/cpu/cpu_s390x_test.go b/src/crypto/internal/cpu/cpu_s390x_test.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_s390x_test.go
rename to src/crypto/internal/cpu/cpu_s390x_test.go
diff --git a/project/src/crypto/internal/cpu/cpu_wasm.go b/src/crypto/internal/cpu/cpu_wasm.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_wasm.go
rename to src/crypto/internal/cpu/cpu_wasm.go
diff --git a/project/src/crypto/internal/cpu/cpu_x86.go b/src/crypto/internal/cpu/cpu_x86.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_x86.go
rename to src/crypto/internal/cpu/cpu_x86.go
diff --git a/project/src/crypto/internal/cpu/cpu_x86.s b/src/crypto/internal/cpu/cpu_x86.s
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_x86.s
rename to src/crypto/internal/cpu/cpu_x86.s
diff --git a/project/src/crypto/internal/cpu/cpu_x86_test.go b/src/crypto/internal/cpu/cpu_x86_test.go
similarity index 100%
rename from project/src/crypto/internal/cpu/cpu_x86_test.go
rename to src/crypto/internal/cpu/cpu_x86_test.go
diff --git a/project/src/crypto/internal/cpu/export_test.go b/src/crypto/internal/cpu/export_test.go
similarity index 100%
rename from project/src/crypto/internal/cpu/export_test.go
rename to src/crypto/internal/cpu/export_test.go
diff --git a/project/src/crypto/pkcs/bmp-string.go b/src/crypto/pkcs/bmp-string.go
similarity index 100%
rename from project/src/crypto/pkcs/bmp-string.go
rename to src/crypto/pkcs/bmp-string.go
diff --git a/project/src/crypto/pkcs/crypto.go b/src/crypto/pkcs/crypto.go
similarity index 99%
rename from project/src/crypto/pkcs/crypto.go
rename to src/crypto/pkcs/crypto.go
index 78c2e4f9..bdeb1bf4 100644
--- a/project/src/crypto/pkcs/crypto.go
+++ b/src/crypto/pkcs/crypto.go
@@ -6,7 +6,6 @@
package pkcs
import (
- "SunnyNet/project/src/crypto/pkcs/internal/rc2"
"bytes"
"crypto/aes"
"crypto/cipher"
@@ -16,6 +15,7 @@ import (
"crypto/x509/pkix"
"encoding/asn1"
"errors"
+ "github.com/qtgolang/SunnyNet/src/crypto/pkcs/internal/rc2"
"golang.org/x/crypto/pbkdf2"
"hash"
)
diff --git a/project/src/crypto/pkcs/errors.go b/src/crypto/pkcs/errors.go
similarity index 100%
rename from project/src/crypto/pkcs/errors.go
rename to src/crypto/pkcs/errors.go
diff --git a/project/src/crypto/pkcs/internal/rc2/rc2.go b/src/crypto/pkcs/internal/rc2/rc2.go
similarity index 100%
rename from project/src/crypto/pkcs/internal/rc2/rc2.go
rename to src/crypto/pkcs/internal/rc2/rc2.go
diff --git a/project/src/crypto/pkcs/mac.go b/src/crypto/pkcs/mac.go
similarity index 100%
rename from project/src/crypto/pkcs/mac.go
rename to src/crypto/pkcs/mac.go
diff --git a/project/src/crypto/pkcs/pbkdf.go b/src/crypto/pkcs/pbkdf.go
similarity index 100%
rename from project/src/crypto/pkcs/pbkdf.go
rename to src/crypto/pkcs/pbkdf.go
diff --git a/project/src/crypto/pkcs/pkcs12.go b/src/crypto/pkcs/pkcs12.go
similarity index 100%
rename from project/src/crypto/pkcs/pkcs12.go
rename to src/crypto/pkcs/pkcs12.go
diff --git a/project/src/crypto/pkcs/safebags.go b/src/crypto/pkcs/safebags.go
similarity index 100%
rename from project/src/crypto/pkcs/safebags.go
rename to src/crypto/pkcs/safebags.go
diff --git a/project/src/crypto/tls/alert.go b/src/crypto/tls/alert.go
similarity index 100%
rename from project/src/crypto/tls/alert.go
rename to src/crypto/tls/alert.go
diff --git a/project/src/crypto/tls/auth.go b/src/crypto/tls/auth.go
similarity index 100%
rename from project/src/crypto/tls/auth.go
rename to src/crypto/tls/auth.go
diff --git a/project/src/crypto/tls/auth_test.go b/src/crypto/tls/auth_test.go
similarity index 100%
rename from project/src/crypto/tls/auth_test.go
rename to src/crypto/tls/auth_test.go
diff --git a/project/src/crypto/tls/cipher_suites.go b/src/crypto/tls/cipher_suites.go
similarity index 100%
rename from project/src/crypto/tls/cipher_suites.go
rename to src/crypto/tls/cipher_suites.go
diff --git a/project/src/crypto/tls/common.go b/src/crypto/tls/common.go
similarity index 99%
rename from project/src/crypto/tls/common.go
rename to src/crypto/tls/common.go
index 82840b8e..79a56d38 100644
--- a/project/src/crypto/tls/common.go
+++ b/src/crypto/tls/common.go
@@ -5,7 +5,6 @@
package tls
import (
- "SunnyNet/project/src/crypto/internal/cpu"
"bytes"
"container/list"
"crypto"
@@ -18,6 +17,7 @@ import (
"crypto/x509"
"errors"
"fmt"
+ "github.com/qtgolang/SunnyNet/src/crypto/internal/cpu"
"io"
"net"
"runtime"
diff --git a/project/src/crypto/tls/common_string.go b/src/crypto/tls/common_string.go
similarity index 100%
rename from project/src/crypto/tls/common_string.go
rename to src/crypto/tls/common_string.go
diff --git a/project/src/crypto/tls/conn.go b/src/crypto/tls/conn.go
similarity index 100%
rename from project/src/crypto/tls/conn.go
rename to src/crypto/tls/conn.go
diff --git a/project/src/crypto/tls/conn_test.go b/src/crypto/tls/conn_test.go
similarity index 100%
rename from project/src/crypto/tls/conn_test.go
rename to src/crypto/tls/conn_test.go
diff --git a/project/src/crypto/tls/example_test.go b/src/crypto/tls/example_test.go
similarity index 100%
rename from project/src/crypto/tls/example_test.go
rename to src/crypto/tls/example_test.go
diff --git a/project/src/crypto/tls/generate_cert.go b/src/crypto/tls/generate_cert.go
similarity index 100%
rename from project/src/crypto/tls/generate_cert.go
rename to src/crypto/tls/generate_cert.go
diff --git a/project/src/crypto/tls/handshake_client.go b/src/crypto/tls/handshake_client.go
similarity index 100%
rename from project/src/crypto/tls/handshake_client.go
rename to src/crypto/tls/handshake_client.go
diff --git a/project/src/crypto/tls/handshake_client_test.go b/src/crypto/tls/handshake_client_test.go
similarity index 100%
rename from project/src/crypto/tls/handshake_client_test.go
rename to src/crypto/tls/handshake_client_test.go
diff --git a/project/src/crypto/tls/handshake_client_tls13.go b/src/crypto/tls/handshake_client_tls13.go
similarity index 100%
rename from project/src/crypto/tls/handshake_client_tls13.go
rename to src/crypto/tls/handshake_client_tls13.go
diff --git a/project/src/crypto/tls/handshake_messages.go b/src/crypto/tls/handshake_messages.go
similarity index 100%
rename from project/src/crypto/tls/handshake_messages.go
rename to src/crypto/tls/handshake_messages.go
diff --git a/project/src/crypto/tls/handshake_messages_test.go b/src/crypto/tls/handshake_messages_test.go
similarity index 100%
rename from project/src/crypto/tls/handshake_messages_test.go
rename to src/crypto/tls/handshake_messages_test.go
diff --git a/project/src/crypto/tls/handshake_server.go b/src/crypto/tls/handshake_server.go
similarity index 100%
rename from project/src/crypto/tls/handshake_server.go
rename to src/crypto/tls/handshake_server.go
diff --git a/project/src/crypto/tls/handshake_server_test.go b/src/crypto/tls/handshake_server_test.go
similarity index 100%
rename from project/src/crypto/tls/handshake_server_test.go
rename to src/crypto/tls/handshake_server_test.go
diff --git a/project/src/crypto/tls/handshake_server_tls13.go b/src/crypto/tls/handshake_server_tls13.go
similarity index 100%
rename from project/src/crypto/tls/handshake_server_tls13.go
rename to src/crypto/tls/handshake_server_tls13.go
diff --git a/project/src/crypto/tls/handshake_test.go b/src/crypto/tls/handshake_test.go
similarity index 100%
rename from project/src/crypto/tls/handshake_test.go
rename to src/crypto/tls/handshake_test.go
diff --git a/project/src/crypto/tls/handshake_unix_test.go b/src/crypto/tls/handshake_unix_test.go
similarity index 100%
rename from project/src/crypto/tls/handshake_unix_test.go
rename to src/crypto/tls/handshake_unix_test.go
diff --git a/project/src/crypto/tls/key_agreement.go b/src/crypto/tls/key_agreement.go
similarity index 100%
rename from project/src/crypto/tls/key_agreement.go
rename to src/crypto/tls/key_agreement.go
diff --git a/project/src/crypto/tls/key_schedule.go b/src/crypto/tls/key_schedule.go
similarity index 100%
rename from project/src/crypto/tls/key_schedule.go
rename to src/crypto/tls/key_schedule.go
diff --git a/project/src/crypto/tls/key_schedule_test.go b/src/crypto/tls/key_schedule_test.go
similarity index 100%
rename from project/src/crypto/tls/key_schedule_test.go
rename to src/crypto/tls/key_schedule_test.go
diff --git a/project/src/crypto/tls/link_test.go b/src/crypto/tls/link_test.go
similarity index 100%
rename from project/src/crypto/tls/link_test.go
rename to src/crypto/tls/link_test.go
diff --git a/project/src/crypto/tls/prf.go b/src/crypto/tls/prf.go
similarity index 100%
rename from project/src/crypto/tls/prf.go
rename to src/crypto/tls/prf.go
diff --git a/project/src/crypto/tls/prf_test.go b/src/crypto/tls/prf_test.go
similarity index 100%
rename from project/src/crypto/tls/prf_test.go
rename to src/crypto/tls/prf_test.go
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA b/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA b/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
rename to src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-Ed25519 b/src/crypto/tls/testdata/Client-TLSv10-ClientCert-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv10-ClientCert-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA b/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA b/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
rename to src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES b/src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES
rename to src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-Ed25519 b/src/crypto/tls/testdata/Client-TLSv10-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv10-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial b/src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Client-TLSv10-RSA-RC4 b/src/crypto/tls/testdata/Client-TLSv10-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv10-RSA-RC4
rename to src/crypto/tls/testdata/Client-TLSv10-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES b/src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES
rename to src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv11-Ed25519 b/src/crypto/tls/testdata/Client-TLSv11-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv11-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv11-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv11-RSA-RC4 b/src/crypto/tls/testdata/Client-TLSv11-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv11-RSA-RC4
rename to src/crypto/tls/testdata/Client-TLSv11-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256 b/src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256
rename to src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-AES128-SHA256 b/src/crypto/tls/testdata/Client-TLSv12-AES128-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-AES128-SHA256
rename to src/crypto/tls/testdata/Client-TLSv12-AES128-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384 b/src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384
rename to src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ALPN b/src/crypto/tls/testdata/Client-TLSv12-ALPN
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ALPN
rename to src/crypto/tls/testdata/Client-TLSv12-ALPN
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ALPN-NoMatch b/src/crypto/tls/testdata/Client-TLSv12-ALPN-NoMatch
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ALPN-NoMatch
rename to src/crypto/tls/testdata/Client-TLSv12-ALPN-NoMatch
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-Ed25519 b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384 b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS
rename to src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256 b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384 b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305 b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256 b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305 b/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305
rename to src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-Ed25519 b/src/crypto/tls/testdata/Client-TLSv12-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv12-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial b/src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE b/src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE
rename to src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-RSA-RC4 b/src/crypto/tls/testdata/Client-TLSv12-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-RSA-RC4
rename to src/crypto/tls/testdata/Client-TLSv12-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce b/src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce
rename to src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice b/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice
rename to src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected b/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected
rename to src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected b/src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected
rename to src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-SCT b/src/crypto/tls/testdata/Client-TLSv12-SCT
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-SCT
rename to src/crypto/tls/testdata/Client-TLSv12-SCT
diff --git a/project/src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE b/src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE
rename to src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256 b/src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256
rename to src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384 b/src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384
rename to src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ALPN b/src/crypto/tls/testdata/Client-TLSv13-ALPN
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ALPN
rename to src/crypto/tls/testdata/Client-TLSv13-ALPN
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256 b/src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256
rename to src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA b/src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA
rename to src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-Ed25519 b/src/crypto/tls/testdata/Client-TLSv13-ClientCert-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv13-ClientCert-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-ECDSA b/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS b/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS
rename to src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ECDSA b/src/crypto/tls/testdata/Client-TLSv13-ECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ECDSA
rename to src/crypto/tls/testdata/Client-TLSv13-ECDSA
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-Ed25519 b/src/crypto/tls/testdata/Client-TLSv13-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-Ed25519
rename to src/crypto/tls/testdata/Client-TLSv13-Ed25519
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial b/src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest b/src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest
rename to src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-KeyUpdate b/src/crypto/tls/testdata/Client-TLSv13-KeyUpdate
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-KeyUpdate
rename to src/crypto/tls/testdata/Client-TLSv13-KeyUpdate
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE b/src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE
rename to src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE
diff --git a/project/src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE b/src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE
similarity index 100%
rename from project/src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE
rename to src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE
diff --git a/project/src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial b/src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Server-TLSv10-RSA-3DES b/src/crypto/tls/testdata/Server-TLSv10-RSA-3DES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv10-RSA-3DES
rename to src/crypto/tls/testdata/Server-TLSv10-RSA-3DES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv10-RSA-AES b/src/crypto/tls/testdata/Server-TLSv10-RSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv10-RSA-AES
rename to src/crypto/tls/testdata/Server-TLSv10-RSA-AES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv10-RSA-RC4 b/src/crypto/tls/testdata/Server-TLSv10-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv10-RSA-RC4
rename to src/crypto/tls/testdata/Server-TLSv10-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Server-TLSv11-FallbackSCSV b/src/crypto/tls/testdata/Server-TLSv11-FallbackSCSV
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv11-FallbackSCSV
rename to src/crypto/tls/testdata/Server-TLSv11-FallbackSCSV
diff --git a/project/src/crypto/tls/testdata/Server-TLSv11-RSA-RC4 b/src/crypto/tls/testdata/Server-TLSv11-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv11-RSA-RC4
rename to src/crypto/tls/testdata/Server-TLSv11-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ALPN b/src/crypto/tls/testdata/Server-TLSv12-ALPN
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ALPN
rename to src/crypto/tls/testdata/Server-TLSv12-ALPN
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch b/src/crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch
rename to src/crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceECDSA b/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceECDSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceECDSA
rename to src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceECDSA
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceRSA b/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceRSA
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceRSA
rename to src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceRSA
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
rename to src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given
rename to src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
rename to src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given
rename to src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
rename to src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-Ed25519 b/src/crypto/tls/testdata/Server-TLSv12-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-Ed25519
rename to src/crypto/tls/testdata/Server-TLSv12-Ed25519
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial b/src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-IssueTicket b/src/crypto/tls/testdata/Server-TLSv12-IssueTicket
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-IssueTicket
rename to src/crypto/tls/testdata/Server-TLSv12-IssueTicket
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable b/src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable
rename to src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-P256 b/src/crypto/tls/testdata/Server-TLSv12-P256
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-P256
rename to src/crypto/tls/testdata/Server-TLSv12-P256
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-3DES b/src/crypto/tls/testdata/Server-TLSv12-RSA-3DES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-3DES
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-3DES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES b/src/crypto/tls/testdata/Server-TLSv12-RSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-AES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM b/src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384 b/src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-RC4 b/src/crypto/tls/testdata/Server-TLSv12-RSA-RC4
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-RC4
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-RC4
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15 b/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS b/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS
rename to src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-Resume b/src/crypto/tls/testdata/Server-TLSv12-Resume
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-Resume
rename to src/crypto/tls/testdata/Server-TLSv12-Resume
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled b/src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled
rename to src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-SNI b/src/crypto/tls/testdata/Server-TLSv12-SNI
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-SNI
rename to src/crypto/tls/testdata/Server-TLSv12-SNI
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate b/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate
rename to src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound b/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound
rename to src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound
diff --git a/project/src/crypto/tls/testdata/Server-TLSv12-X25519 b/src/crypto/tls/testdata/Server-TLSv12-X25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv12-X25519
rename to src/crypto/tls/testdata/Server-TLSv12-X25519
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-AES128-SHA256 b/src/crypto/tls/testdata/Server-TLSv13-AES128-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-AES128-SHA256
rename to src/crypto/tls/testdata/Server-TLSv13-AES128-SHA256
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-AES256-SHA384 b/src/crypto/tls/testdata/Server-TLSv13-AES256-SHA384
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-AES256-SHA384
rename to src/crypto/tls/testdata/Server-TLSv13-AES256-SHA384
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ALPN b/src/crypto/tls/testdata/Server-TLSv13-ALPN
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ALPN
rename to src/crypto/tls/testdata/Server-TLSv13-ALPN
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ALPN-NoMatch b/src/crypto/tls/testdata/Server-TLSv13-ALPN-NoMatch
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ALPN-NoMatch
rename to src/crypto/tls/testdata/Server-TLSv13-ALPN-NoMatch
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-CHACHA20-SHA256 b/src/crypto/tls/testdata/Server-TLSv13-CHACHA20-SHA256
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-CHACHA20-SHA256
rename to src/crypto/tls/testdata/Server-TLSv13-CHACHA20-SHA256
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven b/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven
rename to src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given b/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given
rename to src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndGiven b/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndGiven
rename to src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedNotGiven b/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedNotGiven
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedNotGiven
rename to src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedNotGiven
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES b/src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES
rename to src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-Ed25519 b/src/crypto/tls/testdata/Server-TLSv13-Ed25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-Ed25519
rename to src/crypto/tls/testdata/Server-TLSv13-Ed25519
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ExportKeyingMaterial b/src/crypto/tls/testdata/Server-TLSv13-ExportKeyingMaterial
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ExportKeyingMaterial
rename to src/crypto/tls/testdata/Server-TLSv13-ExportKeyingMaterial
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-HelloRetryRequest b/src/crypto/tls/testdata/Server-TLSv13-HelloRetryRequest
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-HelloRetryRequest
rename to src/crypto/tls/testdata/Server-TLSv13-HelloRetryRequest
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-IssueTicket b/src/crypto/tls/testdata/Server-TLSv13-IssueTicket
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-IssueTicket
rename to src/crypto/tls/testdata/Server-TLSv13-IssueTicket
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-IssueTicketPreDisable b/src/crypto/tls/testdata/Server-TLSv13-IssueTicketPreDisable
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-IssueTicketPreDisable
rename to src/crypto/tls/testdata/Server-TLSv13-IssueTicketPreDisable
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-P256 b/src/crypto/tls/testdata/Server-TLSv13-P256
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-P256
rename to src/crypto/tls/testdata/Server-TLSv13-P256
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS b/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS
rename to src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS-TooSmall b/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS-TooSmall
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS-TooSmall
rename to src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS-TooSmall
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-Resume b/src/crypto/tls/testdata/Server-TLSv13-Resume
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-Resume
rename to src/crypto/tls/testdata/Server-TLSv13-Resume
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-Resume-HelloRetryRequest b/src/crypto/tls/testdata/Server-TLSv13-Resume-HelloRetryRequest
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-Resume-HelloRetryRequest
rename to src/crypto/tls/testdata/Server-TLSv13-Resume-HelloRetryRequest
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-ResumeDisabled b/src/crypto/tls/testdata/Server-TLSv13-ResumeDisabled
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-ResumeDisabled
rename to src/crypto/tls/testdata/Server-TLSv13-ResumeDisabled
diff --git a/project/src/crypto/tls/testdata/Server-TLSv13-X25519 b/src/crypto/tls/testdata/Server-TLSv13-X25519
similarity index 100%
rename from project/src/crypto/tls/testdata/Server-TLSv13-X25519
rename to src/crypto/tls/testdata/Server-TLSv13-X25519
diff --git a/project/src/crypto/tls/testdata/example-cert.pem b/src/crypto/tls/testdata/example-cert.pem
similarity index 100%
rename from project/src/crypto/tls/testdata/example-cert.pem
rename to src/crypto/tls/testdata/example-cert.pem
diff --git a/project/src/crypto/tls/testdata/example-key.pem b/src/crypto/tls/testdata/example-key.pem
similarity index 100%
rename from project/src/crypto/tls/testdata/example-key.pem
rename to src/crypto/tls/testdata/example-key.pem
diff --git a/project/src/crypto/tls/ticket.go b/src/crypto/tls/ticket.go
similarity index 100%
rename from project/src/crypto/tls/ticket.go
rename to src/crypto/tls/ticket.go
diff --git a/project/src/crypto/tls/tls.go b/src/crypto/tls/tls.go
similarity index 100%
rename from project/src/crypto/tls/tls.go
rename to src/crypto/tls/tls.go
diff --git a/project/src/encoding/hex/example_test.go b/src/encoding/hex/example_test.go
similarity index 100%
rename from project/src/encoding/hex/example_test.go
rename to src/encoding/hex/example_test.go
diff --git a/project/src/encoding/hex/hex.go b/src/encoding/hex/hex.go
similarity index 100%
rename from project/src/encoding/hex/hex.go
rename to src/encoding/hex/hex.go
diff --git a/project/src/encoding/hex/hex_test.go b/src/encoding/hex/hex_test.go
similarity index 100%
rename from project/src/encoding/hex/hex_test.go
rename to src/encoding/hex/hex_test.go
diff --git a/project/src/iphlpapi/c_iphlpapi_tcp.c b/src/iphlpapi/c_iphlpapi_tcp.c
similarity index 100%
rename from project/src/iphlpapi/c_iphlpapi_tcp.c
rename to src/iphlpapi/c_iphlpapi_tcp.c
diff --git a/project/src/iphlpapi/c_iphlpapi_tcp.h b/src/iphlpapi/c_iphlpapi_tcp.h
similarity index 100%
rename from project/src/iphlpapi/c_iphlpapi_tcp.h
rename to src/iphlpapi/c_iphlpapi_tcp.h
diff --git a/project/src/iphlpapi/iphlpapi.go b/src/iphlpapi/iphlpapi.go
similarity index 100%
rename from project/src/iphlpapi/iphlpapi.go
rename to src/iphlpapi/iphlpapi.go
diff --git a/project/src/ja3/ja3.go b/src/ja3/ja3.go
similarity index 100%
rename from project/src/ja3/ja3.go
rename to src/ja3/ja3.go
diff --git a/project/src/net/http/alpn_test.go b/src/net/http/alpn_test.go
similarity index 100%
rename from project/src/net/http/alpn_test.go
rename to src/net/http/alpn_test.go
diff --git a/project/src/net/http/cgi/child.go b/src/net/http/cgi/child.go
similarity index 100%
rename from project/src/net/http/cgi/child.go
rename to src/net/http/cgi/child.go
diff --git a/project/src/net/http/cgi/child_test.go b/src/net/http/cgi/child_test.go
similarity index 100%
rename from project/src/net/http/cgi/child_test.go
rename to src/net/http/cgi/child_test.go
diff --git a/project/src/net/http/cgi/host.go b/src/net/http/cgi/host.go
similarity index 100%
rename from project/src/net/http/cgi/host.go
rename to src/net/http/cgi/host.go
diff --git a/project/src/net/http/cgi/host_test.go b/src/net/http/cgi/host_test.go
similarity index 100%
rename from project/src/net/http/cgi/host_test.go
rename to src/net/http/cgi/host_test.go
diff --git a/project/src/net/http/cgi/integration_test.go b/src/net/http/cgi/integration_test.go
similarity index 100%
rename from project/src/net/http/cgi/integration_test.go
rename to src/net/http/cgi/integration_test.go
diff --git a/project/src/net/http/cgi/plan9_test.go b/src/net/http/cgi/plan9_test.go
similarity index 100%
rename from project/src/net/http/cgi/plan9_test.go
rename to src/net/http/cgi/plan9_test.go
diff --git a/project/src/net/http/cgi/posix_test.go b/src/net/http/cgi/posix_test.go
similarity index 100%
rename from project/src/net/http/cgi/posix_test.go
rename to src/net/http/cgi/posix_test.go
diff --git a/project/src/net/http/cgi/testdata/test.cgi b/src/net/http/cgi/testdata/test.cgi
similarity index 100%
rename from project/src/net/http/cgi/testdata/test.cgi
rename to src/net/http/cgi/testdata/test.cgi
diff --git a/project/src/net/http/client.go b/src/net/http/client.go
similarity index 100%
rename from project/src/net/http/client.go
rename to src/net/http/client.go
diff --git a/project/src/net/http/client_test.go b/src/net/http/client_test.go
similarity index 100%
rename from project/src/net/http/client_test.go
rename to src/net/http/client_test.go
diff --git a/project/src/net/http/clientserver_test.go b/src/net/http/clientserver_test.go
similarity index 100%
rename from project/src/net/http/clientserver_test.go
rename to src/net/http/clientserver_test.go
diff --git a/project/src/net/http/clone.go b/src/net/http/clone.go
similarity index 100%
rename from project/src/net/http/clone.go
rename to src/net/http/clone.go
diff --git a/project/src/net/http/cookie.go b/src/net/http/cookie.go
similarity index 100%
rename from project/src/net/http/cookie.go
rename to src/net/http/cookie.go
diff --git a/project/src/net/http/cookie_test.go b/src/net/http/cookie_test.go
similarity index 100%
rename from project/src/net/http/cookie_test.go
rename to src/net/http/cookie_test.go
diff --git a/project/src/net/http/cookiejar/dummy_publicsuffix_test.go b/src/net/http/cookiejar/dummy_publicsuffix_test.go
similarity index 100%
rename from project/src/net/http/cookiejar/dummy_publicsuffix_test.go
rename to src/net/http/cookiejar/dummy_publicsuffix_test.go
diff --git a/project/src/net/http/cookiejar/example_test.go b/src/net/http/cookiejar/example_test.go
similarity index 100%
rename from project/src/net/http/cookiejar/example_test.go
rename to src/net/http/cookiejar/example_test.go
diff --git a/project/src/net/http/cookiejar/jar.go b/src/net/http/cookiejar/jar.go
similarity index 100%
rename from project/src/net/http/cookiejar/jar.go
rename to src/net/http/cookiejar/jar.go
diff --git a/project/src/net/http/cookiejar/jar_test.go b/src/net/http/cookiejar/jar_test.go
similarity index 100%
rename from project/src/net/http/cookiejar/jar_test.go
rename to src/net/http/cookiejar/jar_test.go
diff --git a/project/src/net/http/cookiejar/punycode.go b/src/net/http/cookiejar/punycode.go
similarity index 100%
rename from project/src/net/http/cookiejar/punycode.go
rename to src/net/http/cookiejar/punycode.go
diff --git a/project/src/net/http/cookiejar/punycode_test.go b/src/net/http/cookiejar/punycode_test.go
similarity index 100%
rename from project/src/net/http/cookiejar/punycode_test.go
rename to src/net/http/cookiejar/punycode_test.go
diff --git a/project/src/net/http/doc.go b/src/net/http/doc.go
similarity index 100%
rename from project/src/net/http/doc.go
rename to src/net/http/doc.go
diff --git a/project/src/net/http/example_filesystem_test.go b/src/net/http/example_filesystem_test.go
similarity index 100%
rename from project/src/net/http/example_filesystem_test.go
rename to src/net/http/example_filesystem_test.go
diff --git a/project/src/net/http/example_handle_test.go b/src/net/http/example_handle_test.go
similarity index 100%
rename from project/src/net/http/example_handle_test.go
rename to src/net/http/example_handle_test.go
diff --git a/project/src/net/http/example_test.go b/src/net/http/example_test.go
similarity index 100%
rename from project/src/net/http/example_test.go
rename to src/net/http/example_test.go
diff --git a/project/src/net/http/export_test.go b/src/net/http/export_test.go
similarity index 100%
rename from project/src/net/http/export_test.go
rename to src/net/http/export_test.go
diff --git a/project/src/net/http/fcgi/child.go b/src/net/http/fcgi/child.go
similarity index 100%
rename from project/src/net/http/fcgi/child.go
rename to src/net/http/fcgi/child.go
diff --git a/project/src/net/http/fcgi/fcgi.go b/src/net/http/fcgi/fcgi.go
similarity index 100%
rename from project/src/net/http/fcgi/fcgi.go
rename to src/net/http/fcgi/fcgi.go
diff --git a/project/src/net/http/fcgi/fcgi_test.go b/src/net/http/fcgi/fcgi_test.go
similarity index 100%
rename from project/src/net/http/fcgi/fcgi_test.go
rename to src/net/http/fcgi/fcgi_test.go
diff --git a/project/src/net/http/filetransport.go b/src/net/http/filetransport.go
similarity index 100%
rename from project/src/net/http/filetransport.go
rename to src/net/http/filetransport.go
diff --git a/project/src/net/http/filetransport_test.go b/src/net/http/filetransport_test.go
similarity index 100%
rename from project/src/net/http/filetransport_test.go
rename to src/net/http/filetransport_test.go
diff --git a/project/src/net/http/fs.go b/src/net/http/fs.go
similarity index 100%
rename from project/src/net/http/fs.go
rename to src/net/http/fs.go
diff --git a/project/src/net/http/fs_test.go b/src/net/http/fs_test.go
similarity index 100%
rename from project/src/net/http/fs_test.go
rename to src/net/http/fs_test.go
diff --git a/project/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
similarity index 100%
rename from project/src/net/http/h2_bundle.go
rename to src/net/http/h2_bundle.go
diff --git a/project/src/net/http/header.go b/src/net/http/header.go
similarity index 100%
rename from project/src/net/http/header.go
rename to src/net/http/header.go
diff --git a/project/src/net/http/header_test.go b/src/net/http/header_test.go
similarity index 100%
rename from project/src/net/http/header_test.go
rename to src/net/http/header_test.go
diff --git a/project/src/net/http/http.go b/src/net/http/http.go
similarity index 100%
rename from project/src/net/http/http.go
rename to src/net/http/http.go
diff --git a/project/src/net/http/http_test.go b/src/net/http/http_test.go
similarity index 100%
rename from project/src/net/http/http_test.go
rename to src/net/http/http_test.go
diff --git a/project/src/net/http/httptest/example_test.go b/src/net/http/httptest/example_test.go
similarity index 100%
rename from project/src/net/http/httptest/example_test.go
rename to src/net/http/httptest/example_test.go
diff --git a/project/src/net/http/httptest/httptest.go b/src/net/http/httptest/httptest.go
similarity index 100%
rename from project/src/net/http/httptest/httptest.go
rename to src/net/http/httptest/httptest.go
diff --git a/project/src/net/http/httptest/httptest_test.go b/src/net/http/httptest/httptest_test.go
similarity index 100%
rename from project/src/net/http/httptest/httptest_test.go
rename to src/net/http/httptest/httptest_test.go
diff --git a/project/src/net/http/httptest/recorder.go b/src/net/http/httptest/recorder.go
similarity index 100%
rename from project/src/net/http/httptest/recorder.go
rename to src/net/http/httptest/recorder.go
diff --git a/project/src/net/http/httptest/recorder_test.go b/src/net/http/httptest/recorder_test.go
similarity index 100%
rename from project/src/net/http/httptest/recorder_test.go
rename to src/net/http/httptest/recorder_test.go
diff --git a/project/src/net/http/httptest/server.go b/src/net/http/httptest/server.go
similarity index 100%
rename from project/src/net/http/httptest/server.go
rename to src/net/http/httptest/server.go
diff --git a/project/src/net/http/httptest/server_test.go b/src/net/http/httptest/server_test.go
similarity index 100%
rename from project/src/net/http/httptest/server_test.go
rename to src/net/http/httptest/server_test.go
diff --git a/project/src/net/http/httptrace/example_test.go b/src/net/http/httptrace/example_test.go
similarity index 100%
rename from project/src/net/http/httptrace/example_test.go
rename to src/net/http/httptrace/example_test.go
diff --git a/project/src/net/http/httptrace/trace.go b/src/net/http/httptrace/trace.go
similarity index 100%
rename from project/src/net/http/httptrace/trace.go
rename to src/net/http/httptrace/trace.go
diff --git a/project/src/net/http/httptrace/trace_test.go b/src/net/http/httptrace/trace_test.go
similarity index 100%
rename from project/src/net/http/httptrace/trace_test.go
rename to src/net/http/httptrace/trace_test.go
diff --git a/project/src/net/http/httputil/dump.go b/src/net/http/httputil/dump.go
similarity index 100%
rename from project/src/net/http/httputil/dump.go
rename to src/net/http/httputil/dump.go
diff --git a/project/src/net/http/httputil/dump_test.go b/src/net/http/httputil/dump_test.go
similarity index 100%
rename from project/src/net/http/httputil/dump_test.go
rename to src/net/http/httputil/dump_test.go
diff --git a/project/src/net/http/httputil/example_test.go b/src/net/http/httputil/example_test.go
similarity index 100%
rename from project/src/net/http/httputil/example_test.go
rename to src/net/http/httputil/example_test.go
diff --git a/project/src/net/http/httputil/httputil.go b/src/net/http/httputil/httputil.go
similarity index 100%
rename from project/src/net/http/httputil/httputil.go
rename to src/net/http/httputil/httputil.go
diff --git a/project/src/net/http/httputil/persist.go b/src/net/http/httputil/persist.go
similarity index 100%
rename from project/src/net/http/httputil/persist.go
rename to src/net/http/httputil/persist.go
diff --git a/project/src/net/http/httputil/reverseproxy.go b/src/net/http/httputil/reverseproxy.go
similarity index 99%
rename from project/src/net/http/httputil/reverseproxy.go
rename to src/net/http/httputil/reverseproxy.go
index 319e2a3f..a5907145 100644
--- a/project/src/net/http/httputil/reverseproxy.go
+++ b/src/net/http/httputil/reverseproxy.go
@@ -324,7 +324,7 @@ func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
copyHeader(rw.Header(), res.Header)
// The "Trailer" header isn't included in the Transport's response,
- // at least for *http.Transport. Build it up from Trailer.
+ // at least for *http.Transport. BuildLibrary it up from Trailer.
announcedTrailers := len(res.Trailer)
if announcedTrailers > 0 {
trailerKeys := make([]string, 0, len(res.Trailer))
diff --git a/project/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go
similarity index 100%
rename from project/src/net/http/httputil/reverseproxy_test.go
rename to src/net/http/httputil/reverseproxy_test.go
diff --git a/project/src/net/http/internal/ascii/print.go b/src/net/http/internal/ascii/print.go
similarity index 100%
rename from project/src/net/http/internal/ascii/print.go
rename to src/net/http/internal/ascii/print.go
diff --git a/project/src/net/http/internal/ascii/print_test.go b/src/net/http/internal/ascii/print_test.go
similarity index 100%
rename from project/src/net/http/internal/ascii/print_test.go
rename to src/net/http/internal/ascii/print_test.go
diff --git a/project/src/net/http/internal/chunked.go b/src/net/http/internal/chunked.go
similarity index 100%
rename from project/src/net/http/internal/chunked.go
rename to src/net/http/internal/chunked.go
diff --git a/project/src/net/http/internal/chunked_test.go b/src/net/http/internal/chunked_test.go
similarity index 100%
rename from project/src/net/http/internal/chunked_test.go
rename to src/net/http/internal/chunked_test.go
diff --git a/project/src/net/http/internal/testcert/testcert.go b/src/net/http/internal/testcert/testcert.go
similarity index 100%
rename from project/src/net/http/internal/testcert/testcert.go
rename to src/net/http/internal/testcert/testcert.go
diff --git a/project/src/net/http/jar.go b/src/net/http/jar.go
similarity index 100%
rename from project/src/net/http/jar.go
rename to src/net/http/jar.go
diff --git a/project/src/net/http/main_test.go b/src/net/http/main_test.go
similarity index 100%
rename from project/src/net/http/main_test.go
rename to src/net/http/main_test.go
diff --git a/project/src/net/http/method.go b/src/net/http/method.go
similarity index 100%
rename from project/src/net/http/method.go
rename to src/net/http/method.go
diff --git a/project/src/net/http/omithttp2.go b/src/net/http/omithttp2.go
similarity index 100%
rename from project/src/net/http/omithttp2.go
rename to src/net/http/omithttp2.go
diff --git a/project/src/net/http/proxy_test.go b/src/net/http/proxy_test.go
similarity index 100%
rename from project/src/net/http/proxy_test.go
rename to src/net/http/proxy_test.go
diff --git a/project/src/net/http/range_test.go b/src/net/http/range_test.go
similarity index 100%
rename from project/src/net/http/range_test.go
rename to src/net/http/range_test.go
diff --git a/project/src/net/http/readrequest_test.go b/src/net/http/readrequest_test.go
similarity index 100%
rename from project/src/net/http/readrequest_test.go
rename to src/net/http/readrequest_test.go
diff --git a/project/src/net/http/request.go b/src/net/http/request.go
similarity index 100%
rename from project/src/net/http/request.go
rename to src/net/http/request.go
diff --git a/project/src/net/http/request_test.go b/src/net/http/request_test.go
similarity index 100%
rename from project/src/net/http/request_test.go
rename to src/net/http/request_test.go
diff --git a/project/src/net/http/requestwrite_test.go b/src/net/http/requestwrite_test.go
similarity index 100%
rename from project/src/net/http/requestwrite_test.go
rename to src/net/http/requestwrite_test.go
diff --git a/project/src/net/http/response.go b/src/net/http/response.go
similarity index 100%
rename from project/src/net/http/response.go
rename to src/net/http/response.go
diff --git a/project/src/net/http/response_test.go b/src/net/http/response_test.go
similarity index 100%
rename from project/src/net/http/response_test.go
rename to src/net/http/response_test.go
diff --git a/project/src/net/http/responsewrite_test.go b/src/net/http/responsewrite_test.go
similarity index 100%
rename from project/src/net/http/responsewrite_test.go
rename to src/net/http/responsewrite_test.go
diff --git a/project/src/net/http/roundtrip.go b/src/net/http/roundtrip.go
similarity index 100%
rename from project/src/net/http/roundtrip.go
rename to src/net/http/roundtrip.go
diff --git a/project/src/net/http/roundtrip_js.go b/src/net/http/roundtrip_js.go
similarity index 100%
rename from project/src/net/http/roundtrip_js.go
rename to src/net/http/roundtrip_js.go
diff --git a/project/src/net/http/serve_test.go b/src/net/http/serve_test.go
similarity index 99%
rename from project/src/net/http/serve_test.go
rename to src/net/http/serve_test.go
index fb18cb2c..d196dd91 100644
--- a/project/src/net/http/serve_test.go
+++ b/src/net/http/serve_test.go
@@ -620,7 +620,7 @@ func benchmarkServeMux(b *testing.B, runHandler bool) {
req *Request
}
- // Build example handlers and requests
+ // BuildLibrary example handlers and requests
var tests []test
endpoints := []string{"search", "dir", "file", "change", "count", "s"}
for _, e := range endpoints {
@@ -5077,10 +5077,11 @@ func benchmarkClientServerParallel(b *testing.B, parallelism int, useTLS bool) {
// The client code runs in a subprocess.
//
// For use like:
-// $ go test -c
-// $ ./http.test -test.run=XX -test.bench=BenchmarkServer -test.benchtime=15s -test.cpuprofile=http.prof
-// $ go tool pprof http.test http.prof
-// (pprof) web
+//
+// $ go test -c
+// $ ./http.test -test.run=XX -test.bench=BenchmarkServer -test.benchtime=15s -test.cpuprofile=http.prof
+// $ go tool pprof http.test http.prof
+// (pprof) web
func BenchmarkServer(b *testing.B) {
b.ReportAllocs()
// Child process mode;
diff --git a/project/src/net/http/server.go b/src/net/http/server.go
similarity index 100%
rename from project/src/net/http/server.go
rename to src/net/http/server.go
diff --git a/project/src/net/http/server_test.go b/src/net/http/server_test.go
similarity index 100%
rename from project/src/net/http/server_test.go
rename to src/net/http/server_test.go
diff --git a/project/src/net/http/sniff.go b/src/net/http/sniff.go
similarity index 100%
rename from project/src/net/http/sniff.go
rename to src/net/http/sniff.go
diff --git a/project/src/net/http/sniff_test.go b/src/net/http/sniff_test.go
similarity index 100%
rename from project/src/net/http/sniff_test.go
rename to src/net/http/sniff_test.go
diff --git a/project/src/net/http/socks_bundle.go b/src/net/http/socks_bundle.go
similarity index 100%
rename from project/src/net/http/socks_bundle.go
rename to src/net/http/socks_bundle.go
diff --git a/project/src/net/http/status.go b/src/net/http/status.go
similarity index 100%
rename from project/src/net/http/status.go
rename to src/net/http/status.go
diff --git a/project/src/net/http/testdata/file b/src/net/http/testdata/file
similarity index 100%
rename from project/src/net/http/testdata/file
rename to src/net/http/testdata/file
diff --git a/project/src/net/http/testdata/index.html b/src/net/http/testdata/index.html
similarity index 100%
rename from project/src/net/http/testdata/index.html
rename to src/net/http/testdata/index.html
diff --git a/project/src/net/http/testdata/style.css b/src/net/http/testdata/style.css
similarity index 100%
rename from project/src/net/http/testdata/style.css
rename to src/net/http/testdata/style.css
diff --git a/project/src/net/http/transfer.go b/src/net/http/transfer.go
similarity index 100%
rename from project/src/net/http/transfer.go
rename to src/net/http/transfer.go
diff --git a/project/src/net/http/transfer_test.go b/src/net/http/transfer_test.go
similarity index 100%
rename from project/src/net/http/transfer_test.go
rename to src/net/http/transfer_test.go
diff --git a/project/src/net/http/transport.go b/src/net/http/transport.go
similarity index 100%
rename from project/src/net/http/transport.go
rename to src/net/http/transport.go
diff --git a/project/src/net/http/transport_default_js.go b/src/net/http/transport_default_js.go
similarity index 100%
rename from project/src/net/http/transport_default_js.go
rename to src/net/http/transport_default_js.go
diff --git a/project/src/net/http/transport_default_other.go b/src/net/http/transport_default_other.go
similarity index 100%
rename from project/src/net/http/transport_default_other.go
rename to src/net/http/transport_default_other.go
diff --git a/project/src/net/http/transport_internal_test.go b/src/net/http/transport_internal_test.go
similarity index 100%
rename from project/src/net/http/transport_internal_test.go
rename to src/net/http/transport_internal_test.go
diff --git a/project/src/net/http/triv.go b/src/net/http/triv.go
similarity index 100%
rename from project/src/net/http/triv.go
rename to src/net/http/triv.go
diff --git a/project/src/nfapi/CloseTCP.go b/src/nfapi/CloseTCP.go
similarity index 98%
rename from project/src/nfapi/CloseTCP.go
rename to src/nfapi/CloseTCP.go
index 3cbb11c7..861b3702 100644
--- a/project/src/nfapi/CloseTCP.go
+++ b/src/nfapi/CloseTCP.go
@@ -4,7 +4,7 @@
package NFapi
import (
- "SunnyNet/project/src/iphlpapi"
+ "github.com/qtgolang/SunnyNet/src/iphlpapi"
"golang.org/x/text/encoding/simplifiedchinese"
"os/exec"
"strconv"
diff --git a/project/src/nfapi/Driver.go b/src/nfapi/Driver.go
similarity index 97%
rename from project/src/nfapi/Driver.go
rename to src/nfapi/Driver.go
index 1d7ef2a5..054abf42 100644
--- a/project/src/nfapi/Driver.go
+++ b/src/nfapi/Driver.go
@@ -5,8 +5,8 @@ package NFapi
import "C"
import (
- "SunnyNet/project/public"
- "SunnyNet/project/src/nfapi/Driver"
+ "github.com/qtgolang/SunnyNet/public"
+ "github.com/qtgolang/SunnyNet/src/nfapi/Driver"
"unsafe"
)
diff --git a/project/src/nfapi/Driver/Driver.c b/src/nfapi/Driver/Driver.c
similarity index 100%
rename from project/src/nfapi/Driver/Driver.c
rename to src/nfapi/Driver/Driver.c
diff --git a/project/src/nfapi/Driver/Driver.go b/src/nfapi/Driver/Driver.go
similarity index 100%
rename from project/src/nfapi/Driver/Driver.go
rename to src/nfapi/Driver/Driver.go
diff --git a/project/src/nfapi/Driver/Driver.h b/src/nfapi/Driver/Driver.h
similarity index 100%
rename from project/src/nfapi/Driver/Driver.h
rename to src/nfapi/Driver/Driver.h
diff --git a/project/src/nfapi/Driver/include/nfapi.h b/src/nfapi/Driver/include/nfapi.h
similarity index 100%
rename from project/src/nfapi/Driver/include/nfapi.h
rename to src/nfapi/Driver/include/nfapi.h
diff --git a/project/src/nfapi/Driver/include/nfdriver.h b/src/nfapi/Driver/include/nfdriver.h
similarity index 100%
rename from project/src/nfapi/Driver/include/nfdriver.h
rename to src/nfapi/Driver/include/nfdriver.h
diff --git a/project/src/nfapi/Driver/include/nfevents.h b/src/nfapi/Driver/include/nfevents.h
similarity index 100%
rename from project/src/nfapi/Driver/include/nfevents.h
rename to src/nfapi/Driver/include/nfevents.h
diff --git a/project/src/nfapi/EventHandler.go b/src/nfapi/EventHandler.go
similarity index 99%
rename from project/src/nfapi/EventHandler.go
rename to src/nfapi/EventHandler.go
index 56d27c8a..985acb79 100644
--- a/project/src/nfapi/EventHandler.go
+++ b/src/nfapi/EventHandler.go
@@ -5,7 +5,7 @@ package NFapi
import "C"
import (
- "SunnyNet/project/public"
+ "github.com/qtgolang/SunnyNet/public"
"net"
"regexp"
"strconv"
diff --git a/project/src/nfapi/Release.go b/src/nfapi/Release.go
similarity index 98%
rename from project/src/nfapi/Release.go
rename to src/nfapi/Release.go
index 0dfd481f..3f7c8d8f 100644
--- a/project/src/nfapi/Release.go
+++ b/src/nfapi/Release.go
@@ -16,11 +16,11 @@ BOOL revertWow64FsRedirection(PVOID oldValue) {
*/
import "C"
import (
- "SunnyNet/project/Resource"
- "SunnyNet/project/public"
"bufio"
_ "embed"
"fmt"
+ "github.com/qtgolang/SunnyNet/Resource"
+ "github.com/qtgolang/SunnyNet/public"
"io"
"math/rand"
"os"
diff --git a/project/src/nfapi/api.go b/src/nfapi/api.go
similarity index 100%
rename from project/src/nfapi/api.go
rename to src/nfapi/api.go
diff --git a/project/src/nfapi/basetype/base.go b/src/nfapi/basetype/base.go
similarity index 100%
rename from project/src/nfapi/basetype/base.go
rename to src/nfapi/basetype/base.go
diff --git a/project/src/nfapi/bytes.go b/src/nfapi/bytes.go
similarity index 98%
rename from project/src/nfapi/bytes.go
rename to src/nfapi/bytes.go
index ef43e810..70b425e3 100644
--- a/project/src/nfapi/bytes.go
+++ b/src/nfapi/bytes.go
@@ -1,9 +1,9 @@
package NFapi
import (
- "SunnyNet/project/src/nfapi/basetype"
"encoding/binary"
"fmt"
+ "github.com/qtgolang/SunnyNet/src/nfapi/basetype"
"net"
"reflect"
"unsafe"
diff --git a/project/src/nfapi/nfapi.go b/src/nfapi/nfapi.go
similarity index 100%
rename from project/src/nfapi/nfapi.go
rename to src/nfapi/nfapi.go
diff --git a/project/src/nfapi/nfdriver.go b/src/nfapi/nfdriver.go
similarity index 100%
rename from project/src/nfapi/nfdriver.go
rename to src/nfapi/nfdriver.go
diff --git a/project/src/nfapi/nfevents.go b/src/nfapi/nfevents.go
similarity index 100%
rename from project/src/nfapi/nfevents.go
rename to src/nfapi/nfevents.go
diff --git a/project/src/nfapi/nowin.go b/src/nfapi/nowin.go
similarity index 100%
rename from project/src/nfapi/nowin.go
rename to src/nfapi/nowin.go
diff --git a/project/src/nfapi/udp.go b/src/nfapi/udp.go
similarity index 100%
rename from project/src/nfapi/udp.go
rename to src/nfapi/udp.go
diff --git a/project/src/nfapi/win.go b/src/nfapi/win.go
similarity index 100%
rename from project/src/nfapi/win.go
rename to src/nfapi/win.go
diff --git a/project/src/protobuf/JSON/JSON.go b/src/protobuf/JSON/JSON.go
similarity index 100%
rename from project/src/protobuf/JSON/JSON.go
rename to src/protobuf/JSON/JSON.go
diff --git a/project/src/protobuf/protobuf.go b/src/protobuf/protobuf.go
similarity index 99%
rename from project/src/protobuf/protobuf.go
rename to src/protobuf/protobuf.go
index d7d90222..f2516487 100644
--- a/project/src/protobuf/protobuf.go
+++ b/src/protobuf/protobuf.go
@@ -1,7 +1,6 @@
package protobuf
import (
- "SunnyNet/project/src/protobuf/JSON"
"bufio"
"bytes"
"encoding/base64"
@@ -9,6 +8,7 @@ import (
"encoding/json"
"errors"
"fmt"
+ "github.com/qtgolang/SunnyNet/src/protobuf/JSON"
"google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/reflect/protoreflect"
"io"
diff --git a/project/src/protobuf/scanner.go b/src/protobuf/scanner.go
similarity index 100%
rename from project/src/protobuf/scanner.go
rename to src/protobuf/scanner.go
diff --git a/project/src/websocket/client.go b/src/websocket/client.go
similarity index 100%
rename from project/src/websocket/client.go
rename to src/websocket/client.go
diff --git a/project/src/websocket/client_clone.go b/src/websocket/client_clone.go
similarity index 100%
rename from project/src/websocket/client_clone.go
rename to src/websocket/client_clone.go
diff --git a/project/src/websocket/client_clone_legacy.go b/src/websocket/client_clone_legacy.go
similarity index 100%
rename from project/src/websocket/client_clone_legacy.go
rename to src/websocket/client_clone_legacy.go
diff --git a/project/src/websocket/compression.go b/src/websocket/compression.go
similarity index 100%
rename from project/src/websocket/compression.go
rename to src/websocket/compression.go
diff --git a/project/src/websocket/conn.go b/src/websocket/conn.go
similarity index 100%
rename from project/src/websocket/conn.go
rename to src/websocket/conn.go
diff --git a/project/src/websocket/conn_write.go b/src/websocket/conn_write.go
similarity index 100%
rename from project/src/websocket/conn_write.go
rename to src/websocket/conn_write.go
diff --git a/project/src/websocket/conn_write_legacy.go b/src/websocket/conn_write_legacy.go
similarity index 100%
rename from project/src/websocket/conn_write_legacy.go
rename to src/websocket/conn_write_legacy.go
diff --git a/project/src/websocket/doc.go b/src/websocket/doc.go
similarity index 100%
rename from project/src/websocket/doc.go
rename to src/websocket/doc.go
diff --git a/project/src/websocket/join.go b/src/websocket/join.go
similarity index 100%
rename from project/src/websocket/join.go
rename to src/websocket/join.go
diff --git a/project/src/websocket/json.go b/src/websocket/json.go
similarity index 100%
rename from project/src/websocket/json.go
rename to src/websocket/json.go
diff --git a/project/src/websocket/mask.go b/src/websocket/mask.go
similarity index 100%
rename from project/src/websocket/mask.go
rename to src/websocket/mask.go
diff --git a/project/src/websocket/mask_safe.go b/src/websocket/mask_safe.go
similarity index 100%
rename from project/src/websocket/mask_safe.go
rename to src/websocket/mask_safe.go
diff --git a/project/src/websocket/prepared.go b/src/websocket/prepared.go
similarity index 100%
rename from project/src/websocket/prepared.go
rename to src/websocket/prepared.go
diff --git a/project/src/websocket/proxy.go b/src/websocket/proxy.go
similarity index 100%
rename from project/src/websocket/proxy.go
rename to src/websocket/proxy.go
diff --git a/project/src/websocket/proxy_https.go b/src/websocket/proxy_https.go
similarity index 100%
rename from project/src/websocket/proxy_https.go
rename to src/websocket/proxy_https.go
diff --git a/project/src/websocket/server.go b/src/websocket/server.go
similarity index 100%
rename from project/src/websocket/server.go
rename to src/websocket/server.go
diff --git a/project/src/websocket/trace.go b/src/websocket/trace.go
similarity index 100%
rename from project/src/websocket/trace.go
rename to src/websocket/trace.go
diff --git a/project/src/websocket/trace_17.go b/src/websocket/trace_17.go
similarity index 100%
rename from project/src/websocket/trace_17.go
rename to src/websocket/trace_17.go
diff --git a/project/src/websocket/util.go b/src/websocket/util.go
similarity index 100%
rename from project/src/websocket/util.go
rename to src/websocket/util.go
diff --git a/project/src/websocket/x_net_proxy.go b/src/websocket/x_net_proxy.go
similarity index 100%
rename from project/src/websocket/x_net_proxy.go
rename to src/websocket/x_net_proxy.go
diff --git a/test.go b/test.go
index a40673b4..9f5473cf 100644
--- a/test.go
+++ b/test.go
@@ -2,16 +2,14 @@ package main
import "C"
import (
- "SunnyNet/project/SunnyNet"
- "SunnyNet/project/public"
"fmt"
+ "github.com/qtgolang/SunnyNet/SunnyNet"
+ "github.com/qtgolang/SunnyNet/public"
"time"
)
func Test() {
-
s := SunnyNet.NewSunny()
-
//i := CreateCertificate()
//ok := LoadP12Certificate(i, C.CString("C:\\Users\\qinka\\Desktop\\74fe394a37757545d8cfbd2ea264c7c3.p12"), C.CString("qyrhudhZ"))
//ok := AddCertPoolPath(i, C.CString("C:\\Users\\qinka\\Desktop\\P12\\certificate.pem"))
diff --git a/vendor/github.com/Trisia/gosysproxy/.gitignore b/vendor/github.com/Trisia/gosysproxy/.gitignore
deleted file mode 100644
index 9cf1b70c..00000000
--- a/vendor/github.com/Trisia/gosysproxy/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-.idea/
-.DS_Store
-output/
-
-# Binaries for programs and plugins
-*.exe
-*.exe~
-*.dll
-*.so
-*.dylib
-
-# Test binary, built with `go test -c`
-*.test
-
-# Output of the go coverage tool, specifically when used with LiteIDE
-*.out
-
-# Dependency directories (remove the comment below to include it)
-# vendor/
\ No newline at end of file
diff --git a/vendor/github.com/Trisia/gosysproxy/README.md b/vendor/github.com/Trisia/gosysproxy/README.md
deleted file mode 100644
index ea34cd4f..00000000
--- a/vendor/github.com/Trisia/gosysproxy/README.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Go System Proxy Windows系统代理配置
-
-
-通过系统调用的方式实现Windows系统的代理配置。
-
-
-修改自 C++项目,`sysproxy.exe`
-
-- [Noisyfox/sysproxy](https://github.com/Noisyfox/sysproxy)
-
-
-## Quick Start
-
-获取
-```
-go get -u github.com/Trisia/gosysproxy
-```
-
-API
-```go
-// SetPAC 设置PAC代理模式
-// scriptLoc: 脚本地址,如: "http://127.0.0.1:7777/pac"
-func SetPAC(scriptLoc string)
-
-// SetGlobalProxy 设置全局代理
-// proxyServer: 代理服务器host:port,例如: "127.0.0.1:7890"
-// bypass: 忽略代理列表,这些配置项开头的地址不进行代理
-func SetGlobalProxy(proxyServer string, bypasses ...string) error
-
-// Off 关闭代理
-func Off() error
-
-// Flush 更新系统配置使生效
-func Flush()
-```
-
-## Demo
-
-```go
-package main
-
-import (
- "github.com/Trisia/gosysproxy"
- "time"
-)
-
-func main() {
- // 设置全局代理
- err := gosysproxy.SetGlobalProxy("127.0.0.1:7890")
- if err{
- panic(err)
- }
-
- time.Sleep(time.Second * 60)
-
- err := gosysproxy.Off()
- if err{
- panic(err)
- }
-}
-
-```
\ No newline at end of file
diff --git a/vendor/github.com/Trisia/gosysproxy/main.go b/vendor/github.com/Trisia/gosysproxy/main.go
deleted file mode 100644
index c723b341..00000000
--- a/vendor/github.com/Trisia/gosysproxy/main.go
+++ /dev/null
@@ -1,212 +0,0 @@
-// +build windows
-
-// windows系统代理配置
-package gosysproxy
-
-import (
- "errors"
- "fmt"
- "math/big"
- "strings"
- "syscall"
- "unsafe"
-)
-
-var (
- wininet, _ = syscall.LoadLibrary("Wininet.dll")
- internetSetOption, _ = syscall.GetProcAddress(wininet, "InternetSetOptionW")
-)
-
-const (
- _INTERNET_OPTION_PER_CONNECTION_OPTION = 75
- _INTERNET_OPTION_PROXY_SETTINGS_CHANGED = 95
- _INTERNET_OPTION_REFRESH = 37
-)
-
-const (
- _PROXY_TYPE_DIRECT = 0x00000001 // direct to net
- _PROXY_TYPE_PROXY = 0x00000002 // via named proxy
- _PROXY_TYPE_AUTO_PROXY_URL = 0x00000004 // autoproxy URL
- _PROXY_TYPE_AUTO_DETECT = 0x00000008 // use autoproxy detection
-)
-
-const (
- _INTERNET_PER_CONN_FLAGS = 1
- _INTERNET_PER_CONN_PROXY_SERVER = 2
- _INTERNET_PER_CONN_PROXY_BYPASS = 3
- _INTERNET_PER_CONN_AUTOCONFIG_URL = 4
- _INTERNET_PER_CONN_AUTODISCOVERY_FLAGS = 5
- _INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL = 6
- _INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS = 7
- _INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME = 8
- _INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL = 9
- _INTERNET_PER_CONN_FLAGS_UI = 10
-)
-
-type internetPerConnOptionList struct {
- dwSize uint32
- pszConnection *uint16
- dwOptionCount uint32
- dwOptionError uint32
- pOptions uintptr
-}
-
-type internetPreConnOption struct {
- dwOption uint32
- value uint64
-}
-
-// stringPtrAddr 获取C字符串(UTF16)的数组第一个位置的地址
-func stringPtrAddr(str string) (uint64, error) {
- scriptLocPtr, err := syscall.UTF16PtrFromString(str)
- if err != nil {
- return 0, err
- }
- n := new(big.Int)
- n.SetString(fmt.Sprintf("%x\n", scriptLocPtr), 16)
- return n.Uint64(), nil
-}
-
-// newParam 创建参数序列容器
-// n: 参数数量
-func newParam(n int) internetPerConnOptionList {
- return internetPerConnOptionList{
- dwSize: 4,
- pszConnection: nil,
- dwOptionCount: uint32(n),
- dwOptionError: 0,
- pOptions: 0,
- }
-}
-
-// SetPAC 设置PAC代理模式
-// scriptLoc: 脚本地址,如: "http://127.0.0.1:7777/pac"
-func SetPAC(scriptLoc string) error {
- if scriptLoc == "" {
- return errors.New("PAC脚本地址(scriptLoc)配置为空")
- }
-
- scriptLocAddr, err := stringPtrAddr(scriptLoc)
- if err != nil {
- return err
- }
-
- param := newParam(2)
- // 利用Golang数组地址空间连续模拟 malloc
- options := []internetPreConnOption{
- {dwOption: _INTERNET_PER_CONN_FLAGS, value: _PROXY_TYPE_AUTO_PROXY_URL | _PROXY_TYPE_DIRECT},
- {dwOption: _INTERNET_PER_CONN_AUTOCONFIG_URL, value: scriptLocAddr},
- }
- param.pOptions = uintptr(unsafe.Pointer(&options[0]))
- ret, _, infoPtr := syscall.Syscall6(internetSetOption,
- 4,
- 0,
- _INTERNET_OPTION_PER_CONNECTION_OPTION,
- uintptr(unsafe.Pointer(¶m)),
- unsafe.Sizeof(param),
- 0, 0)
- // fmt.Printf(">> Ret [%d] Setting options: %s\n", ret, info)
- if ret != 1 {
- return errors.New(fmt.Sprintf("%s", infoPtr))
- }
-
- return Flush()
-}
-
-// SetGlobalProxy 设置全局代理
-// proxyServer: 代理服务器host:port,例如: "127.0.0.1:7890"
-// bypass: 忽略代理列表,这些配置项开头的地址不进行代理
-func SetGlobalProxy(proxyServer string, bypasses ...string) error {
- if proxyServer == "" {
- return errors.New("代理服务器(proxyServer)配置为空")
- }
-
- proxyServerPtrAddr, err := stringPtrAddr(proxyServer)
- if err != nil {
- return err
- }
-
- var bypassBuilder strings.Builder
- // 地址过滤配置
- if bypasses != nil {
- for _, item := range bypasses {
- bypassBuilder.WriteString(item)
- bypassBuilder.WriteByte(';')
- }
- } else {
- bypassBuilder.WriteString("")
- }
- bypassAddr, err := stringPtrAddr(bypassBuilder.String())
- if err != nil {
- return err
- }
-
- param := newParam(3)
- options := []internetPreConnOption{
- {dwOption: _INTERNET_PER_CONN_FLAGS, value: _PROXY_TYPE_PROXY | _PROXY_TYPE_DIRECT},
- {dwOption: _INTERNET_PER_CONN_PROXY_SERVER, value: proxyServerPtrAddr},
- {dwOption: _INTERNET_PER_CONN_PROXY_BYPASS, value: bypassAddr},
- }
- param.pOptions = uintptr(unsafe.Pointer(&options[0]))
- ret, _, infoPtr := syscall.Syscall6(internetSetOption,
- 4,
- 0,
- _INTERNET_OPTION_PER_CONNECTION_OPTION,
- uintptr(unsafe.Pointer(¶m)),
- unsafe.Sizeof(param),
- 0, 0)
- // fmt.Printf(">> Ret [%d] Setting options: %s\n", ret, infoPtr)
- if ret != 1 {
- return errors.New(fmt.Sprintf("%s", infoPtr))
- }
-
- return Flush()
-}
-
-// Off 关闭代理
-func Off() error {
- param := newParam(1)
- option := internetPreConnOption{
- dwOption: _INTERNET_PER_CONN_FLAGS,
- //value: _PROXY_TYPE_AUTO_DETECT | _PROXY_TYPE_DIRECT}
- value: _PROXY_TYPE_DIRECT}
- param.pOptions = uintptr(unsafe.Pointer(&option))
- ret, _, infoPtr := syscall.Syscall6(internetSetOption,
- 4,
- 0,
- _INTERNET_OPTION_PER_CONNECTION_OPTION,
- uintptr(unsafe.Pointer(¶m)),
- unsafe.Sizeof(param),
- 0, 0)
- // fmt.Printf(">> Ret [%d] Setting options: %s\n", ret, info)
- if ret != 1 {
- return errors.New(fmt.Sprintf("%s", infoPtr))
- }
- return Flush()
-}
-
-// Flush 更新系统配置使生效
-func Flush() error {
- ret, _, infoPtr := syscall.Syscall6(internetSetOption,
- 4,
- 0,
- _INTERNET_OPTION_PROXY_SETTINGS_CHANGED,
- 0, 0,
- 0, 0)
- // fmt.Println(">> Propagating changes:", fmt.Sprintf("%s", errno))
- if ret != 1 {
- return errors.New(fmt.Sprintf("%s", infoPtr))
- }
-
- ret, _, infoPtr = syscall.Syscall6(internetSetOption,
- 4,
- 0,
- _INTERNET_OPTION_REFRESH,
- 0, 0,
- 0, 0)
- // fmt.Println(">> Refreshing:", errno)
- if ret != 1 {
- return errors.New(fmt.Sprintf("%s", infoPtr))
- }
- return nil
-}
diff --git a/vendor/github.com/andybalholm/brotli/LICENSE b/vendor/github.com/andybalholm/brotli/LICENSE
deleted file mode 100644
index 33b7cdd2..00000000
--- a/vendor/github.com/andybalholm/brotli/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
-
-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/andybalholm/brotli/README.md b/vendor/github.com/andybalholm/brotli/README.md
deleted file mode 100644
index 1ea7fdb7..00000000
--- a/vendor/github.com/andybalholm/brotli/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-This package is a brotli compressor and decompressor implemented in Go.
-It was translated from the reference implementation (https://github.com/google/brotli)
-with the `c2go` tool at https://github.com/andybalholm/c2go.
-
-I am using it in production with https://github.com/andybalholm/redwood.
-
-API documentation is found at https://pkg.go.dev/github.com/andybalholm/brotli?tab=doc.
diff --git a/vendor/github.com/andybalholm/brotli/backward_references.go b/vendor/github.com/andybalholm/brotli/backward_references.go
deleted file mode 100644
index 008c054d..00000000
--- a/vendor/github.com/andybalholm/brotli/backward_references.go
+++ /dev/null
@@ -1,185 +0,0 @@
-package brotli
-
-import (
- "sync"
-)
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Function to find backward reference copies. */
-
-func computeDistanceCode(distance uint, max_distance uint, dist_cache []int) uint {
- if distance <= max_distance {
- var distance_plus_3 uint = distance + 3
- var offset0 uint = distance_plus_3 - uint(dist_cache[0])
- var offset1 uint = distance_plus_3 - uint(dist_cache[1])
- if distance == uint(dist_cache[0]) {
- return 0
- } else if distance == uint(dist_cache[1]) {
- return 1
- } else if offset0 < 7 {
- return (0x9750468 >> (4 * offset0)) & 0xF
- } else if offset1 < 7 {
- return (0xFDB1ACE >> (4 * offset1)) & 0xF
- } else if distance == uint(dist_cache[2]) {
- return 2
- } else if distance == uint(dist_cache[3]) {
- return 3
- }
- }
-
- return distance + numDistanceShortCodes - 1
-}
-
-var hasherSearchResultPool sync.Pool
-
-func createBackwardReferences(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, hasher hasherHandle, dist_cache []int, last_insert_len *uint, commands *[]command, num_literals *uint) {
- var max_backward_limit uint = maxBackwardLimit(params.lgwin)
- var insert_length uint = *last_insert_len
- var pos_end uint = position + num_bytes
- var store_end uint
- if num_bytes >= hasher.StoreLookahead() {
- store_end = position + num_bytes - hasher.StoreLookahead() + 1
- } else {
- store_end = position
- }
- var random_heuristics_window_size uint = literalSpreeLengthForSparseSearch(params)
- var apply_random_heuristics uint = position + random_heuristics_window_size
- var gap uint = 0
- /* Set maximum distance, see section 9.1. of the spec. */
-
- const kMinScore uint = scoreBase + 100
-
- /* For speed up heuristics for random data. */
-
- /* Minimum score to accept a backward reference. */
- hasher.PrepareDistanceCache(dist_cache)
- sr2, _ := hasherSearchResultPool.Get().(*hasherSearchResult)
- if sr2 == nil {
- sr2 = &hasherSearchResult{}
- }
- sr, _ := hasherSearchResultPool.Get().(*hasherSearchResult)
- if sr == nil {
- sr = &hasherSearchResult{}
- }
-
- for position+hasher.HashTypeLength() < pos_end {
- var max_length uint = pos_end - position
- var max_distance uint = brotli_min_size_t(position, max_backward_limit)
- sr.len = 0
- sr.len_code_delta = 0
- sr.distance = 0
- sr.score = kMinScore
- hasher.FindLongestMatch(¶ms.dictionary, ringbuffer, ringbuffer_mask, dist_cache, position, max_length, max_distance, gap, params.dist.max_distance, sr)
- if sr.score > kMinScore {
- /* Found a match. Let's look for something even better ahead. */
- var delayed_backward_references_in_row int = 0
- max_length--
- for ; ; max_length-- {
- var cost_diff_lazy uint = 175
- if params.quality < minQualityForExtensiveReferenceSearch {
- sr2.len = brotli_min_size_t(sr.len-1, max_length)
- } else {
- sr2.len = 0
- }
- sr2.len_code_delta = 0
- sr2.distance = 0
- sr2.score = kMinScore
- max_distance = brotli_min_size_t(position+1, max_backward_limit)
- hasher.FindLongestMatch(¶ms.dictionary, ringbuffer, ringbuffer_mask, dist_cache, position+1, max_length, max_distance, gap, params.dist.max_distance, sr2)
- if sr2.score >= sr.score+cost_diff_lazy {
- /* Ok, let's just write one byte for now and start a match from the
- next byte. */
- position++
-
- insert_length++
- *sr = *sr2
- delayed_backward_references_in_row++
- if delayed_backward_references_in_row < 4 && position+hasher.HashTypeLength() < pos_end {
- continue
- }
- }
-
- break
- }
-
- apply_random_heuristics = position + 2*sr.len + random_heuristics_window_size
- max_distance = brotli_min_size_t(position, max_backward_limit)
- {
- /* The first 16 codes are special short-codes,
- and the minimum offset is 1. */
- var distance_code uint = computeDistanceCode(sr.distance, max_distance+gap, dist_cache)
- if (sr.distance <= (max_distance + gap)) && distance_code > 0 {
- dist_cache[3] = dist_cache[2]
- dist_cache[2] = dist_cache[1]
- dist_cache[1] = dist_cache[0]
- dist_cache[0] = int(sr.distance)
- hasher.PrepareDistanceCache(dist_cache)
- }
-
- *commands = append(*commands, makeCommand(¶ms.dist, insert_length, sr.len, sr.len_code_delta, distance_code))
- }
-
- *num_literals += insert_length
- insert_length = 0
- /* Put the hash keys into the table, if there are enough bytes left.
- Depending on the hasher implementation, it can push all positions
- in the given range or only a subset of them.
- Avoid hash poisoning with RLE data. */
- {
- var range_start uint = position + 2
- var range_end uint = brotli_min_size_t(position+sr.len, store_end)
- if sr.distance < sr.len>>2 {
- range_start = brotli_min_size_t(range_end, brotli_max_size_t(range_start, position+sr.len-(sr.distance<<2)))
- }
-
- hasher.StoreRange(ringbuffer, ringbuffer_mask, range_start, range_end)
- }
-
- position += sr.len
- } else {
- insert_length++
- position++
-
- /* If we have not seen matches for a long time, we can skip some
- match lookups. Unsuccessful match lookups are very very expensive
- and this kind of a heuristic speeds up compression quite
- a lot. */
- if position > apply_random_heuristics {
- /* Going through uncompressible data, jump. */
- if position > apply_random_heuristics+4*random_heuristics_window_size {
- var kMargin uint = brotli_max_size_t(hasher.StoreLookahead()-1, 4)
- /* It is quite a long time since we saw a copy, so we assume
- that this data is not compressible, and store hashes less
- often. Hashes of non compressible data are less likely to
- turn out to be useful in the future, too, so we store less of
- them to not to flood out the hash table of good compressible
- data. */
-
- var pos_jump uint = brotli_min_size_t(position+16, pos_end-kMargin)
- for ; position < pos_jump; position += 4 {
- hasher.Store(ringbuffer, ringbuffer_mask, position)
- insert_length += 4
- }
- } else {
- var kMargin uint = brotli_max_size_t(hasher.StoreLookahead()-1, 2)
- var pos_jump uint = brotli_min_size_t(position+8, pos_end-kMargin)
- for ; position < pos_jump; position += 2 {
- hasher.Store(ringbuffer, ringbuffer_mask, position)
- insert_length += 2
- }
- }
- }
- }
- }
-
- insert_length += pos_end - position
- *last_insert_len = insert_length
-
- hasherSearchResultPool.Put(sr)
- hasherSearchResultPool.Put(sr2)
-}
diff --git a/vendor/github.com/andybalholm/brotli/backward_references_hq.go b/vendor/github.com/andybalholm/brotli/backward_references_hq.go
deleted file mode 100644
index 21629c1c..00000000
--- a/vendor/github.com/andybalholm/brotli/backward_references_hq.go
+++ /dev/null
@@ -1,796 +0,0 @@
-package brotli
-
-import "math"
-
-type zopfliNode struct {
- length uint32
- distance uint32
- dcode_insert_length uint32
- u struct {
- cost float32
- next uint32
- shortcut uint32
- }
-}
-
-const maxEffectiveDistanceAlphabetSize = 544
-
-const kInfinity float32 = 1.7e38 /* ~= 2 ^ 127 */
-
-var kDistanceCacheIndex = []uint32{0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1}
-
-var kDistanceCacheOffset = []int{0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3}
-
-func initZopfliNodes(array []zopfliNode, length uint) {
- var stub zopfliNode
- var i uint
- stub.length = 1
- stub.distance = 0
- stub.dcode_insert_length = 0
- stub.u.cost = kInfinity
- for i = 0; i < length; i++ {
- array[i] = stub
- }
-}
-
-func zopfliNodeCopyLength(self *zopfliNode) uint32 {
- return self.length & 0x1FFFFFF
-}
-
-func zopfliNodeLengthCode(self *zopfliNode) uint32 {
- var modifier uint32 = self.length >> 25
- return zopfliNodeCopyLength(self) + 9 - modifier
-}
-
-func zopfliNodeCopyDistance(self *zopfliNode) uint32 {
- return self.distance
-}
-
-func zopfliNodeDistanceCode(self *zopfliNode) uint32 {
- var short_code uint32 = self.dcode_insert_length >> 27
- if short_code == 0 {
- return zopfliNodeCopyDistance(self) + numDistanceShortCodes - 1
- } else {
- return short_code - 1
- }
-}
-
-func zopfliNodeCommandLength(self *zopfliNode) uint32 {
- return zopfliNodeCopyLength(self) + (self.dcode_insert_length & 0x7FFFFFF)
-}
-
-/* Histogram based cost model for zopflification. */
-type zopfliCostModel struct {
- cost_cmd_ [numCommandSymbols]float32
- cost_dist_ []float32
- distance_histogram_size uint32
- literal_costs_ []float32
- min_cost_cmd_ float32
- num_bytes_ uint
-}
-
-func initZopfliCostModel(self *zopfliCostModel, dist *distanceParams, num_bytes uint) {
- var distance_histogram_size uint32 = dist.alphabet_size
- if distance_histogram_size > maxEffectiveDistanceAlphabetSize {
- distance_histogram_size = maxEffectiveDistanceAlphabetSize
- }
-
- self.num_bytes_ = num_bytes
- self.literal_costs_ = make([]float32, (num_bytes + 2))
- self.cost_dist_ = make([]float32, (dist.alphabet_size))
- self.distance_histogram_size = distance_histogram_size
-}
-
-func cleanupZopfliCostModel(self *zopfliCostModel) {
- self.literal_costs_ = nil
- self.cost_dist_ = nil
-}
-
-func setCost(histogram []uint32, histogram_size uint, literal_histogram bool, cost []float32) {
- var sum uint = 0
- var missing_symbol_sum uint
- var log2sum float32
- var missing_symbol_cost float32
- var i uint
- for i = 0; i < histogram_size; i++ {
- sum += uint(histogram[i])
- }
-
- log2sum = float32(fastLog2(sum))
- missing_symbol_sum = sum
- if !literal_histogram {
- for i = 0; i < histogram_size; i++ {
- if histogram[i] == 0 {
- missing_symbol_sum++
- }
- }
- }
-
- missing_symbol_cost = float32(fastLog2(missing_symbol_sum)) + 2
- for i = 0; i < histogram_size; i++ {
- if histogram[i] == 0 {
- cost[i] = missing_symbol_cost
- continue
- }
-
- /* Shannon bits for this symbol. */
- cost[i] = log2sum - float32(fastLog2(uint(histogram[i])))
-
- /* Cannot be coded with less than 1 bit */
- if cost[i] < 1 {
- cost[i] = 1
- }
- }
-}
-
-func zopfliCostModelSetFromCommands(self *zopfliCostModel, position uint, ringbuffer []byte, ringbuffer_mask uint, commands []command, last_insert_len uint) {
- var histogram_literal [numLiteralSymbols]uint32
- var histogram_cmd [numCommandSymbols]uint32
- var histogram_dist [maxEffectiveDistanceAlphabetSize]uint32
- var cost_literal [numLiteralSymbols]float32
- var pos uint = position - last_insert_len
- var min_cost_cmd float32 = kInfinity
- var cost_cmd []float32 = self.cost_cmd_[:]
- var literal_costs []float32
-
- histogram_literal = [numLiteralSymbols]uint32{}
- histogram_cmd = [numCommandSymbols]uint32{}
- histogram_dist = [maxEffectiveDistanceAlphabetSize]uint32{}
-
- for i := range commands {
- var inslength uint = uint(commands[i].insert_len_)
- var copylength uint = uint(commandCopyLen(&commands[i]))
- var distcode uint = uint(commands[i].dist_prefix_) & 0x3FF
- var cmdcode uint = uint(commands[i].cmd_prefix_)
- var j uint
-
- histogram_cmd[cmdcode]++
- if cmdcode >= 128 {
- histogram_dist[distcode]++
- }
-
- for j = 0; j < inslength; j++ {
- histogram_literal[ringbuffer[(pos+j)&ringbuffer_mask]]++
- }
-
- pos += inslength + copylength
- }
-
- setCost(histogram_literal[:], numLiteralSymbols, true, cost_literal[:])
- setCost(histogram_cmd[:], numCommandSymbols, false, cost_cmd)
- setCost(histogram_dist[:], uint(self.distance_histogram_size), false, self.cost_dist_)
-
- for i := 0; i < numCommandSymbols; i++ {
- min_cost_cmd = brotli_min_float(min_cost_cmd, cost_cmd[i])
- }
-
- self.min_cost_cmd_ = min_cost_cmd
- {
- literal_costs = self.literal_costs_
- var literal_carry float32 = 0.0
- num_bytes := int(self.num_bytes_)
- literal_costs[0] = 0.0
- for i := 0; i < num_bytes; i++ {
- literal_carry += cost_literal[ringbuffer[(position+uint(i))&ringbuffer_mask]]
- literal_costs[i+1] = literal_costs[i] + literal_carry
- literal_carry -= literal_costs[i+1] - literal_costs[i]
- }
- }
-}
-
-func zopfliCostModelSetFromLiteralCosts(self *zopfliCostModel, position uint, ringbuffer []byte, ringbuffer_mask uint) {
- var literal_costs []float32 = self.literal_costs_
- var literal_carry float32 = 0.0
- var cost_dist []float32 = self.cost_dist_
- var cost_cmd []float32 = self.cost_cmd_[:]
- var num_bytes uint = self.num_bytes_
- var i uint
- estimateBitCostsForLiterals(position, num_bytes, ringbuffer_mask, ringbuffer, literal_costs[1:])
- literal_costs[0] = 0.0
- for i = 0; i < num_bytes; i++ {
- literal_carry += literal_costs[i+1]
- literal_costs[i+1] = literal_costs[i] + literal_carry
- literal_carry -= literal_costs[i+1] - literal_costs[i]
- }
-
- for i = 0; i < numCommandSymbols; i++ {
- cost_cmd[i] = float32(fastLog2(uint(11 + uint32(i))))
- }
-
- for i = 0; uint32(i) < self.distance_histogram_size; i++ {
- cost_dist[i] = float32(fastLog2(uint(20 + uint32(i))))
- }
-
- self.min_cost_cmd_ = float32(fastLog2(11))
-}
-
-func zopfliCostModelGetCommandCost(self *zopfliCostModel, cmdcode uint16) float32 {
- return self.cost_cmd_[cmdcode]
-}
-
-func zopfliCostModelGetDistanceCost(self *zopfliCostModel, distcode uint) float32 {
- return self.cost_dist_[distcode]
-}
-
-func zopfliCostModelGetLiteralCosts(self *zopfliCostModel, from uint, to uint) float32 {
- return self.literal_costs_[to] - self.literal_costs_[from]
-}
-
-func zopfliCostModelGetMinCostCmd(self *zopfliCostModel) float32 {
- return self.min_cost_cmd_
-}
-
-/* REQUIRES: len >= 2, start_pos <= pos */
-/* REQUIRES: cost < kInfinity, nodes[start_pos].cost < kInfinity */
-/* Maintains the "ZopfliNode array invariant". */
-func updateZopfliNode(nodes []zopfliNode, pos uint, start_pos uint, len uint, len_code uint, dist uint, short_code uint, cost float32) {
- var next *zopfliNode = &nodes[pos+len]
- next.length = uint32(len | (len+9-len_code)<<25)
- next.distance = uint32(dist)
- next.dcode_insert_length = uint32(short_code<<27 | (pos - start_pos))
- next.u.cost = cost
-}
-
-type posData struct {
- pos uint
- distance_cache [4]int
- costdiff float32
- cost float32
-}
-
-/* Maintains the smallest 8 cost difference together with their positions */
-type startPosQueue struct {
- q_ [8]posData
- idx_ uint
-}
-
-func initStartPosQueue(self *startPosQueue) {
- self.idx_ = 0
-}
-
-func startPosQueueSize(self *startPosQueue) uint {
- return brotli_min_size_t(self.idx_, 8)
-}
-
-func startPosQueuePush(self *startPosQueue, posdata *posData) {
- var offset uint = ^(self.idx_) & 7
- self.idx_++
- var len uint = startPosQueueSize(self)
- var i uint
- var q []posData = self.q_[:]
- q[offset] = *posdata
-
- /* Restore the sorted order. In the list of |len| items at most |len - 1|
- adjacent element comparisons / swaps are required. */
- for i = 1; i < len; i++ {
- if q[offset&7].costdiff > q[(offset+1)&7].costdiff {
- var tmp posData = q[offset&7]
- q[offset&7] = q[(offset+1)&7]
- q[(offset+1)&7] = tmp
- }
-
- offset++
- }
-}
-
-func startPosQueueAt(self *startPosQueue, k uint) *posData {
- return &self.q_[(k-self.idx_)&7]
-}
-
-/* Returns the minimum possible copy length that can improve the cost of any */
-/* future position. */
-func computeMinimumCopyLength(start_cost float32, nodes []zopfliNode, num_bytes uint, pos uint) uint {
- var min_cost float32 = start_cost
- var len uint = 2
- var next_len_bucket uint = 4
- /* Compute the minimum possible cost of reaching any future position. */
-
- var next_len_offset uint = 10
- for pos+len <= num_bytes && nodes[pos+len].u.cost <= min_cost {
- /* We already reached (pos + len) with no more cost than the minimum
- possible cost of reaching anything from this pos, so there is no point in
- looking for lengths <= len. */
- len++
-
- if len == next_len_offset {
- /* We reached the next copy length code bucket, so we add one more
- extra bit to the minimum cost. */
- min_cost += 1.0
-
- next_len_offset += next_len_bucket
- next_len_bucket *= 2
- }
- }
-
- return uint(len)
-}
-
-/* REQUIRES: nodes[pos].cost < kInfinity
- REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */
-func computeDistanceShortcut(block_start uint, pos uint, max_backward_limit uint, gap uint, nodes []zopfliNode) uint32 {
- var clen uint = uint(zopfliNodeCopyLength(&nodes[pos]))
- var ilen uint = uint(nodes[pos].dcode_insert_length & 0x7FFFFFF)
- var dist uint = uint(zopfliNodeCopyDistance(&nodes[pos]))
-
- /* Since |block_start + pos| is the end position of the command, the copy part
- starts from |block_start + pos - clen|. Distances that are greater than
- this or greater than |max_backward_limit| + |gap| are static dictionary
- references, and do not update the last distances.
- Also distance code 0 (last distance) does not update the last distances. */
- if pos == 0 {
- return 0
- } else if dist+clen <= block_start+pos+gap && dist <= max_backward_limit+gap && zopfliNodeDistanceCode(&nodes[pos]) > 0 {
- return uint32(pos)
- } else {
- return nodes[pos-clen-ilen].u.shortcut
- }
-}
-
-/* Fills in dist_cache[0..3] with the last four distances (as defined by
- Section 4. of the Spec) that would be used at (block_start + pos) if we
- used the shortest path of commands from block_start, computed from
- nodes[0..pos]. The last four distances at block_start are in
- starting_dist_cache[0..3].
- REQUIRES: nodes[pos].cost < kInfinity
- REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */
-func computeDistanceCache(pos uint, starting_dist_cache []int, nodes []zopfliNode, dist_cache []int) {
- var idx int = 0
- var p uint = uint(nodes[pos].u.shortcut)
- for idx < 4 && p > 0 {
- var ilen uint = uint(nodes[p].dcode_insert_length & 0x7FFFFFF)
- var clen uint = uint(zopfliNodeCopyLength(&nodes[p]))
- var dist uint = uint(zopfliNodeCopyDistance(&nodes[p]))
- dist_cache[idx] = int(dist)
- idx++
-
- /* Because of prerequisite, p >= clen + ilen >= 2. */
- p = uint(nodes[p-clen-ilen].u.shortcut)
- }
-
- for ; idx < 4; idx++ {
- dist_cache[idx] = starting_dist_cache[0]
- starting_dist_cache = starting_dist_cache[1:]
- }
-}
-
-/* Maintains "ZopfliNode array invariant" and pushes node to the queue, if it
- is eligible. */
-func evaluateNode(block_start uint, pos uint, max_backward_limit uint, gap uint, starting_dist_cache []int, model *zopfliCostModel, queue *startPosQueue, nodes []zopfliNode) {
- /* Save cost, because ComputeDistanceCache invalidates it. */
- var node_cost float32 = nodes[pos].u.cost
- nodes[pos].u.shortcut = computeDistanceShortcut(block_start, pos, max_backward_limit, gap, nodes)
- if node_cost <= zopfliCostModelGetLiteralCosts(model, 0, pos) {
- var posdata posData
- posdata.pos = pos
- posdata.cost = node_cost
- posdata.costdiff = node_cost - zopfliCostModelGetLiteralCosts(model, 0, pos)
- computeDistanceCache(pos, starting_dist_cache, nodes, posdata.distance_cache[:])
- startPosQueuePush(queue, &posdata)
- }
-}
-
-/* Returns longest copy length. */
-func updateNodes(num_bytes uint, block_start uint, pos uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, max_backward_limit uint, starting_dist_cache []int, num_matches uint, matches []backwardMatch, model *zopfliCostModel, queue *startPosQueue, nodes []zopfliNode) uint {
- var cur_ix uint = block_start + pos
- var cur_ix_masked uint = cur_ix & ringbuffer_mask
- var max_distance uint = brotli_min_size_t(cur_ix, max_backward_limit)
- var max_len uint = num_bytes - pos
- var max_zopfli_len uint = maxZopfliLen(params)
- var max_iters uint = maxZopfliCandidates(params)
- var min_len uint
- var result uint = 0
- var k uint
- var gap uint = 0
-
- evaluateNode(block_start, pos, max_backward_limit, gap, starting_dist_cache, model, queue, nodes)
- {
- var posdata *posData = startPosQueueAt(queue, 0)
- var min_cost float32 = (posdata.cost + zopfliCostModelGetMinCostCmd(model) + zopfliCostModelGetLiteralCosts(model, posdata.pos, pos))
- min_len = computeMinimumCopyLength(min_cost, nodes, num_bytes, pos)
- }
-
- /* Go over the command starting positions in order of increasing cost
- difference. */
- for k = 0; k < max_iters && k < startPosQueueSize(queue); k++ {
- var posdata *posData = startPosQueueAt(queue, k)
- var start uint = posdata.pos
- var inscode uint16 = getInsertLengthCode(pos - start)
- var start_costdiff float32 = posdata.costdiff
- var base_cost float32 = start_costdiff + float32(getInsertExtra(inscode)) + zopfliCostModelGetLiteralCosts(model, 0, pos)
- var best_len uint = min_len - 1
- var j uint = 0
- /* Look for last distance matches using the distance cache from this
- starting position. */
- for ; j < numDistanceShortCodes && best_len < max_len; j++ {
- var idx uint = uint(kDistanceCacheIndex[j])
- var backward uint = uint(posdata.distance_cache[idx] + kDistanceCacheOffset[j])
- var prev_ix uint = cur_ix - backward
- var len uint = 0
- var continuation byte = ringbuffer[cur_ix_masked+best_len]
- if cur_ix_masked+best_len > ringbuffer_mask {
- break
- }
-
- if backward > max_distance+gap {
- /* Word dictionary -> ignore. */
- continue
- }
-
- if backward <= max_distance {
- /* Regular backward reference. */
- if prev_ix >= cur_ix {
- continue
- }
-
- prev_ix &= ringbuffer_mask
- if prev_ix+best_len > ringbuffer_mask || continuation != ringbuffer[prev_ix+best_len] {
- continue
- }
-
- len = findMatchLengthWithLimit(ringbuffer[prev_ix:], ringbuffer[cur_ix_masked:], max_len)
- } else {
- continue
- }
- {
- var dist_cost float32 = base_cost + zopfliCostModelGetDistanceCost(model, j)
- var l uint
- for l = best_len + 1; l <= len; l++ {
- var copycode uint16 = getCopyLengthCode(l)
- var cmdcode uint16 = combineLengthCodes(inscode, copycode, j == 0)
- var tmp float32
- if cmdcode < 128 {
- tmp = base_cost
- } else {
- tmp = dist_cost
- }
- var cost float32 = tmp + float32(getCopyExtra(copycode)) + zopfliCostModelGetCommandCost(model, cmdcode)
- if cost < nodes[pos+l].u.cost {
- updateZopfliNode(nodes, pos, start, l, l, backward, j+1, cost)
- result = brotli_max_size_t(result, l)
- }
-
- best_len = l
- }
- }
- }
-
- /* At higher iterations look only for new last distance matches, since
- looking only for new command start positions with the same distances
- does not help much. */
- if k >= 2 {
- continue
- }
- {
- /* Loop through all possible copy lengths at this position. */
- var len uint = min_len
- for j = 0; j < num_matches; j++ {
- var match backwardMatch = matches[j]
- var dist uint = uint(match.distance)
- var is_dictionary_match bool = (dist > max_distance+gap)
- var dist_code uint = dist + numDistanceShortCodes - 1
- var dist_symbol uint16
- var distextra uint32
- var distnumextra uint32
- var dist_cost float32
- var max_match_len uint
- /* We already tried all possible last distance matches, so we can use
- normal distance code here. */
- prefixEncodeCopyDistance(dist_code, uint(params.dist.num_direct_distance_codes), uint(params.dist.distance_postfix_bits), &dist_symbol, &distextra)
-
- distnumextra = uint32(dist_symbol) >> 10
- dist_cost = base_cost + float32(distnumextra) + zopfliCostModelGetDistanceCost(model, uint(dist_symbol)&0x3FF)
-
- /* Try all copy lengths up until the maximum copy length corresponding
- to this distance. If the distance refers to the static dictionary, or
- the maximum length is long enough, try only one maximum length. */
- max_match_len = backwardMatchLength(&match)
-
- if len < max_match_len && (is_dictionary_match || max_match_len > max_zopfli_len) {
- len = max_match_len
- }
-
- for ; len <= max_match_len; len++ {
- var len_code uint
- if is_dictionary_match {
- len_code = backwardMatchLengthCode(&match)
- } else {
- len_code = len
- }
- var copycode uint16 = getCopyLengthCode(len_code)
- var cmdcode uint16 = combineLengthCodes(inscode, copycode, false)
- var cost float32 = dist_cost + float32(getCopyExtra(copycode)) + zopfliCostModelGetCommandCost(model, cmdcode)
- if cost < nodes[pos+len].u.cost {
- updateZopfliNode(nodes, pos, start, uint(len), len_code, dist, 0, cost)
- if len > result {
- result = len
- }
- }
- }
- }
- }
- }
-
- return result
-}
-
-func computeShortestPathFromNodes(num_bytes uint, nodes []zopfliNode) uint {
- var index uint = num_bytes
- var num_commands uint = 0
- for nodes[index].dcode_insert_length&0x7FFFFFF == 0 && nodes[index].length == 1 {
- index--
- }
- nodes[index].u.next = math.MaxUint32
- for index != 0 {
- var len uint = uint(zopfliNodeCommandLength(&nodes[index]))
- index -= uint(len)
- nodes[index].u.next = uint32(len)
- num_commands++
- }
-
- return num_commands
-}
-
-/* REQUIRES: nodes != NULL and len(nodes) >= num_bytes + 1 */
-func zopfliCreateCommands(num_bytes uint, block_start uint, nodes []zopfliNode, dist_cache []int, last_insert_len *uint, params *encoderParams, commands *[]command, num_literals *uint) {
- var max_backward_limit uint = maxBackwardLimit(params.lgwin)
- var pos uint = 0
- var offset uint32 = nodes[0].u.next
- var i uint
- var gap uint = 0
- for i = 0; offset != math.MaxUint32; i++ {
- var next *zopfliNode = &nodes[uint32(pos)+offset]
- var copy_length uint = uint(zopfliNodeCopyLength(next))
- var insert_length uint = uint(next.dcode_insert_length & 0x7FFFFFF)
- pos += insert_length
- offset = next.u.next
- if i == 0 {
- insert_length += *last_insert_len
- *last_insert_len = 0
- }
- {
- var distance uint = uint(zopfliNodeCopyDistance(next))
- var len_code uint = uint(zopfliNodeLengthCode(next))
- var max_distance uint = brotli_min_size_t(block_start+pos, max_backward_limit)
- var is_dictionary bool = (distance > max_distance+gap)
- var dist_code uint = uint(zopfliNodeDistanceCode(next))
- *commands = append(*commands, makeCommand(¶ms.dist, insert_length, copy_length, int(len_code)-int(copy_length), dist_code))
-
- if !is_dictionary && dist_code > 0 {
- dist_cache[3] = dist_cache[2]
- dist_cache[2] = dist_cache[1]
- dist_cache[1] = dist_cache[0]
- dist_cache[0] = int(distance)
- }
- }
-
- *num_literals += insert_length
- pos += copy_length
- }
-
- *last_insert_len += num_bytes - pos
-}
-
-func zopfliIterate(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, gap uint, dist_cache []int, model *zopfliCostModel, num_matches []uint32, matches []backwardMatch, nodes []zopfliNode) uint {
- var max_backward_limit uint = maxBackwardLimit(params.lgwin)
- var max_zopfli_len uint = maxZopfliLen(params)
- var queue startPosQueue
- var cur_match_pos uint = 0
- var i uint
- nodes[0].length = 0
- nodes[0].u.cost = 0
- initStartPosQueue(&queue)
- for i = 0; i+3 < num_bytes; i++ {
- var skip uint = updateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask, params, max_backward_limit, dist_cache, uint(num_matches[i]), matches[cur_match_pos:], model, &queue, nodes)
- if skip < longCopyQuickStep {
- skip = 0
- }
- cur_match_pos += uint(num_matches[i])
- if num_matches[i] == 1 && backwardMatchLength(&matches[cur_match_pos-1]) > max_zopfli_len {
- skip = brotli_max_size_t(backwardMatchLength(&matches[cur_match_pos-1]), skip)
- }
-
- if skip > 1 {
- skip--
- for skip != 0 {
- i++
- if i+3 >= num_bytes {
- break
- }
- evaluateNode(position, i, max_backward_limit, gap, dist_cache, model, &queue, nodes)
- cur_match_pos += uint(num_matches[i])
- skip--
- }
- }
- }
-
- return computeShortestPathFromNodes(num_bytes, nodes)
-}
-
-/* Computes the shortest path of commands from position to at most
- position + num_bytes.
-
- On return, path->size() is the number of commands found and path[i] is the
- length of the i-th command (copy length plus insert length).
- Note that the sum of the lengths of all commands can be less than num_bytes.
-
- On return, the nodes[0..num_bytes] array will have the following
- "ZopfliNode array invariant":
- For each i in [1..num_bytes], if nodes[i].cost < kInfinity, then
- (1) nodes[i].copy_length() >= 2
- (2) nodes[i].command_length() <= i and
- (3) nodes[i - nodes[i].command_length()].cost < kInfinity
-
- REQUIRES: nodes != nil and len(nodes) >= num_bytes + 1 */
-func zopfliComputeShortestPath(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, dist_cache []int, hasher *h10, nodes []zopfliNode) uint {
- var max_backward_limit uint = maxBackwardLimit(params.lgwin)
- var max_zopfli_len uint = maxZopfliLen(params)
- var model zopfliCostModel
- var queue startPosQueue
- var matches [2 * (maxNumMatchesH10 + 64)]backwardMatch
- var store_end uint
- if num_bytes >= hasher.StoreLookahead() {
- store_end = position + num_bytes - hasher.StoreLookahead() + 1
- } else {
- store_end = position
- }
- var i uint
- var gap uint = 0
- var lz_matches_offset uint = 0
- nodes[0].length = 0
- nodes[0].u.cost = 0
- initZopfliCostModel(&model, ¶ms.dist, num_bytes)
- zopfliCostModelSetFromLiteralCosts(&model, position, ringbuffer, ringbuffer_mask)
- initStartPosQueue(&queue)
- for i = 0; i+hasher.HashTypeLength()-1 < num_bytes; i++ {
- var pos uint = position + i
- var max_distance uint = brotli_min_size_t(pos, max_backward_limit)
- var skip uint
- var num_matches uint
- num_matches = findAllMatchesH10(hasher, ¶ms.dictionary, ringbuffer, ringbuffer_mask, pos, num_bytes-i, max_distance, gap, params, matches[lz_matches_offset:])
- if num_matches > 0 && backwardMatchLength(&matches[num_matches-1]) > max_zopfli_len {
- matches[0] = matches[num_matches-1]
- num_matches = 1
- }
-
- skip = updateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask, params, max_backward_limit, dist_cache, num_matches, matches[:], &model, &queue, nodes)
- if skip < longCopyQuickStep {
- skip = 0
- }
- if num_matches == 1 && backwardMatchLength(&matches[0]) > max_zopfli_len {
- skip = brotli_max_size_t(backwardMatchLength(&matches[0]), skip)
- }
-
- if skip > 1 {
- /* Add the tail of the copy to the hasher. */
- hasher.StoreRange(ringbuffer, ringbuffer_mask, pos+1, brotli_min_size_t(pos+skip, store_end))
-
- skip--
- for skip != 0 {
- i++
- if i+hasher.HashTypeLength()-1 >= num_bytes {
- break
- }
- evaluateNode(position, i, max_backward_limit, gap, dist_cache, &model, &queue, nodes)
- skip--
- }
- }
- }
-
- cleanupZopfliCostModel(&model)
- return computeShortestPathFromNodes(num_bytes, nodes)
-}
-
-func createZopfliBackwardReferences(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, hasher *h10, dist_cache []int, last_insert_len *uint, commands *[]command, num_literals *uint) {
- var nodes []zopfliNode
- nodes = make([]zopfliNode, (num_bytes + 1))
- initZopfliNodes(nodes, num_bytes+1)
- zopfliComputeShortestPath(num_bytes, position, ringbuffer, ringbuffer_mask, params, dist_cache, hasher, nodes)
- zopfliCreateCommands(num_bytes, position, nodes, dist_cache, last_insert_len, params, commands, num_literals)
- nodes = nil
-}
-
-func createHqZopfliBackwardReferences(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint, params *encoderParams, hasher hasherHandle, dist_cache []int, last_insert_len *uint, commands *[]command, num_literals *uint) {
- var max_backward_limit uint = maxBackwardLimit(params.lgwin)
- var num_matches []uint32 = make([]uint32, num_bytes)
- var matches_size uint = 4 * num_bytes
- var store_end uint
- if num_bytes >= hasher.StoreLookahead() {
- store_end = position + num_bytes - hasher.StoreLookahead() + 1
- } else {
- store_end = position
- }
- var cur_match_pos uint = 0
- var i uint
- var orig_num_literals uint
- var orig_last_insert_len uint
- var orig_dist_cache [4]int
- var orig_num_commands int
- var model zopfliCostModel
- var nodes []zopfliNode
- var matches []backwardMatch = make([]backwardMatch, matches_size)
- var gap uint = 0
- var shadow_matches uint = 0
- var new_array []backwardMatch
- for i = 0; i+hasher.HashTypeLength()-1 < num_bytes; i++ {
- var pos uint = position + i
- var max_distance uint = brotli_min_size_t(pos, max_backward_limit)
- var max_length uint = num_bytes - i
- var num_found_matches uint
- var cur_match_end uint
- var j uint
-
- /* Ensure that we have enough free slots. */
- if matches_size < cur_match_pos+maxNumMatchesH10+shadow_matches {
- var new_size uint = matches_size
- if new_size == 0 {
- new_size = cur_match_pos + maxNumMatchesH10 + shadow_matches
- }
-
- for new_size < cur_match_pos+maxNumMatchesH10+shadow_matches {
- new_size *= 2
- }
-
- new_array = make([]backwardMatch, new_size)
- if matches_size != 0 {
- copy(new_array, matches[:matches_size])
- }
-
- matches = new_array
- matches_size = new_size
- }
-
- num_found_matches = findAllMatchesH10(hasher.(*h10), ¶ms.dictionary, ringbuffer, ringbuffer_mask, pos, max_length, max_distance, gap, params, matches[cur_match_pos+shadow_matches:])
- cur_match_end = cur_match_pos + num_found_matches
- for j = cur_match_pos; j+1 < cur_match_end; j++ {
- assert(backwardMatchLength(&matches[j]) <= backwardMatchLength(&matches[j+1]))
- }
-
- num_matches[i] = uint32(num_found_matches)
- if num_found_matches > 0 {
- var match_len uint = backwardMatchLength(&matches[cur_match_end-1])
- if match_len > maxZopfliLenQuality11 {
- var skip uint = match_len - 1
- matches[cur_match_pos] = matches[cur_match_end-1]
- cur_match_pos++
- num_matches[i] = 1
-
- /* Add the tail of the copy to the hasher. */
- hasher.StoreRange(ringbuffer, ringbuffer_mask, pos+1, brotli_min_size_t(pos+match_len, store_end))
- var pos uint = i
- for i := 0; i < int(skip); i++ {
- num_matches[pos+1:][i] = 0
- }
- i += skip
- } else {
- cur_match_pos = cur_match_end
- }
- }
- }
-
- orig_num_literals = *num_literals
- orig_last_insert_len = *last_insert_len
- copy(orig_dist_cache[:], dist_cache[:4])
- orig_num_commands = len(*commands)
- nodes = make([]zopfliNode, (num_bytes + 1))
- initZopfliCostModel(&model, ¶ms.dist, num_bytes)
- for i = 0; i < 2; i++ {
- initZopfliNodes(nodes, num_bytes+1)
- if i == 0 {
- zopfliCostModelSetFromLiteralCosts(&model, position, ringbuffer, ringbuffer_mask)
- } else {
- zopfliCostModelSetFromCommands(&model, position, ringbuffer, ringbuffer_mask, (*commands)[orig_num_commands:], orig_last_insert_len)
- }
-
- *commands = (*commands)[:orig_num_commands]
- *num_literals = orig_num_literals
- *last_insert_len = orig_last_insert_len
- copy(dist_cache, orig_dist_cache[:4])
- zopfliIterate(num_bytes, position, ringbuffer, ringbuffer_mask, params, gap, dist_cache, &model, num_matches, matches, nodes)
- zopfliCreateCommands(num_bytes, position, nodes, dist_cache, last_insert_len, params, commands, num_literals)
- }
-
- cleanupZopfliCostModel(&model)
- nodes = nil
- matches = nil
- num_matches = nil
-}
diff --git a/vendor/github.com/andybalholm/brotli/bit_cost.go b/vendor/github.com/andybalholm/brotli/bit_cost.go
deleted file mode 100644
index 0005fc15..00000000
--- a/vendor/github.com/andybalholm/brotli/bit_cost.go
+++ /dev/null
@@ -1,436 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Functions to estimate the bit cost of Huffman trees. */
-func shannonEntropy(population []uint32, size uint, total *uint) float64 {
- var sum uint = 0
- var retval float64 = 0
- var population_end []uint32 = population[size:]
- var p uint
- for -cap(population) < -cap(population_end) {
- p = uint(population[0])
- population = population[1:]
- sum += p
- retval -= float64(p) * fastLog2(p)
- }
-
- if sum != 0 {
- retval += float64(sum) * fastLog2(sum)
- }
- *total = sum
- return retval
-}
-
-func bitsEntropy(population []uint32, size uint) float64 {
- var sum uint
- var retval float64 = shannonEntropy(population, size, &sum)
- if retval < float64(sum) {
- /* At least one bit per literal is needed. */
- retval = float64(sum)
- }
-
- return retval
-}
-
-const kOneSymbolHistogramCost float64 = 12
-const kTwoSymbolHistogramCost float64 = 20
-const kThreeSymbolHistogramCost float64 = 28
-const kFourSymbolHistogramCost float64 = 37
-
-func populationCostLiteral(histogram *histogramLiteral) float64 {
- var data_size uint = histogramDataSizeLiteral()
- var count int = 0
- var s [5]uint
- var bits float64 = 0.0
- var i uint
- if histogram.total_count_ == 0 {
- return kOneSymbolHistogramCost
- }
-
- for i = 0; i < data_size; i++ {
- if histogram.data_[i] > 0 {
- s[count] = i
- count++
- if count > 4 {
- break
- }
- }
- }
-
- if count == 1 {
- return kOneSymbolHistogramCost
- }
-
- if count == 2 {
- return kTwoSymbolHistogramCost + float64(histogram.total_count_)
- }
-
- if count == 3 {
- var histo0 uint32 = histogram.data_[s[0]]
- var histo1 uint32 = histogram.data_[s[1]]
- var histo2 uint32 = histogram.data_[s[2]]
- var histomax uint32 = brotli_max_uint32_t(histo0, brotli_max_uint32_t(histo1, histo2))
- return kThreeSymbolHistogramCost + 2*(float64(histo0)+float64(histo1)+float64(histo2)) - float64(histomax)
- }
-
- if count == 4 {
- var histo [4]uint32
- var h23 uint32
- var histomax uint32
- for i = 0; i < 4; i++ {
- histo[i] = histogram.data_[s[i]]
- }
-
- /* Sort */
- for i = 0; i < 4; i++ {
- var j uint
- for j = i + 1; j < 4; j++ {
- if histo[j] > histo[i] {
- var tmp uint32 = histo[j]
- histo[j] = histo[i]
- histo[i] = tmp
- }
- }
- }
-
- h23 = histo[2] + histo[3]
- histomax = brotli_max_uint32_t(h23, histo[0])
- return kFourSymbolHistogramCost + 3*float64(h23) + 2*(float64(histo[0])+float64(histo[1])) - float64(histomax)
- }
- {
- var max_depth uint = 1
- var depth_histo = [codeLengthCodes]uint32{0}
- /* In this loop we compute the entropy of the histogram and simultaneously
- build a simplified histogram of the code length codes where we use the
- zero repeat code 17, but we don't use the non-zero repeat code 16. */
-
- var log2total float64 = fastLog2(histogram.total_count_)
- for i = 0; i < data_size; {
- if histogram.data_[i] > 0 {
- var log2p float64 = log2total - fastLog2(uint(histogram.data_[i]))
- /* Compute -log2(P(symbol)) = -log2(count(symbol)/total_count) =
- = log2(total_count) - log2(count(symbol)) */
-
- var depth uint = uint(log2p + 0.5)
- /* Approximate the bit depth by round(-log2(P(symbol))) */
- bits += float64(histogram.data_[i]) * log2p
-
- if depth > 15 {
- depth = 15
- }
-
- if depth > max_depth {
- max_depth = depth
- }
-
- depth_histo[depth]++
- i++
- } else {
- var reps uint32 = 1
- /* Compute the run length of zeros and add the appropriate number of 0
- and 17 code length codes to the code length code histogram. */
-
- var k uint
- for k = i + 1; k < data_size && histogram.data_[k] == 0; k++ {
- reps++
- }
-
- i += uint(reps)
- if i == data_size {
- /* Don't add any cost for the last zero run, since these are encoded
- only implicitly. */
- break
- }
-
- if reps < 3 {
- depth_histo[0] += reps
- } else {
- reps -= 2
- for reps > 0 {
- depth_histo[repeatZeroCodeLength]++
-
- /* Add the 3 extra bits for the 17 code length code. */
- bits += 3
-
- reps >>= 3
- }
- }
- }
- }
-
- /* Add the estimated encoding cost of the code length code histogram. */
- bits += float64(18 + 2*max_depth)
-
- /* Add the entropy of the code length code histogram. */
- bits += bitsEntropy(depth_histo[:], codeLengthCodes)
- }
-
- return bits
-}
-
-func populationCostCommand(histogram *histogramCommand) float64 {
- var data_size uint = histogramDataSizeCommand()
- var count int = 0
- var s [5]uint
- var bits float64 = 0.0
- var i uint
- if histogram.total_count_ == 0 {
- return kOneSymbolHistogramCost
- }
-
- for i = 0; i < data_size; i++ {
- if histogram.data_[i] > 0 {
- s[count] = i
- count++
- if count > 4 {
- break
- }
- }
- }
-
- if count == 1 {
- return kOneSymbolHistogramCost
- }
-
- if count == 2 {
- return kTwoSymbolHistogramCost + float64(histogram.total_count_)
- }
-
- if count == 3 {
- var histo0 uint32 = histogram.data_[s[0]]
- var histo1 uint32 = histogram.data_[s[1]]
- var histo2 uint32 = histogram.data_[s[2]]
- var histomax uint32 = brotli_max_uint32_t(histo0, brotli_max_uint32_t(histo1, histo2))
- return kThreeSymbolHistogramCost + 2*(float64(histo0)+float64(histo1)+float64(histo2)) - float64(histomax)
- }
-
- if count == 4 {
- var histo [4]uint32
- var h23 uint32
- var histomax uint32
- for i = 0; i < 4; i++ {
- histo[i] = histogram.data_[s[i]]
- }
-
- /* Sort */
- for i = 0; i < 4; i++ {
- var j uint
- for j = i + 1; j < 4; j++ {
- if histo[j] > histo[i] {
- var tmp uint32 = histo[j]
- histo[j] = histo[i]
- histo[i] = tmp
- }
- }
- }
-
- h23 = histo[2] + histo[3]
- histomax = brotli_max_uint32_t(h23, histo[0])
- return kFourSymbolHistogramCost + 3*float64(h23) + 2*(float64(histo[0])+float64(histo[1])) - float64(histomax)
- }
- {
- var max_depth uint = 1
- var depth_histo = [codeLengthCodes]uint32{0}
- /* In this loop we compute the entropy of the histogram and simultaneously
- build a simplified histogram of the code length codes where we use the
- zero repeat code 17, but we don't use the non-zero repeat code 16. */
-
- var log2total float64 = fastLog2(histogram.total_count_)
- for i = 0; i < data_size; {
- if histogram.data_[i] > 0 {
- var log2p float64 = log2total - fastLog2(uint(histogram.data_[i]))
- /* Compute -log2(P(symbol)) = -log2(count(symbol)/total_count) =
- = log2(total_count) - log2(count(symbol)) */
-
- var depth uint = uint(log2p + 0.5)
- /* Approximate the bit depth by round(-log2(P(symbol))) */
- bits += float64(histogram.data_[i]) * log2p
-
- if depth > 15 {
- depth = 15
- }
-
- if depth > max_depth {
- max_depth = depth
- }
-
- depth_histo[depth]++
- i++
- } else {
- var reps uint32 = 1
- /* Compute the run length of zeros and add the appropriate number of 0
- and 17 code length codes to the code length code histogram. */
-
- var k uint
- for k = i + 1; k < data_size && histogram.data_[k] == 0; k++ {
- reps++
- }
-
- i += uint(reps)
- if i == data_size {
- /* Don't add any cost for the last zero run, since these are encoded
- only implicitly. */
- break
- }
-
- if reps < 3 {
- depth_histo[0] += reps
- } else {
- reps -= 2
- for reps > 0 {
- depth_histo[repeatZeroCodeLength]++
-
- /* Add the 3 extra bits for the 17 code length code. */
- bits += 3
-
- reps >>= 3
- }
- }
- }
- }
-
- /* Add the estimated encoding cost of the code length code histogram. */
- bits += float64(18 + 2*max_depth)
-
- /* Add the entropy of the code length code histogram. */
- bits += bitsEntropy(depth_histo[:], codeLengthCodes)
- }
-
- return bits
-}
-
-func populationCostDistance(histogram *histogramDistance) float64 {
- var data_size uint = histogramDataSizeDistance()
- var count int = 0
- var s [5]uint
- var bits float64 = 0.0
- var i uint
- if histogram.total_count_ == 0 {
- return kOneSymbolHistogramCost
- }
-
- for i = 0; i < data_size; i++ {
- if histogram.data_[i] > 0 {
- s[count] = i
- count++
- if count > 4 {
- break
- }
- }
- }
-
- if count == 1 {
- return kOneSymbolHistogramCost
- }
-
- if count == 2 {
- return kTwoSymbolHistogramCost + float64(histogram.total_count_)
- }
-
- if count == 3 {
- var histo0 uint32 = histogram.data_[s[0]]
- var histo1 uint32 = histogram.data_[s[1]]
- var histo2 uint32 = histogram.data_[s[2]]
- var histomax uint32 = brotli_max_uint32_t(histo0, brotli_max_uint32_t(histo1, histo2))
- return kThreeSymbolHistogramCost + 2*(float64(histo0)+float64(histo1)+float64(histo2)) - float64(histomax)
- }
-
- if count == 4 {
- var histo [4]uint32
- var h23 uint32
- var histomax uint32
- for i = 0; i < 4; i++ {
- histo[i] = histogram.data_[s[i]]
- }
-
- /* Sort */
- for i = 0; i < 4; i++ {
- var j uint
- for j = i + 1; j < 4; j++ {
- if histo[j] > histo[i] {
- var tmp uint32 = histo[j]
- histo[j] = histo[i]
- histo[i] = tmp
- }
- }
- }
-
- h23 = histo[2] + histo[3]
- histomax = brotli_max_uint32_t(h23, histo[0])
- return kFourSymbolHistogramCost + 3*float64(h23) + 2*(float64(histo[0])+float64(histo[1])) - float64(histomax)
- }
- {
- var max_depth uint = 1
- var depth_histo = [codeLengthCodes]uint32{0}
- /* In this loop we compute the entropy of the histogram and simultaneously
- build a simplified histogram of the code length codes where we use the
- zero repeat code 17, but we don't use the non-zero repeat code 16. */
-
- var log2total float64 = fastLog2(histogram.total_count_)
- for i = 0; i < data_size; {
- if histogram.data_[i] > 0 {
- var log2p float64 = log2total - fastLog2(uint(histogram.data_[i]))
- /* Compute -log2(P(symbol)) = -log2(count(symbol)/total_count) =
- = log2(total_count) - log2(count(symbol)) */
-
- var depth uint = uint(log2p + 0.5)
- /* Approximate the bit depth by round(-log2(P(symbol))) */
- bits += float64(histogram.data_[i]) * log2p
-
- if depth > 15 {
- depth = 15
- }
-
- if depth > max_depth {
- max_depth = depth
- }
-
- depth_histo[depth]++
- i++
- } else {
- var reps uint32 = 1
- /* Compute the run length of zeros and add the appropriate number of 0
- and 17 code length codes to the code length code histogram. */
-
- var k uint
- for k = i + 1; k < data_size && histogram.data_[k] == 0; k++ {
- reps++
- }
-
- i += uint(reps)
- if i == data_size {
- /* Don't add any cost for the last zero run, since these are encoded
- only implicitly. */
- break
- }
-
- if reps < 3 {
- depth_histo[0] += reps
- } else {
- reps -= 2
- for reps > 0 {
- depth_histo[repeatZeroCodeLength]++
-
- /* Add the 3 extra bits for the 17 code length code. */
- bits += 3
-
- reps >>= 3
- }
- }
- }
- }
-
- /* Add the estimated encoding cost of the code length code histogram. */
- bits += float64(18 + 2*max_depth)
-
- /* Add the entropy of the code length code histogram. */
- bits += bitsEntropy(depth_histo[:], codeLengthCodes)
- }
-
- return bits
-}
diff --git a/vendor/github.com/andybalholm/brotli/bit_reader.go b/vendor/github.com/andybalholm/brotli/bit_reader.go
deleted file mode 100644
index fba8687c..00000000
--- a/vendor/github.com/andybalholm/brotli/bit_reader.go
+++ /dev/null
@@ -1,266 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Bit reading helpers */
-
-const shortFillBitWindowRead = (8 >> 1)
-
-var kBitMask = [33]uint32{
- 0x00000000,
- 0x00000001,
- 0x00000003,
- 0x00000007,
- 0x0000000F,
- 0x0000001F,
- 0x0000003F,
- 0x0000007F,
- 0x000000FF,
- 0x000001FF,
- 0x000003FF,
- 0x000007FF,
- 0x00000FFF,
- 0x00001FFF,
- 0x00003FFF,
- 0x00007FFF,
- 0x0000FFFF,
- 0x0001FFFF,
- 0x0003FFFF,
- 0x0007FFFF,
- 0x000FFFFF,
- 0x001FFFFF,
- 0x003FFFFF,
- 0x007FFFFF,
- 0x00FFFFFF,
- 0x01FFFFFF,
- 0x03FFFFFF,
- 0x07FFFFFF,
- 0x0FFFFFFF,
- 0x1FFFFFFF,
- 0x3FFFFFFF,
- 0x7FFFFFFF,
- 0xFFFFFFFF,
-}
-
-func bitMask(n uint32) uint32 {
- return kBitMask[n]
-}
-
-type bitReader struct {
- val_ uint64
- bit_pos_ uint32
- input []byte
- input_len uint
- byte_pos uint
-}
-
-type bitReaderState struct {
- val_ uint64
- bit_pos_ uint32
- input []byte
- input_len uint
- byte_pos uint
-}
-
-/* Initializes the BrotliBitReader fields. */
-
-/* Ensures that accumulator is not empty.
- May consume up to sizeof(brotli_reg_t) - 1 bytes of input.
- Returns false if data is required but there is no input available.
- For BROTLI_ALIGNED_READ this function also prepares bit reader for aligned
- reading. */
-func bitReaderSaveState(from *bitReader, to *bitReaderState) {
- to.val_ = from.val_
- to.bit_pos_ = from.bit_pos_
- to.input = from.input
- to.input_len = from.input_len
- to.byte_pos = from.byte_pos
-}
-
-func bitReaderRestoreState(to *bitReader, from *bitReaderState) {
- to.val_ = from.val_
- to.bit_pos_ = from.bit_pos_
- to.input = from.input
- to.input_len = from.input_len
- to.byte_pos = from.byte_pos
-}
-
-func getAvailableBits(br *bitReader) uint32 {
- return 64 - br.bit_pos_
-}
-
-/* Returns amount of unread bytes the bit reader still has buffered from the
- BrotliInput, including whole bytes in br->val_. */
-func getRemainingBytes(br *bitReader) uint {
- return uint(uint32(br.input_len-br.byte_pos) + (getAvailableBits(br) >> 3))
-}
-
-/* Checks if there is at least |num| bytes left in the input ring-buffer
- (excluding the bits remaining in br->val_). */
-func checkInputAmount(br *bitReader, num uint) bool {
- return br.input_len-br.byte_pos >= num
-}
-
-/* Guarantees that there are at least |n_bits| + 1 bits in accumulator.
- Precondition: accumulator contains at least 1 bit.
- |n_bits| should be in the range [1..24] for regular build. For portable
- non-64-bit little-endian build only 16 bits are safe to request. */
-func fillBitWindow(br *bitReader, n_bits uint32) {
- if br.bit_pos_ >= 32 {
- br.val_ >>= 32
- br.bit_pos_ ^= 32 /* here same as -= 32 because of the if condition */
- br.val_ |= (uint64(binary.LittleEndian.Uint32(br.input[br.byte_pos:]))) << 32
- br.byte_pos += 4
- }
-}
-
-/* Mostly like BrotliFillBitWindow, but guarantees only 16 bits and reads no
- more than BROTLI_SHORT_FILL_BIT_WINDOW_READ bytes of input. */
-func fillBitWindow16(br *bitReader) {
- fillBitWindow(br, 17)
-}
-
-/* Tries to pull one byte of input to accumulator.
- Returns false if there is no input available. */
-func pullByte(br *bitReader) bool {
- if br.byte_pos == br.input_len {
- return false
- }
-
- br.val_ >>= 8
- br.val_ |= (uint64(br.input[br.byte_pos])) << 56
- br.bit_pos_ -= 8
- br.byte_pos++
- return true
-}
-
-/* Returns currently available bits.
- The number of valid bits could be calculated by BrotliGetAvailableBits. */
-func getBitsUnmasked(br *bitReader) uint64 {
- return br.val_ >> br.bit_pos_
-}
-
-/* Like BrotliGetBits, but does not mask the result.
- The result contains at least 16 valid bits. */
-func get16BitsUnmasked(br *bitReader) uint32 {
- fillBitWindow(br, 16)
- return uint32(getBitsUnmasked(br))
-}
-
-/* Returns the specified number of bits from |br| without advancing bit
- position. */
-func getBits(br *bitReader, n_bits uint32) uint32 {
- fillBitWindow(br, n_bits)
- return uint32(getBitsUnmasked(br)) & bitMask(n_bits)
-}
-
-/* Tries to peek the specified amount of bits. Returns false, if there
- is not enough input. */
-func safeGetBits(br *bitReader, n_bits uint32, val *uint32) bool {
- for getAvailableBits(br) < n_bits {
- if !pullByte(br) {
- return false
- }
- }
-
- *val = uint32(getBitsUnmasked(br)) & bitMask(n_bits)
- return true
-}
-
-/* Advances the bit pos by |n_bits|. */
-func dropBits(br *bitReader, n_bits uint32) {
- br.bit_pos_ += n_bits
-}
-
-func bitReaderUnload(br *bitReader) {
- var unused_bytes uint32 = getAvailableBits(br) >> 3
- var unused_bits uint32 = unused_bytes << 3
- br.byte_pos -= uint(unused_bytes)
- if unused_bits == 64 {
- br.val_ = 0
- } else {
- br.val_ <<= unused_bits
- }
-
- br.bit_pos_ += unused_bits
-}
-
-/* Reads the specified number of bits from |br| and advances the bit pos.
- Precondition: accumulator MUST contain at least |n_bits|. */
-func takeBits(br *bitReader, n_bits uint32, val *uint32) {
- *val = uint32(getBitsUnmasked(br)) & bitMask(n_bits)
- dropBits(br, n_bits)
-}
-
-/* Reads the specified number of bits from |br| and advances the bit pos.
- Assumes that there is enough input to perform BrotliFillBitWindow. */
-func readBits(br *bitReader, n_bits uint32) uint32 {
- var val uint32
- fillBitWindow(br, n_bits)
- takeBits(br, n_bits, &val)
- return val
-}
-
-/* Tries to read the specified amount of bits. Returns false, if there
- is not enough input. |n_bits| MUST be positive. */
-func safeReadBits(br *bitReader, n_bits uint32, val *uint32) bool {
- for getAvailableBits(br) < n_bits {
- if !pullByte(br) {
- return false
- }
- }
-
- takeBits(br, n_bits, val)
- return true
-}
-
-/* Advances the bit reader position to the next byte boundary and verifies
- that any skipped bits are set to zero. */
-func bitReaderJumpToByteBoundary(br *bitReader) bool {
- var pad_bits_count uint32 = getAvailableBits(br) & 0x7
- var pad_bits uint32 = 0
- if pad_bits_count != 0 {
- takeBits(br, pad_bits_count, &pad_bits)
- }
-
- return pad_bits == 0
-}
-
-/* Copies remaining input bytes stored in the bit reader to the output. Value
- |num| may not be larger than BrotliGetRemainingBytes. The bit reader must be
- warmed up again after this. */
-func copyBytes(dest []byte, br *bitReader, num uint) {
- for getAvailableBits(br) >= 8 && num > 0 {
- dest[0] = byte(getBitsUnmasked(br))
- dropBits(br, 8)
- dest = dest[1:]
- num--
- }
-
- copy(dest, br.input[br.byte_pos:][:num])
- br.byte_pos += num
-}
-
-func initBitReader(br *bitReader) {
- br.val_ = 0
- br.bit_pos_ = 64
-}
-
-func warmupBitReader(br *bitReader) bool {
- /* Fixing alignment after unaligned BrotliFillWindow would result accumulator
- overflow. If unalignment is caused by BrotliSafeReadBits, then there is
- enough space in accumulator to fix alignment. */
- if getAvailableBits(br) == 0 {
- if !pullByte(br) {
- return false
- }
- }
-
- return true
-}
diff --git a/vendor/github.com/andybalholm/brotli/block_splitter.go b/vendor/github.com/andybalholm/brotli/block_splitter.go
deleted file mode 100644
index 978a1314..00000000
--- a/vendor/github.com/andybalholm/brotli/block_splitter.go
+++ /dev/null
@@ -1,144 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Block split point selection utilities. */
-
-type blockSplit struct {
- num_types uint
- num_blocks uint
- types []byte
- lengths []uint32
- types_alloc_size uint
- lengths_alloc_size uint
-}
-
-const (
- kMaxLiteralHistograms uint = 100
- kMaxCommandHistograms uint = 50
- kLiteralBlockSwitchCost float64 = 28.1
- kCommandBlockSwitchCost float64 = 13.5
- kDistanceBlockSwitchCost float64 = 14.6
- kLiteralStrideLength uint = 70
- kCommandStrideLength uint = 40
- kSymbolsPerLiteralHistogram uint = 544
- kSymbolsPerCommandHistogram uint = 530
- kSymbolsPerDistanceHistogram uint = 544
- kMinLengthForBlockSplitting uint = 128
- kIterMulForRefining uint = 2
- kMinItersForRefining uint = 100
-)
-
-func countLiterals(cmds []command) uint {
- var total_length uint = 0
- /* Count how many we have. */
-
- for i := range cmds {
- total_length += uint(cmds[i].insert_len_)
- }
-
- return total_length
-}
-
-func copyLiteralsToByteArray(cmds []command, data []byte, offset uint, mask uint, literals []byte) {
- var pos uint = 0
- var from_pos uint = offset & mask
- for i := range cmds {
- var insert_len uint = uint(cmds[i].insert_len_)
- if from_pos+insert_len > mask {
- var head_size uint = mask + 1 - from_pos
- copy(literals[pos:], data[from_pos:][:head_size])
- from_pos = 0
- pos += head_size
- insert_len -= head_size
- }
-
- if insert_len > 0 {
- copy(literals[pos:], data[from_pos:][:insert_len])
- pos += insert_len
- }
-
- from_pos = uint((uint32(from_pos+insert_len) + commandCopyLen(&cmds[i])) & uint32(mask))
- }
-}
-
-func myRand(seed *uint32) uint32 {
- /* Initial seed should be 7. In this case, loop length is (1 << 29). */
- *seed *= 16807
-
- return *seed
-}
-
-func bitCost(count uint) float64 {
- if count == 0 {
- return -2.0
- } else {
- return fastLog2(count)
- }
-}
-
-const histogramsPerBatch = 64
-
-const clustersPerBatch = 16
-
-func initBlockSplit(self *blockSplit) {
- self.num_types = 0
- self.num_blocks = 0
- self.types = self.types[:0]
- self.lengths = self.lengths[:0]
- self.types_alloc_size = 0
- self.lengths_alloc_size = 0
-}
-
-func splitBlock(cmds []command, data []byte, pos uint, mask uint, params *encoderParams, literal_split *blockSplit, insert_and_copy_split *blockSplit, dist_split *blockSplit) {
- {
- var literals_count uint = countLiterals(cmds)
- var literals []byte = make([]byte, literals_count)
-
- /* Create a continuous array of literals. */
- copyLiteralsToByteArray(cmds, data, pos, mask, literals)
-
- /* Create the block split on the array of literals.
- Literal histograms have alphabet size 256. */
- splitByteVectorLiteral(literals, literals_count, kSymbolsPerLiteralHistogram, kMaxLiteralHistograms, kLiteralStrideLength, kLiteralBlockSwitchCost, params, literal_split)
-
- literals = nil
- }
- {
- var insert_and_copy_codes []uint16 = make([]uint16, len(cmds))
- /* Compute prefix codes for commands. */
-
- for i := range cmds {
- insert_and_copy_codes[i] = cmds[i].cmd_prefix_
- }
-
- /* Create the block split on the array of command prefixes. */
- splitByteVectorCommand(insert_and_copy_codes, kSymbolsPerCommandHistogram, kMaxCommandHistograms, kCommandStrideLength, kCommandBlockSwitchCost, params, insert_and_copy_split)
-
- /* TODO: reuse for distances? */
-
- insert_and_copy_codes = nil
- }
- {
- var distance_prefixes []uint16 = make([]uint16, len(cmds))
- var j uint = 0
- /* Create a continuous array of distance prefixes. */
-
- for i := range cmds {
- var cmd *command = &cmds[i]
- if commandCopyLen(cmd) != 0 && cmd.cmd_prefix_ >= 128 {
- distance_prefixes[j] = cmd.dist_prefix_ & 0x3FF
- j++
- }
- }
-
- /* Create the block split on the array of distance prefixes. */
- splitByteVectorDistance(distance_prefixes, j, kSymbolsPerDistanceHistogram, kMaxCommandHistograms, kCommandStrideLength, kDistanceBlockSwitchCost, params, dist_split)
-
- distance_prefixes = nil
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/block_splitter_command.go b/vendor/github.com/andybalholm/brotli/block_splitter_command.go
deleted file mode 100644
index 9dec13e4..00000000
--- a/vendor/github.com/andybalholm/brotli/block_splitter_command.go
+++ /dev/null
@@ -1,434 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func initialEntropyCodesCommand(data []uint16, length uint, stride uint, num_histograms uint, histograms []histogramCommand) {
- var seed uint32 = 7
- var block_length uint = length / num_histograms
- var i uint
- clearHistogramsCommand(histograms, num_histograms)
- for i = 0; i < num_histograms; i++ {
- var pos uint = length * i / num_histograms
- if i != 0 {
- pos += uint(myRand(&seed) % uint32(block_length))
- }
-
- if pos+stride >= length {
- pos = length - stride - 1
- }
-
- histogramAddVectorCommand(&histograms[i], data[pos:], stride)
- }
-}
-
-func randomSampleCommand(seed *uint32, data []uint16, length uint, stride uint, sample *histogramCommand) {
- var pos uint = 0
- if stride >= length {
- stride = length
- } else {
- pos = uint(myRand(seed) % uint32(length-stride+1))
- }
-
- histogramAddVectorCommand(sample, data[pos:], stride)
-}
-
-func refineEntropyCodesCommand(data []uint16, length uint, stride uint, num_histograms uint, histograms []histogramCommand) {
- var iters uint = kIterMulForRefining*length/stride + kMinItersForRefining
- var seed uint32 = 7
- var iter uint
- iters = ((iters + num_histograms - 1) / num_histograms) * num_histograms
- for iter = 0; iter < iters; iter++ {
- var sample histogramCommand
- histogramClearCommand(&sample)
- randomSampleCommand(&seed, data, length, stride, &sample)
- histogramAddHistogramCommand(&histograms[iter%num_histograms], &sample)
- }
-}
-
-/* Assigns a block id from the range [0, num_histograms) to each data element
- in data[0..length) and fills in block_id[0..length) with the assigned values.
- Returns the number of blocks, i.e. one plus the number of block switches. */
-func findBlocksCommand(data []uint16, length uint, block_switch_bitcost float64, num_histograms uint, histograms []histogramCommand, insert_cost []float64, cost []float64, switch_signal []byte, block_id []byte) uint {
- var data_size uint = histogramDataSizeCommand()
- var bitmaplen uint = (num_histograms + 7) >> 3
- var num_blocks uint = 1
- var i uint
- var j uint
- assert(num_histograms <= 256)
- if num_histograms <= 1 {
- for i = 0; i < length; i++ {
- block_id[i] = 0
- }
-
- return 1
- }
-
- for i := 0; i < int(data_size*num_histograms); i++ {
- insert_cost[i] = 0
- }
- for i = 0; i < num_histograms; i++ {
- insert_cost[i] = fastLog2(uint(uint32(histograms[i].total_count_)))
- }
-
- for i = data_size; i != 0; {
- i--
- for j = 0; j < num_histograms; j++ {
- insert_cost[i*num_histograms+j] = insert_cost[j] - bitCost(uint(histograms[j].data_[i]))
- }
- }
-
- for i := 0; i < int(num_histograms); i++ {
- cost[i] = 0
- }
- for i := 0; i < int(length*bitmaplen); i++ {
- switch_signal[i] = 0
- }
-
- /* After each iteration of this loop, cost[k] will contain the difference
- between the minimum cost of arriving at the current byte position using
- entropy code k, and the minimum cost of arriving at the current byte
- position. This difference is capped at the block switch cost, and if it
- reaches block switch cost, it means that when we trace back from the last
- position, we need to switch here. */
- for i = 0; i < length; i++ {
- var byte_ix uint = i
- var ix uint = byte_ix * bitmaplen
- var insert_cost_ix uint = uint(data[byte_ix]) * num_histograms
- var min_cost float64 = 1e99
- var block_switch_cost float64 = block_switch_bitcost
- var k uint
- for k = 0; k < num_histograms; k++ {
- /* We are coding the symbol in data[byte_ix] with entropy code k. */
- cost[k] += insert_cost[insert_cost_ix+k]
-
- if cost[k] < min_cost {
- min_cost = cost[k]
- block_id[byte_ix] = byte(k)
- }
- }
-
- /* More blocks for the beginning. */
- if byte_ix < 2000 {
- block_switch_cost *= 0.77 + 0.07*float64(byte_ix)/2000
- }
-
- for k = 0; k < num_histograms; k++ {
- cost[k] -= min_cost
- if cost[k] >= block_switch_cost {
- var mask byte = byte(1 << (k & 7))
- cost[k] = block_switch_cost
- assert(k>>3 < bitmaplen)
- switch_signal[ix+(k>>3)] |= mask
- /* Trace back from the last position and switch at the marked places. */
- }
- }
- }
- {
- var byte_ix uint = length - 1
- var ix uint = byte_ix * bitmaplen
- var cur_id byte = block_id[byte_ix]
- for byte_ix > 0 {
- var mask byte = byte(1 << (cur_id & 7))
- assert(uint(cur_id)>>3 < bitmaplen)
- byte_ix--
- ix -= bitmaplen
- if switch_signal[ix+uint(cur_id>>3)]&mask != 0 {
- if cur_id != block_id[byte_ix] {
- cur_id = block_id[byte_ix]
- num_blocks++
- }
- }
-
- block_id[byte_ix] = cur_id
- }
- }
-
- return num_blocks
-}
-
-var remapBlockIdsCommand_kInvalidId uint16 = 256
-
-func remapBlockIdsCommand(block_ids []byte, length uint, new_id []uint16, num_histograms uint) uint {
- var next_id uint16 = 0
- var i uint
- for i = 0; i < num_histograms; i++ {
- new_id[i] = remapBlockIdsCommand_kInvalidId
- }
-
- for i = 0; i < length; i++ {
- assert(uint(block_ids[i]) < num_histograms)
- if new_id[block_ids[i]] == remapBlockIdsCommand_kInvalidId {
- new_id[block_ids[i]] = next_id
- next_id++
- }
- }
-
- for i = 0; i < length; i++ {
- block_ids[i] = byte(new_id[block_ids[i]])
- assert(uint(block_ids[i]) < num_histograms)
- }
-
- assert(uint(next_id) <= num_histograms)
- return uint(next_id)
-}
-
-func buildBlockHistogramsCommand(data []uint16, length uint, block_ids []byte, num_histograms uint, histograms []histogramCommand) {
- var i uint
- clearHistogramsCommand(histograms, num_histograms)
- for i = 0; i < length; i++ {
- histogramAddCommand(&histograms[block_ids[i]], uint(data[i]))
- }
-}
-
-var clusterBlocksCommand_kInvalidIndex uint32 = math.MaxUint32
-
-func clusterBlocksCommand(data []uint16, length uint, num_blocks uint, block_ids []byte, split *blockSplit) {
- var histogram_symbols []uint32 = make([]uint32, num_blocks)
- var block_lengths []uint32 = make([]uint32, num_blocks)
- var expected_num_clusters uint = clustersPerBatch * (num_blocks + histogramsPerBatch - 1) / histogramsPerBatch
- var all_histograms_size uint = 0
- var all_histograms_capacity uint = expected_num_clusters
- var all_histograms []histogramCommand = make([]histogramCommand, all_histograms_capacity)
- var cluster_size_size uint = 0
- var cluster_size_capacity uint = expected_num_clusters
- var cluster_size []uint32 = make([]uint32, cluster_size_capacity)
- var num_clusters uint = 0
- var histograms []histogramCommand = make([]histogramCommand, brotli_min_size_t(num_blocks, histogramsPerBatch))
- var max_num_pairs uint = histogramsPerBatch * histogramsPerBatch / 2
- var pairs_capacity uint = max_num_pairs + 1
- var pairs []histogramPair = make([]histogramPair, pairs_capacity)
- var pos uint = 0
- var clusters []uint32
- var num_final_clusters uint
- var new_index []uint32
- var i uint
- var sizes = [histogramsPerBatch]uint32{0}
- var new_clusters = [histogramsPerBatch]uint32{0}
- var symbols = [histogramsPerBatch]uint32{0}
- var remap = [histogramsPerBatch]uint32{0}
-
- for i := 0; i < int(num_blocks); i++ {
- block_lengths[i] = 0
- }
- {
- var block_idx uint = 0
- for i = 0; i < length; i++ {
- assert(block_idx < num_blocks)
- block_lengths[block_idx]++
- if i+1 == length || block_ids[i] != block_ids[i+1] {
- block_idx++
- }
- }
-
- assert(block_idx == num_blocks)
- }
-
- for i = 0; i < num_blocks; i += histogramsPerBatch {
- var num_to_combine uint = brotli_min_size_t(num_blocks-i, histogramsPerBatch)
- var num_new_clusters uint
- var j uint
- for j = 0; j < num_to_combine; j++ {
- var k uint
- histogramClearCommand(&histograms[j])
- for k = 0; uint32(k) < block_lengths[i+j]; k++ {
- histogramAddCommand(&histograms[j], uint(data[pos]))
- pos++
- }
-
- histograms[j].bit_cost_ = populationCostCommand(&histograms[j])
- new_clusters[j] = uint32(j)
- symbols[j] = uint32(j)
- sizes[j] = 1
- }
-
- num_new_clusters = histogramCombineCommand(histograms, sizes[:], symbols[:], new_clusters[:], []histogramPair(pairs), num_to_combine, num_to_combine, histogramsPerBatch, max_num_pairs)
- if all_histograms_capacity < (all_histograms_size + num_new_clusters) {
- var _new_size uint
- if all_histograms_capacity == 0 {
- _new_size = all_histograms_size + num_new_clusters
- } else {
- _new_size = all_histograms_capacity
- }
- var new_array []histogramCommand
- for _new_size < (all_histograms_size + num_new_clusters) {
- _new_size *= 2
- }
- new_array = make([]histogramCommand, _new_size)
- if all_histograms_capacity != 0 {
- copy(new_array, all_histograms[:all_histograms_capacity])
- }
-
- all_histograms = new_array
- all_histograms_capacity = _new_size
- }
-
- brotli_ensure_capacity_uint32_t(&cluster_size, &cluster_size_capacity, cluster_size_size+num_new_clusters)
- for j = 0; j < num_new_clusters; j++ {
- all_histograms[all_histograms_size] = histograms[new_clusters[j]]
- all_histograms_size++
- cluster_size[cluster_size_size] = sizes[new_clusters[j]]
- cluster_size_size++
- remap[new_clusters[j]] = uint32(j)
- }
-
- for j = 0; j < num_to_combine; j++ {
- histogram_symbols[i+j] = uint32(num_clusters) + remap[symbols[j]]
- }
-
- num_clusters += num_new_clusters
- assert(num_clusters == cluster_size_size)
- assert(num_clusters == all_histograms_size)
- }
-
- histograms = nil
-
- max_num_pairs = brotli_min_size_t(64*num_clusters, (num_clusters/2)*num_clusters)
- if pairs_capacity < max_num_pairs+1 {
- pairs = nil
- pairs = make([]histogramPair, (max_num_pairs + 1))
- }
-
- clusters = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- clusters[i] = uint32(i)
- }
-
- num_final_clusters = histogramCombineCommand(all_histograms, cluster_size, histogram_symbols, clusters, pairs, num_clusters, num_blocks, maxNumberOfBlockTypes, max_num_pairs)
- pairs = nil
- cluster_size = nil
-
- new_index = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- new_index[i] = clusterBlocksCommand_kInvalidIndex
- }
- pos = 0
- {
- var next_index uint32 = 0
- for i = 0; i < num_blocks; i++ {
- var histo histogramCommand
- var j uint
- var best_out uint32
- var best_bits float64
- histogramClearCommand(&histo)
- for j = 0; uint32(j) < block_lengths[i]; j++ {
- histogramAddCommand(&histo, uint(data[pos]))
- pos++
- }
-
- if i == 0 {
- best_out = histogram_symbols[0]
- } else {
- best_out = histogram_symbols[i-1]
- }
- best_bits = histogramBitCostDistanceCommand(&histo, &all_histograms[best_out])
- for j = 0; j < num_final_clusters; j++ {
- var cur_bits float64 = histogramBitCostDistanceCommand(&histo, &all_histograms[clusters[j]])
- if cur_bits < best_bits {
- best_bits = cur_bits
- best_out = clusters[j]
- }
- }
-
- histogram_symbols[i] = best_out
- if new_index[best_out] == clusterBlocksCommand_kInvalidIndex {
- new_index[best_out] = next_index
- next_index++
- }
- }
- }
-
- clusters = nil
- all_histograms = nil
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, num_blocks)
- {
- var cur_length uint32 = 0
- var block_idx uint = 0
- var max_type byte = 0
- for i = 0; i < num_blocks; i++ {
- cur_length += block_lengths[i]
- if i+1 == num_blocks || histogram_symbols[i] != histogram_symbols[i+1] {
- var id byte = byte(new_index[histogram_symbols[i]])
- split.types[block_idx] = id
- split.lengths[block_idx] = cur_length
- max_type = brotli_max_uint8_t(max_type, id)
- cur_length = 0
- block_idx++
- }
- }
-
- split.num_blocks = block_idx
- split.num_types = uint(max_type) + 1
- }
-
- new_index = nil
- block_lengths = nil
- histogram_symbols = nil
-}
-
-func splitByteVectorCommand(data []uint16, literals_per_histogram uint, max_histograms uint, sampling_stride_length uint, block_switch_cost float64, params *encoderParams, split *blockSplit) {
- length := uint(len(data))
- var data_size uint = histogramDataSizeCommand()
- var num_histograms uint = length/literals_per_histogram + 1
- var histograms []histogramCommand
- if num_histograms > max_histograms {
- num_histograms = max_histograms
- }
-
- if length == 0 {
- split.num_types = 1
- return
- } else if length < kMinLengthForBlockSplitting {
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, split.num_blocks+1)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, split.num_blocks+1)
- split.num_types = 1
- split.types[split.num_blocks] = 0
- split.lengths[split.num_blocks] = uint32(length)
- split.num_blocks++
- return
- }
-
- histograms = make([]histogramCommand, num_histograms)
-
- /* Find good entropy codes. */
- initialEntropyCodesCommand(data, length, sampling_stride_length, num_histograms, histograms)
-
- refineEntropyCodesCommand(data, length, sampling_stride_length, num_histograms, histograms)
- {
- var block_ids []byte = make([]byte, length)
- var num_blocks uint = 0
- var bitmaplen uint = (num_histograms + 7) >> 3
- var insert_cost []float64 = make([]float64, (data_size * num_histograms))
- var cost []float64 = make([]float64, num_histograms)
- var switch_signal []byte = make([]byte, (length * bitmaplen))
- var new_id []uint16 = make([]uint16, num_histograms)
- var iters uint
- if params.quality < hqZopflificationQuality {
- iters = 3
- } else {
- iters = 10
- }
- /* Find a good path through literals with the good entropy codes. */
-
- var i uint
- for i = 0; i < iters; i++ {
- num_blocks = findBlocksCommand(data, length, block_switch_cost, num_histograms, histograms, insert_cost, cost, switch_signal, block_ids)
- num_histograms = remapBlockIdsCommand(block_ids, length, new_id, num_histograms)
- buildBlockHistogramsCommand(data, length, block_ids, num_histograms, histograms)
- }
-
- insert_cost = nil
- cost = nil
- switch_signal = nil
- new_id = nil
- histograms = nil
- clusterBlocksCommand(data, length, num_blocks, block_ids, split)
- block_ids = nil
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/block_splitter_distance.go b/vendor/github.com/andybalholm/brotli/block_splitter_distance.go
deleted file mode 100644
index 953530d5..00000000
--- a/vendor/github.com/andybalholm/brotli/block_splitter_distance.go
+++ /dev/null
@@ -1,433 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func initialEntropyCodesDistance(data []uint16, length uint, stride uint, num_histograms uint, histograms []histogramDistance) {
- var seed uint32 = 7
- var block_length uint = length / num_histograms
- var i uint
- clearHistogramsDistance(histograms, num_histograms)
- for i = 0; i < num_histograms; i++ {
- var pos uint = length * i / num_histograms
- if i != 0 {
- pos += uint(myRand(&seed) % uint32(block_length))
- }
-
- if pos+stride >= length {
- pos = length - stride - 1
- }
-
- histogramAddVectorDistance(&histograms[i], data[pos:], stride)
- }
-}
-
-func randomSampleDistance(seed *uint32, data []uint16, length uint, stride uint, sample *histogramDistance) {
- var pos uint = 0
- if stride >= length {
- stride = length
- } else {
- pos = uint(myRand(seed) % uint32(length-stride+1))
- }
-
- histogramAddVectorDistance(sample, data[pos:], stride)
-}
-
-func refineEntropyCodesDistance(data []uint16, length uint, stride uint, num_histograms uint, histograms []histogramDistance) {
- var iters uint = kIterMulForRefining*length/stride + kMinItersForRefining
- var seed uint32 = 7
- var iter uint
- iters = ((iters + num_histograms - 1) / num_histograms) * num_histograms
- for iter = 0; iter < iters; iter++ {
- var sample histogramDistance
- histogramClearDistance(&sample)
- randomSampleDistance(&seed, data, length, stride, &sample)
- histogramAddHistogramDistance(&histograms[iter%num_histograms], &sample)
- }
-}
-
-/* Assigns a block id from the range [0, num_histograms) to each data element
- in data[0..length) and fills in block_id[0..length) with the assigned values.
- Returns the number of blocks, i.e. one plus the number of block switches. */
-func findBlocksDistance(data []uint16, length uint, block_switch_bitcost float64, num_histograms uint, histograms []histogramDistance, insert_cost []float64, cost []float64, switch_signal []byte, block_id []byte) uint {
- var data_size uint = histogramDataSizeDistance()
- var bitmaplen uint = (num_histograms + 7) >> 3
- var num_blocks uint = 1
- var i uint
- var j uint
- assert(num_histograms <= 256)
- if num_histograms <= 1 {
- for i = 0; i < length; i++ {
- block_id[i] = 0
- }
-
- return 1
- }
-
- for i := 0; i < int(data_size*num_histograms); i++ {
- insert_cost[i] = 0
- }
- for i = 0; i < num_histograms; i++ {
- insert_cost[i] = fastLog2(uint(uint32(histograms[i].total_count_)))
- }
-
- for i = data_size; i != 0; {
- i--
- for j = 0; j < num_histograms; j++ {
- insert_cost[i*num_histograms+j] = insert_cost[j] - bitCost(uint(histograms[j].data_[i]))
- }
- }
-
- for i := 0; i < int(num_histograms); i++ {
- cost[i] = 0
- }
- for i := 0; i < int(length*bitmaplen); i++ {
- switch_signal[i] = 0
- }
-
- /* After each iteration of this loop, cost[k] will contain the difference
- between the minimum cost of arriving at the current byte position using
- entropy code k, and the minimum cost of arriving at the current byte
- position. This difference is capped at the block switch cost, and if it
- reaches block switch cost, it means that when we trace back from the last
- position, we need to switch here. */
- for i = 0; i < length; i++ {
- var byte_ix uint = i
- var ix uint = byte_ix * bitmaplen
- var insert_cost_ix uint = uint(data[byte_ix]) * num_histograms
- var min_cost float64 = 1e99
- var block_switch_cost float64 = block_switch_bitcost
- var k uint
- for k = 0; k < num_histograms; k++ {
- /* We are coding the symbol in data[byte_ix] with entropy code k. */
- cost[k] += insert_cost[insert_cost_ix+k]
-
- if cost[k] < min_cost {
- min_cost = cost[k]
- block_id[byte_ix] = byte(k)
- }
- }
-
- /* More blocks for the beginning. */
- if byte_ix < 2000 {
- block_switch_cost *= 0.77 + 0.07*float64(byte_ix)/2000
- }
-
- for k = 0; k < num_histograms; k++ {
- cost[k] -= min_cost
- if cost[k] >= block_switch_cost {
- var mask byte = byte(1 << (k & 7))
- cost[k] = block_switch_cost
- assert(k>>3 < bitmaplen)
- switch_signal[ix+(k>>3)] |= mask
- /* Trace back from the last position and switch at the marked places. */
- }
- }
- }
- {
- var byte_ix uint = length - 1
- var ix uint = byte_ix * bitmaplen
- var cur_id byte = block_id[byte_ix]
- for byte_ix > 0 {
- var mask byte = byte(1 << (cur_id & 7))
- assert(uint(cur_id)>>3 < bitmaplen)
- byte_ix--
- ix -= bitmaplen
- if switch_signal[ix+uint(cur_id>>3)]&mask != 0 {
- if cur_id != block_id[byte_ix] {
- cur_id = block_id[byte_ix]
- num_blocks++
- }
- }
-
- block_id[byte_ix] = cur_id
- }
- }
-
- return num_blocks
-}
-
-var remapBlockIdsDistance_kInvalidId uint16 = 256
-
-func remapBlockIdsDistance(block_ids []byte, length uint, new_id []uint16, num_histograms uint) uint {
- var next_id uint16 = 0
- var i uint
- for i = 0; i < num_histograms; i++ {
- new_id[i] = remapBlockIdsDistance_kInvalidId
- }
-
- for i = 0; i < length; i++ {
- assert(uint(block_ids[i]) < num_histograms)
- if new_id[block_ids[i]] == remapBlockIdsDistance_kInvalidId {
- new_id[block_ids[i]] = next_id
- next_id++
- }
- }
-
- for i = 0; i < length; i++ {
- block_ids[i] = byte(new_id[block_ids[i]])
- assert(uint(block_ids[i]) < num_histograms)
- }
-
- assert(uint(next_id) <= num_histograms)
- return uint(next_id)
-}
-
-func buildBlockHistogramsDistance(data []uint16, length uint, block_ids []byte, num_histograms uint, histograms []histogramDistance) {
- var i uint
- clearHistogramsDistance(histograms, num_histograms)
- for i = 0; i < length; i++ {
- histogramAddDistance(&histograms[block_ids[i]], uint(data[i]))
- }
-}
-
-var clusterBlocksDistance_kInvalidIndex uint32 = math.MaxUint32
-
-func clusterBlocksDistance(data []uint16, length uint, num_blocks uint, block_ids []byte, split *blockSplit) {
- var histogram_symbols []uint32 = make([]uint32, num_blocks)
- var block_lengths []uint32 = make([]uint32, num_blocks)
- var expected_num_clusters uint = clustersPerBatch * (num_blocks + histogramsPerBatch - 1) / histogramsPerBatch
- var all_histograms_size uint = 0
- var all_histograms_capacity uint = expected_num_clusters
- var all_histograms []histogramDistance = make([]histogramDistance, all_histograms_capacity)
- var cluster_size_size uint = 0
- var cluster_size_capacity uint = expected_num_clusters
- var cluster_size []uint32 = make([]uint32, cluster_size_capacity)
- var num_clusters uint = 0
- var histograms []histogramDistance = make([]histogramDistance, brotli_min_size_t(num_blocks, histogramsPerBatch))
- var max_num_pairs uint = histogramsPerBatch * histogramsPerBatch / 2
- var pairs_capacity uint = max_num_pairs + 1
- var pairs []histogramPair = make([]histogramPair, pairs_capacity)
- var pos uint = 0
- var clusters []uint32
- var num_final_clusters uint
- var new_index []uint32
- var i uint
- var sizes = [histogramsPerBatch]uint32{0}
- var new_clusters = [histogramsPerBatch]uint32{0}
- var symbols = [histogramsPerBatch]uint32{0}
- var remap = [histogramsPerBatch]uint32{0}
-
- for i := 0; i < int(num_blocks); i++ {
- block_lengths[i] = 0
- }
- {
- var block_idx uint = 0
- for i = 0; i < length; i++ {
- assert(block_idx < num_blocks)
- block_lengths[block_idx]++
- if i+1 == length || block_ids[i] != block_ids[i+1] {
- block_idx++
- }
- }
-
- assert(block_idx == num_blocks)
- }
-
- for i = 0; i < num_blocks; i += histogramsPerBatch {
- var num_to_combine uint = brotli_min_size_t(num_blocks-i, histogramsPerBatch)
- var num_new_clusters uint
- var j uint
- for j = 0; j < num_to_combine; j++ {
- var k uint
- histogramClearDistance(&histograms[j])
- for k = 0; uint32(k) < block_lengths[i+j]; k++ {
- histogramAddDistance(&histograms[j], uint(data[pos]))
- pos++
- }
-
- histograms[j].bit_cost_ = populationCostDistance(&histograms[j])
- new_clusters[j] = uint32(j)
- symbols[j] = uint32(j)
- sizes[j] = 1
- }
-
- num_new_clusters = histogramCombineDistance(histograms, sizes[:], symbols[:], new_clusters[:], []histogramPair(pairs), num_to_combine, num_to_combine, histogramsPerBatch, max_num_pairs)
- if all_histograms_capacity < (all_histograms_size + num_new_clusters) {
- var _new_size uint
- if all_histograms_capacity == 0 {
- _new_size = all_histograms_size + num_new_clusters
- } else {
- _new_size = all_histograms_capacity
- }
- var new_array []histogramDistance
- for _new_size < (all_histograms_size + num_new_clusters) {
- _new_size *= 2
- }
- new_array = make([]histogramDistance, _new_size)
- if all_histograms_capacity != 0 {
- copy(new_array, all_histograms[:all_histograms_capacity])
- }
-
- all_histograms = new_array
- all_histograms_capacity = _new_size
- }
-
- brotli_ensure_capacity_uint32_t(&cluster_size, &cluster_size_capacity, cluster_size_size+num_new_clusters)
- for j = 0; j < num_new_clusters; j++ {
- all_histograms[all_histograms_size] = histograms[new_clusters[j]]
- all_histograms_size++
- cluster_size[cluster_size_size] = sizes[new_clusters[j]]
- cluster_size_size++
- remap[new_clusters[j]] = uint32(j)
- }
-
- for j = 0; j < num_to_combine; j++ {
- histogram_symbols[i+j] = uint32(num_clusters) + remap[symbols[j]]
- }
-
- num_clusters += num_new_clusters
- assert(num_clusters == cluster_size_size)
- assert(num_clusters == all_histograms_size)
- }
-
- histograms = nil
-
- max_num_pairs = brotli_min_size_t(64*num_clusters, (num_clusters/2)*num_clusters)
- if pairs_capacity < max_num_pairs+1 {
- pairs = nil
- pairs = make([]histogramPair, (max_num_pairs + 1))
- }
-
- clusters = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- clusters[i] = uint32(i)
- }
-
- num_final_clusters = histogramCombineDistance(all_histograms, cluster_size, histogram_symbols, clusters, pairs, num_clusters, num_blocks, maxNumberOfBlockTypes, max_num_pairs)
- pairs = nil
- cluster_size = nil
-
- new_index = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- new_index[i] = clusterBlocksDistance_kInvalidIndex
- }
- pos = 0
- {
- var next_index uint32 = 0
- for i = 0; i < num_blocks; i++ {
- var histo histogramDistance
- var j uint
- var best_out uint32
- var best_bits float64
- histogramClearDistance(&histo)
- for j = 0; uint32(j) < block_lengths[i]; j++ {
- histogramAddDistance(&histo, uint(data[pos]))
- pos++
- }
-
- if i == 0 {
- best_out = histogram_symbols[0]
- } else {
- best_out = histogram_symbols[i-1]
- }
- best_bits = histogramBitCostDistanceDistance(&histo, &all_histograms[best_out])
- for j = 0; j < num_final_clusters; j++ {
- var cur_bits float64 = histogramBitCostDistanceDistance(&histo, &all_histograms[clusters[j]])
- if cur_bits < best_bits {
- best_bits = cur_bits
- best_out = clusters[j]
- }
- }
-
- histogram_symbols[i] = best_out
- if new_index[best_out] == clusterBlocksDistance_kInvalidIndex {
- new_index[best_out] = next_index
- next_index++
- }
- }
- }
-
- clusters = nil
- all_histograms = nil
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, num_blocks)
- {
- var cur_length uint32 = 0
- var block_idx uint = 0
- var max_type byte = 0
- for i = 0; i < num_blocks; i++ {
- cur_length += block_lengths[i]
- if i+1 == num_blocks || histogram_symbols[i] != histogram_symbols[i+1] {
- var id byte = byte(new_index[histogram_symbols[i]])
- split.types[block_idx] = id
- split.lengths[block_idx] = cur_length
- max_type = brotli_max_uint8_t(max_type, id)
- cur_length = 0
- block_idx++
- }
- }
-
- split.num_blocks = block_idx
- split.num_types = uint(max_type) + 1
- }
-
- new_index = nil
- block_lengths = nil
- histogram_symbols = nil
-}
-
-func splitByteVectorDistance(data []uint16, length uint, literals_per_histogram uint, max_histograms uint, sampling_stride_length uint, block_switch_cost float64, params *encoderParams, split *blockSplit) {
- var data_size uint = histogramDataSizeDistance()
- var num_histograms uint = length/literals_per_histogram + 1
- var histograms []histogramDistance
- if num_histograms > max_histograms {
- num_histograms = max_histograms
- }
-
- if length == 0 {
- split.num_types = 1
- return
- } else if length < kMinLengthForBlockSplitting {
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, split.num_blocks+1)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, split.num_blocks+1)
- split.num_types = 1
- split.types[split.num_blocks] = 0
- split.lengths[split.num_blocks] = uint32(length)
- split.num_blocks++
- return
- }
-
- histograms = make([]histogramDistance, num_histograms)
-
- /* Find good entropy codes. */
- initialEntropyCodesDistance(data, length, sampling_stride_length, num_histograms, histograms)
-
- refineEntropyCodesDistance(data, length, sampling_stride_length, num_histograms, histograms)
- {
- var block_ids []byte = make([]byte, length)
- var num_blocks uint = 0
- var bitmaplen uint = (num_histograms + 7) >> 3
- var insert_cost []float64 = make([]float64, (data_size * num_histograms))
- var cost []float64 = make([]float64, num_histograms)
- var switch_signal []byte = make([]byte, (length * bitmaplen))
- var new_id []uint16 = make([]uint16, num_histograms)
- var iters uint
- if params.quality < hqZopflificationQuality {
- iters = 3
- } else {
- iters = 10
- }
- /* Find a good path through literals with the good entropy codes. */
-
- var i uint
- for i = 0; i < iters; i++ {
- num_blocks = findBlocksDistance(data, length, block_switch_cost, num_histograms, histograms, insert_cost, cost, switch_signal, block_ids)
- num_histograms = remapBlockIdsDistance(block_ids, length, new_id, num_histograms)
- buildBlockHistogramsDistance(data, length, block_ids, num_histograms, histograms)
- }
-
- insert_cost = nil
- cost = nil
- switch_signal = nil
- new_id = nil
- histograms = nil
- clusterBlocksDistance(data, length, num_blocks, block_ids, split)
- block_ids = nil
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/block_splitter_literal.go b/vendor/github.com/andybalholm/brotli/block_splitter_literal.go
deleted file mode 100644
index 1c895cf3..00000000
--- a/vendor/github.com/andybalholm/brotli/block_splitter_literal.go
+++ /dev/null
@@ -1,433 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func initialEntropyCodesLiteral(data []byte, length uint, stride uint, num_histograms uint, histograms []histogramLiteral) {
- var seed uint32 = 7
- var block_length uint = length / num_histograms
- var i uint
- clearHistogramsLiteral(histograms, num_histograms)
- for i = 0; i < num_histograms; i++ {
- var pos uint = length * i / num_histograms
- if i != 0 {
- pos += uint(myRand(&seed) % uint32(block_length))
- }
-
- if pos+stride >= length {
- pos = length - stride - 1
- }
-
- histogramAddVectorLiteral(&histograms[i], data[pos:], stride)
- }
-}
-
-func randomSampleLiteral(seed *uint32, data []byte, length uint, stride uint, sample *histogramLiteral) {
- var pos uint = 0
- if stride >= length {
- stride = length
- } else {
- pos = uint(myRand(seed) % uint32(length-stride+1))
- }
-
- histogramAddVectorLiteral(sample, data[pos:], stride)
-}
-
-func refineEntropyCodesLiteral(data []byte, length uint, stride uint, num_histograms uint, histograms []histogramLiteral) {
- var iters uint = kIterMulForRefining*length/stride + kMinItersForRefining
- var seed uint32 = 7
- var iter uint
- iters = ((iters + num_histograms - 1) / num_histograms) * num_histograms
- for iter = 0; iter < iters; iter++ {
- var sample histogramLiteral
- histogramClearLiteral(&sample)
- randomSampleLiteral(&seed, data, length, stride, &sample)
- histogramAddHistogramLiteral(&histograms[iter%num_histograms], &sample)
- }
-}
-
-/* Assigns a block id from the range [0, num_histograms) to each data element
- in data[0..length) and fills in block_id[0..length) with the assigned values.
- Returns the number of blocks, i.e. one plus the number of block switches. */
-func findBlocksLiteral(data []byte, length uint, block_switch_bitcost float64, num_histograms uint, histograms []histogramLiteral, insert_cost []float64, cost []float64, switch_signal []byte, block_id []byte) uint {
- var data_size uint = histogramDataSizeLiteral()
- var bitmaplen uint = (num_histograms + 7) >> 3
- var num_blocks uint = 1
- var i uint
- var j uint
- assert(num_histograms <= 256)
- if num_histograms <= 1 {
- for i = 0; i < length; i++ {
- block_id[i] = 0
- }
-
- return 1
- }
-
- for i := 0; i < int(data_size*num_histograms); i++ {
- insert_cost[i] = 0
- }
- for i = 0; i < num_histograms; i++ {
- insert_cost[i] = fastLog2(uint(uint32(histograms[i].total_count_)))
- }
-
- for i = data_size; i != 0; {
- i--
- for j = 0; j < num_histograms; j++ {
- insert_cost[i*num_histograms+j] = insert_cost[j] - bitCost(uint(histograms[j].data_[i]))
- }
- }
-
- for i := 0; i < int(num_histograms); i++ {
- cost[i] = 0
- }
- for i := 0; i < int(length*bitmaplen); i++ {
- switch_signal[i] = 0
- }
-
- /* After each iteration of this loop, cost[k] will contain the difference
- between the minimum cost of arriving at the current byte position using
- entropy code k, and the minimum cost of arriving at the current byte
- position. This difference is capped at the block switch cost, and if it
- reaches block switch cost, it means that when we trace back from the last
- position, we need to switch here. */
- for i = 0; i < length; i++ {
- var byte_ix uint = i
- var ix uint = byte_ix * bitmaplen
- var insert_cost_ix uint = uint(data[byte_ix]) * num_histograms
- var min_cost float64 = 1e99
- var block_switch_cost float64 = block_switch_bitcost
- var k uint
- for k = 0; k < num_histograms; k++ {
- /* We are coding the symbol in data[byte_ix] with entropy code k. */
- cost[k] += insert_cost[insert_cost_ix+k]
-
- if cost[k] < min_cost {
- min_cost = cost[k]
- block_id[byte_ix] = byte(k)
- }
- }
-
- /* More blocks for the beginning. */
- if byte_ix < 2000 {
- block_switch_cost *= 0.77 + 0.07*float64(byte_ix)/2000
- }
-
- for k = 0; k < num_histograms; k++ {
- cost[k] -= min_cost
- if cost[k] >= block_switch_cost {
- var mask byte = byte(1 << (k & 7))
- cost[k] = block_switch_cost
- assert(k>>3 < bitmaplen)
- switch_signal[ix+(k>>3)] |= mask
- /* Trace back from the last position and switch at the marked places. */
- }
- }
- }
- {
- var byte_ix uint = length - 1
- var ix uint = byte_ix * bitmaplen
- var cur_id byte = block_id[byte_ix]
- for byte_ix > 0 {
- var mask byte = byte(1 << (cur_id & 7))
- assert(uint(cur_id)>>3 < bitmaplen)
- byte_ix--
- ix -= bitmaplen
- if switch_signal[ix+uint(cur_id>>3)]&mask != 0 {
- if cur_id != block_id[byte_ix] {
- cur_id = block_id[byte_ix]
- num_blocks++
- }
- }
-
- block_id[byte_ix] = cur_id
- }
- }
-
- return num_blocks
-}
-
-var remapBlockIdsLiteral_kInvalidId uint16 = 256
-
-func remapBlockIdsLiteral(block_ids []byte, length uint, new_id []uint16, num_histograms uint) uint {
- var next_id uint16 = 0
- var i uint
- for i = 0; i < num_histograms; i++ {
- new_id[i] = remapBlockIdsLiteral_kInvalidId
- }
-
- for i = 0; i < length; i++ {
- assert(uint(block_ids[i]) < num_histograms)
- if new_id[block_ids[i]] == remapBlockIdsLiteral_kInvalidId {
- new_id[block_ids[i]] = next_id
- next_id++
- }
- }
-
- for i = 0; i < length; i++ {
- block_ids[i] = byte(new_id[block_ids[i]])
- assert(uint(block_ids[i]) < num_histograms)
- }
-
- assert(uint(next_id) <= num_histograms)
- return uint(next_id)
-}
-
-func buildBlockHistogramsLiteral(data []byte, length uint, block_ids []byte, num_histograms uint, histograms []histogramLiteral) {
- var i uint
- clearHistogramsLiteral(histograms, num_histograms)
- for i = 0; i < length; i++ {
- histogramAddLiteral(&histograms[block_ids[i]], uint(data[i]))
- }
-}
-
-var clusterBlocksLiteral_kInvalidIndex uint32 = math.MaxUint32
-
-func clusterBlocksLiteral(data []byte, length uint, num_blocks uint, block_ids []byte, split *blockSplit) {
- var histogram_symbols []uint32 = make([]uint32, num_blocks)
- var block_lengths []uint32 = make([]uint32, num_blocks)
- var expected_num_clusters uint = clustersPerBatch * (num_blocks + histogramsPerBatch - 1) / histogramsPerBatch
- var all_histograms_size uint = 0
- var all_histograms_capacity uint = expected_num_clusters
- var all_histograms []histogramLiteral = make([]histogramLiteral, all_histograms_capacity)
- var cluster_size_size uint = 0
- var cluster_size_capacity uint = expected_num_clusters
- var cluster_size []uint32 = make([]uint32, cluster_size_capacity)
- var num_clusters uint = 0
- var histograms []histogramLiteral = make([]histogramLiteral, brotli_min_size_t(num_blocks, histogramsPerBatch))
- var max_num_pairs uint = histogramsPerBatch * histogramsPerBatch / 2
- var pairs_capacity uint = max_num_pairs + 1
- var pairs []histogramPair = make([]histogramPair, pairs_capacity)
- var pos uint = 0
- var clusters []uint32
- var num_final_clusters uint
- var new_index []uint32
- var i uint
- var sizes = [histogramsPerBatch]uint32{0}
- var new_clusters = [histogramsPerBatch]uint32{0}
- var symbols = [histogramsPerBatch]uint32{0}
- var remap = [histogramsPerBatch]uint32{0}
-
- for i := 0; i < int(num_blocks); i++ {
- block_lengths[i] = 0
- }
- {
- var block_idx uint = 0
- for i = 0; i < length; i++ {
- assert(block_idx < num_blocks)
- block_lengths[block_idx]++
- if i+1 == length || block_ids[i] != block_ids[i+1] {
- block_idx++
- }
- }
-
- assert(block_idx == num_blocks)
- }
-
- for i = 0; i < num_blocks; i += histogramsPerBatch {
- var num_to_combine uint = brotli_min_size_t(num_blocks-i, histogramsPerBatch)
- var num_new_clusters uint
- var j uint
- for j = 0; j < num_to_combine; j++ {
- var k uint
- histogramClearLiteral(&histograms[j])
- for k = 0; uint32(k) < block_lengths[i+j]; k++ {
- histogramAddLiteral(&histograms[j], uint(data[pos]))
- pos++
- }
-
- histograms[j].bit_cost_ = populationCostLiteral(&histograms[j])
- new_clusters[j] = uint32(j)
- symbols[j] = uint32(j)
- sizes[j] = 1
- }
-
- num_new_clusters = histogramCombineLiteral(histograms, sizes[:], symbols[:], new_clusters[:], []histogramPair(pairs), num_to_combine, num_to_combine, histogramsPerBatch, max_num_pairs)
- if all_histograms_capacity < (all_histograms_size + num_new_clusters) {
- var _new_size uint
- if all_histograms_capacity == 0 {
- _new_size = all_histograms_size + num_new_clusters
- } else {
- _new_size = all_histograms_capacity
- }
- var new_array []histogramLiteral
- for _new_size < (all_histograms_size + num_new_clusters) {
- _new_size *= 2
- }
- new_array = make([]histogramLiteral, _new_size)
- if all_histograms_capacity != 0 {
- copy(new_array, all_histograms[:all_histograms_capacity])
- }
-
- all_histograms = new_array
- all_histograms_capacity = _new_size
- }
-
- brotli_ensure_capacity_uint32_t(&cluster_size, &cluster_size_capacity, cluster_size_size+num_new_clusters)
- for j = 0; j < num_new_clusters; j++ {
- all_histograms[all_histograms_size] = histograms[new_clusters[j]]
- all_histograms_size++
- cluster_size[cluster_size_size] = sizes[new_clusters[j]]
- cluster_size_size++
- remap[new_clusters[j]] = uint32(j)
- }
-
- for j = 0; j < num_to_combine; j++ {
- histogram_symbols[i+j] = uint32(num_clusters) + remap[symbols[j]]
- }
-
- num_clusters += num_new_clusters
- assert(num_clusters == cluster_size_size)
- assert(num_clusters == all_histograms_size)
- }
-
- histograms = nil
-
- max_num_pairs = brotli_min_size_t(64*num_clusters, (num_clusters/2)*num_clusters)
- if pairs_capacity < max_num_pairs+1 {
- pairs = nil
- pairs = make([]histogramPair, (max_num_pairs + 1))
- }
-
- clusters = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- clusters[i] = uint32(i)
- }
-
- num_final_clusters = histogramCombineLiteral(all_histograms, cluster_size, histogram_symbols, clusters, pairs, num_clusters, num_blocks, maxNumberOfBlockTypes, max_num_pairs)
- pairs = nil
- cluster_size = nil
-
- new_index = make([]uint32, num_clusters)
- for i = 0; i < num_clusters; i++ {
- new_index[i] = clusterBlocksLiteral_kInvalidIndex
- }
- pos = 0
- {
- var next_index uint32 = 0
- for i = 0; i < num_blocks; i++ {
- var histo histogramLiteral
- var j uint
- var best_out uint32
- var best_bits float64
- histogramClearLiteral(&histo)
- for j = 0; uint32(j) < block_lengths[i]; j++ {
- histogramAddLiteral(&histo, uint(data[pos]))
- pos++
- }
-
- if i == 0 {
- best_out = histogram_symbols[0]
- } else {
- best_out = histogram_symbols[i-1]
- }
- best_bits = histogramBitCostDistanceLiteral(&histo, &all_histograms[best_out])
- for j = 0; j < num_final_clusters; j++ {
- var cur_bits float64 = histogramBitCostDistanceLiteral(&histo, &all_histograms[clusters[j]])
- if cur_bits < best_bits {
- best_bits = cur_bits
- best_out = clusters[j]
- }
- }
-
- histogram_symbols[i] = best_out
- if new_index[best_out] == clusterBlocksLiteral_kInvalidIndex {
- new_index[best_out] = next_index
- next_index++
- }
- }
- }
-
- clusters = nil
- all_histograms = nil
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, num_blocks)
- {
- var cur_length uint32 = 0
- var block_idx uint = 0
- var max_type byte = 0
- for i = 0; i < num_blocks; i++ {
- cur_length += block_lengths[i]
- if i+1 == num_blocks || histogram_symbols[i] != histogram_symbols[i+1] {
- var id byte = byte(new_index[histogram_symbols[i]])
- split.types[block_idx] = id
- split.lengths[block_idx] = cur_length
- max_type = brotli_max_uint8_t(max_type, id)
- cur_length = 0
- block_idx++
- }
- }
-
- split.num_blocks = block_idx
- split.num_types = uint(max_type) + 1
- }
-
- new_index = nil
- block_lengths = nil
- histogram_symbols = nil
-}
-
-func splitByteVectorLiteral(data []byte, length uint, literals_per_histogram uint, max_histograms uint, sampling_stride_length uint, block_switch_cost float64, params *encoderParams, split *blockSplit) {
- var data_size uint = histogramDataSizeLiteral()
- var num_histograms uint = length/literals_per_histogram + 1
- var histograms []histogramLiteral
- if num_histograms > max_histograms {
- num_histograms = max_histograms
- }
-
- if length == 0 {
- split.num_types = 1
- return
- } else if length < kMinLengthForBlockSplitting {
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, split.num_blocks+1)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, split.num_blocks+1)
- split.num_types = 1
- split.types[split.num_blocks] = 0
- split.lengths[split.num_blocks] = uint32(length)
- split.num_blocks++
- return
- }
-
- histograms = make([]histogramLiteral, num_histograms)
-
- /* Find good entropy codes. */
- initialEntropyCodesLiteral(data, length, sampling_stride_length, num_histograms, histograms)
-
- refineEntropyCodesLiteral(data, length, sampling_stride_length, num_histograms, histograms)
- {
- var block_ids []byte = make([]byte, length)
- var num_blocks uint = 0
- var bitmaplen uint = (num_histograms + 7) >> 3
- var insert_cost []float64 = make([]float64, (data_size * num_histograms))
- var cost []float64 = make([]float64, num_histograms)
- var switch_signal []byte = make([]byte, (length * bitmaplen))
- var new_id []uint16 = make([]uint16, num_histograms)
- var iters uint
- if params.quality < hqZopflificationQuality {
- iters = 3
- } else {
- iters = 10
- }
- /* Find a good path through literals with the good entropy codes. */
-
- var i uint
- for i = 0; i < iters; i++ {
- num_blocks = findBlocksLiteral(data, length, block_switch_cost, num_histograms, histograms, insert_cost, cost, switch_signal, block_ids)
- num_histograms = remapBlockIdsLiteral(block_ids, length, new_id, num_histograms)
- buildBlockHistogramsLiteral(data, length, block_ids, num_histograms, histograms)
- }
-
- insert_cost = nil
- cost = nil
- switch_signal = nil
- new_id = nil
- histograms = nil
- clusterBlocksLiteral(data, length, num_blocks, block_ids, split)
- block_ids = nil
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/brotli_bit_stream.go b/vendor/github.com/andybalholm/brotli/brotli_bit_stream.go
deleted file mode 100644
index 7acfb180..00000000
--- a/vendor/github.com/andybalholm/brotli/brotli_bit_stream.go
+++ /dev/null
@@ -1,1300 +0,0 @@
-package brotli
-
-import (
- "math"
- "sync"
-)
-
-const maxHuffmanTreeSize = (2*numCommandSymbols + 1)
-
-/* The maximum size of Huffman dictionary for distances assuming that
- NPOSTFIX = 0 and NDIRECT = 0. */
-const maxSimpleDistanceAlphabetSize = 140
-
-/* Represents the range of values belonging to a prefix code:
- [offset, offset + 2^nbits) */
-type prefixCodeRange struct {
- offset uint32
- nbits uint32
-}
-
-var kBlockLengthPrefixCode = [numBlockLenSymbols]prefixCodeRange{
- prefixCodeRange{1, 2},
- prefixCodeRange{5, 2},
- prefixCodeRange{9, 2},
- prefixCodeRange{13, 2},
- prefixCodeRange{17, 3},
- prefixCodeRange{25, 3},
- prefixCodeRange{33, 3},
- prefixCodeRange{41, 3},
- prefixCodeRange{49, 4},
- prefixCodeRange{65, 4},
- prefixCodeRange{81, 4},
- prefixCodeRange{97, 4},
- prefixCodeRange{113, 5},
- prefixCodeRange{145, 5},
- prefixCodeRange{177, 5},
- prefixCodeRange{209, 5},
- prefixCodeRange{241, 6},
- prefixCodeRange{305, 6},
- prefixCodeRange{369, 7},
- prefixCodeRange{497, 8},
- prefixCodeRange{753, 9},
- prefixCodeRange{1265, 10},
- prefixCodeRange{2289, 11},
- prefixCodeRange{4337, 12},
- prefixCodeRange{8433, 13},
- prefixCodeRange{16625, 24},
-}
-
-func blockLengthPrefixCode(len uint32) uint32 {
- var code uint32
- if len >= 177 {
- if len >= 753 {
- code = 20
- } else {
- code = 14
- }
- } else if len >= 41 {
- code = 7
- } else {
- code = 0
- }
- for code < (numBlockLenSymbols-1) && len >= kBlockLengthPrefixCode[code+1].offset {
- code++
- }
- return code
-}
-
-func getBlockLengthPrefixCode(len uint32, code *uint, n_extra *uint32, extra *uint32) {
- *code = uint(blockLengthPrefixCode(uint32(len)))
- *n_extra = kBlockLengthPrefixCode[*code].nbits
- *extra = len - kBlockLengthPrefixCode[*code].offset
-}
-
-type blockTypeCodeCalculator struct {
- last_type uint
- second_last_type uint
-}
-
-func initBlockTypeCodeCalculator(self *blockTypeCodeCalculator) {
- self.last_type = 1
- self.second_last_type = 0
-}
-
-func nextBlockTypeCode(calculator *blockTypeCodeCalculator, type_ byte) uint {
- var type_code uint
- if uint(type_) == calculator.last_type+1 {
- type_code = 1
- } else if uint(type_) == calculator.second_last_type {
- type_code = 0
- } else {
- type_code = uint(type_) + 2
- }
- calculator.second_last_type = calculator.last_type
- calculator.last_type = uint(type_)
- return type_code
-}
-
-/* |nibblesbits| represents the 2 bits to encode MNIBBLES (0-3)
- REQUIRES: length > 0
- REQUIRES: length <= (1 << 24) */
-func encodeMlen(length uint, bits *uint64, numbits *uint, nibblesbits *uint64) {
- var lg uint
- if length == 1 {
- lg = 1
- } else {
- lg = uint(log2FloorNonZero(uint(uint32(length-1)))) + 1
- }
- var tmp uint
- if lg < 16 {
- tmp = 16
- } else {
- tmp = (lg + 3)
- }
- var mnibbles uint = tmp / 4
- assert(length > 0)
- assert(length <= 1<<24)
- assert(lg <= 24)
- *nibblesbits = uint64(mnibbles) - 4
- *numbits = mnibbles * 4
- *bits = uint64(length) - 1
-}
-
-func storeCommandExtra(cmd *command, storage_ix *uint, storage []byte) {
- var copylen_code uint32 = commandCopyLenCode(cmd)
- var inscode uint16 = getInsertLengthCode(uint(cmd.insert_len_))
- var copycode uint16 = getCopyLengthCode(uint(copylen_code))
- var insnumextra uint32 = getInsertExtra(inscode)
- var insextraval uint64 = uint64(cmd.insert_len_) - uint64(getInsertBase(inscode))
- var copyextraval uint64 = uint64(copylen_code) - uint64(getCopyBase(copycode))
- var bits uint64 = copyextraval< 0
- REQUIRES: length <= (1 << 24) */
-func storeCompressedMetaBlockHeader(is_final_block bool, length uint, storage_ix *uint, storage []byte) {
- var lenbits uint64
- var nlenbits uint
- var nibblesbits uint64
- var is_final uint64
- if is_final_block {
- is_final = 1
- } else {
- is_final = 0
- }
-
- /* Write ISLAST bit. */
- writeBits(1, is_final, storage_ix, storage)
-
- /* Write ISEMPTY bit. */
- if is_final_block {
- writeBits(1, 0, storage_ix, storage)
- }
-
- encodeMlen(length, &lenbits, &nlenbits, &nibblesbits)
- writeBits(2, nibblesbits, storage_ix, storage)
- writeBits(nlenbits, lenbits, storage_ix, storage)
-
- if !is_final_block {
- /* Write ISUNCOMPRESSED bit. */
- writeBits(1, 0, storage_ix, storage)
- }
-}
-
-/* Stores the uncompressed meta-block header.
- REQUIRES: length > 0
- REQUIRES: length <= (1 << 24) */
-func storeUncompressedMetaBlockHeader(length uint, storage_ix *uint, storage []byte) {
- var lenbits uint64
- var nlenbits uint
- var nibblesbits uint64
-
- /* Write ISLAST bit.
- Uncompressed block cannot be the last one, so set to 0. */
- writeBits(1, 0, storage_ix, storage)
-
- encodeMlen(length, &lenbits, &nlenbits, &nibblesbits)
- writeBits(2, nibblesbits, storage_ix, storage)
- writeBits(nlenbits, lenbits, storage_ix, storage)
-
- /* Write ISUNCOMPRESSED bit. */
- writeBits(1, 1, storage_ix, storage)
-}
-
-var storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder = [codeLengthCodes]byte{1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15}
-
-var storeHuffmanTreeOfHuffmanTreeToBitMask_kHuffmanBitLengthHuffmanCodeSymbols = [6]byte{0, 7, 3, 2, 1, 15}
-var storeHuffmanTreeOfHuffmanTreeToBitMask_kHuffmanBitLengthHuffmanCodeBitLengths = [6]byte{2, 4, 3, 2, 2, 4}
-
-func storeHuffmanTreeOfHuffmanTreeToBitMask(num_codes int, code_length_bitdepth []byte, storage_ix *uint, storage []byte) {
- var skip_some uint = 0
- var codes_to_store uint = codeLengthCodes
- /* The bit lengths of the Huffman code over the code length alphabet
- are compressed with the following static Huffman code:
- Symbol Code
- ------ ----
- 0 00
- 1 1110
- 2 110
- 3 01
- 4 10
- 5 1111 */
-
- /* Throw away trailing zeros: */
- if num_codes > 1 {
- for ; codes_to_store > 0; codes_to_store-- {
- if code_length_bitdepth[storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder[codes_to_store-1]] != 0 {
- break
- }
- }
- }
-
- if code_length_bitdepth[storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder[0]] == 0 && code_length_bitdepth[storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder[1]] == 0 {
- skip_some = 2 /* skips two. */
- if code_length_bitdepth[storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder[2]] == 0 {
- skip_some = 3 /* skips three. */
- }
- }
-
- writeBits(2, uint64(skip_some), storage_ix, storage)
- {
- var i uint
- for i = skip_some; i < codes_to_store; i++ {
- var l uint = uint(code_length_bitdepth[storeHuffmanTreeOfHuffmanTreeToBitMask_kStorageOrder[i]])
- writeBits(uint(storeHuffmanTreeOfHuffmanTreeToBitMask_kHuffmanBitLengthHuffmanCodeBitLengths[l]), uint64(storeHuffmanTreeOfHuffmanTreeToBitMask_kHuffmanBitLengthHuffmanCodeSymbols[l]), storage_ix, storage)
- }
- }
-}
-
-func storeHuffmanTreeToBitMask(huffman_tree_size uint, huffman_tree []byte, huffman_tree_extra_bits []byte, code_length_bitdepth []byte, code_length_bitdepth_symbols []uint16, storage_ix *uint, storage []byte) {
- var i uint
- for i = 0; i < huffman_tree_size; i++ {
- var ix uint = uint(huffman_tree[i])
- writeBits(uint(code_length_bitdepth[ix]), uint64(code_length_bitdepth_symbols[ix]), storage_ix, storage)
-
- /* Extra bits */
- switch ix {
- case repeatPreviousCodeLength:
- writeBits(2, uint64(huffman_tree_extra_bits[i]), storage_ix, storage)
-
- case repeatZeroCodeLength:
- writeBits(3, uint64(huffman_tree_extra_bits[i]), storage_ix, storage)
- }
- }
-}
-
-func storeSimpleHuffmanTree(depths []byte, symbols []uint, num_symbols uint, max_bits uint, storage_ix *uint, storage []byte) {
- /* value of 1 indicates a simple Huffman code */
- writeBits(2, 1, storage_ix, storage)
-
- writeBits(2, uint64(num_symbols)-1, storage_ix, storage) /* NSYM - 1 */
- {
- /* Sort */
- var i uint
- for i = 0; i < num_symbols; i++ {
- var j uint
- for j = i + 1; j < num_symbols; j++ {
- if depths[symbols[j]] < depths[symbols[i]] {
- var tmp uint = symbols[j]
- symbols[j] = symbols[i]
- symbols[i] = tmp
- }
- }
- }
- }
-
- if num_symbols == 2 {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- } else if num_symbols == 3 {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[2]), storage_ix, storage)
- } else {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[2]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[3]), storage_ix, storage)
-
- /* tree-select */
- var tmp int
- if depths[symbols[0]] == 1 {
- tmp = 1
- } else {
- tmp = 0
- }
- writeBits(1, uint64(tmp), storage_ix, storage)
- }
-}
-
-/* num = alphabet size
- depths = symbol depths */
-func storeHuffmanTree(depths []byte, num uint, tree []huffmanTree, storage_ix *uint, storage []byte) {
- var huffman_tree [numCommandSymbols]byte
- var huffman_tree_extra_bits [numCommandSymbols]byte
- var huffman_tree_size uint = 0
- var code_length_bitdepth = [codeLengthCodes]byte{0}
- var code_length_bitdepth_symbols [codeLengthCodes]uint16
- var huffman_tree_histogram = [codeLengthCodes]uint32{0}
- var i uint
- var num_codes int = 0
- /* Write the Huffman tree into the brotli-representation.
- The command alphabet is the largest, so this allocation will fit all
- alphabets. */
-
- var code uint = 0
-
- assert(num <= numCommandSymbols)
-
- writeHuffmanTree(depths, num, &huffman_tree_size, huffman_tree[:], huffman_tree_extra_bits[:])
-
- /* Calculate the statistics of the Huffman tree in brotli-representation. */
- for i = 0; i < huffman_tree_size; i++ {
- huffman_tree_histogram[huffman_tree[i]]++
- }
-
- for i = 0; i < codeLengthCodes; i++ {
- if huffman_tree_histogram[i] != 0 {
- if num_codes == 0 {
- code = i
- num_codes = 1
- } else if num_codes == 1 {
- num_codes = 2
- break
- }
- }
- }
-
- /* Calculate another Huffman tree to use for compressing both the
- earlier Huffman tree with. */
- createHuffmanTree(huffman_tree_histogram[:], codeLengthCodes, 5, tree, code_length_bitdepth[:])
-
- convertBitDepthsToSymbols(code_length_bitdepth[:], codeLengthCodes, code_length_bitdepth_symbols[:])
-
- /* Now, we have all the data, let's start storing it */
- storeHuffmanTreeOfHuffmanTreeToBitMask(num_codes, code_length_bitdepth[:], storage_ix, storage)
-
- if num_codes == 1 {
- code_length_bitdepth[code] = 0
- }
-
- /* Store the real Huffman tree now. */
- storeHuffmanTreeToBitMask(huffman_tree_size, huffman_tree[:], huffman_tree_extra_bits[:], code_length_bitdepth[:], code_length_bitdepth_symbols[:], storage_ix, storage)
-}
-
-/* Builds a Huffman tree from histogram[0:length] into depth[0:length] and
- bits[0:length] and stores the encoded tree to the bit stream. */
-func buildAndStoreHuffmanTree(histogram []uint32, histogram_length uint, alphabet_size uint, tree []huffmanTree, depth []byte, bits []uint16, storage_ix *uint, storage []byte) {
- var count uint = 0
- var s4 = [4]uint{0}
- var i uint
- var max_bits uint = 0
- for i = 0; i < histogram_length; i++ {
- if histogram[i] != 0 {
- if count < 4 {
- s4[count] = i
- } else if count > 4 {
- break
- }
-
- count++
- }
- }
- {
- var max_bits_counter uint = alphabet_size - 1
- for max_bits_counter != 0 {
- max_bits_counter >>= 1
- max_bits++
- }
- }
-
- if count <= 1 {
- writeBits(4, 1, storage_ix, storage)
- writeBits(max_bits, uint64(s4[0]), storage_ix, storage)
- depth[s4[0]] = 0
- bits[s4[0]] = 0
- return
- }
-
- for i := 0; i < int(histogram_length); i++ {
- depth[i] = 0
- }
- createHuffmanTree(histogram, histogram_length, 15, tree, depth)
- convertBitDepthsToSymbols(depth, histogram_length, bits)
-
- if count <= 4 {
- storeSimpleHuffmanTree(depth, s4[:], count, max_bits, storage_ix, storage)
- } else {
- storeHuffmanTree(depth, histogram_length, tree, storage_ix, storage)
- }
-}
-
-func sortHuffmanTree1(v0 huffmanTree, v1 huffmanTree) bool {
- return v0.total_count_ < v1.total_count_
-}
-
-var huffmanTreePool sync.Pool
-
-func buildAndStoreHuffmanTreeFast(histogram []uint32, histogram_total uint, max_bits uint, depth []byte, bits []uint16, storage_ix *uint, storage []byte) {
- var count uint = 0
- var symbols = [4]uint{0}
- var length uint = 0
- var total uint = histogram_total
- for total != 0 {
- if histogram[length] != 0 {
- if count < 4 {
- symbols[count] = length
- }
-
- count++
- total -= uint(histogram[length])
- }
-
- length++
- }
-
- if count <= 1 {
- writeBits(4, 1, storage_ix, storage)
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- depth[symbols[0]] = 0
- bits[symbols[0]] = 0
- return
- }
-
- for i := 0; i < int(length); i++ {
- depth[i] = 0
- }
- {
- var max_tree_size uint = 2*length + 1
- tree, _ := huffmanTreePool.Get().(*[]huffmanTree)
- if tree == nil || cap(*tree) < int(max_tree_size) {
- tmp := make([]huffmanTree, max_tree_size)
- tree = &tmp
- } else {
- *tree = (*tree)[:max_tree_size]
- }
- var count_limit uint32
- for count_limit = 1; ; count_limit *= 2 {
- var node int = 0
- var l uint
- for l = length; l != 0; {
- l--
- if histogram[l] != 0 {
- if histogram[l] >= count_limit {
- initHuffmanTree(&(*tree)[node:][0], histogram[l], -1, int16(l))
- } else {
- initHuffmanTree(&(*tree)[node:][0], count_limit, -1, int16(l))
- }
-
- node++
- }
- }
- {
- var n int = node
- /* Points to the next leaf node. */ /* Points to the next non-leaf node. */
- var sentinel huffmanTree
- var i int = 0
- var j int = n + 1
- var k int
-
- sortHuffmanTreeItems(*tree, uint(n), huffmanTreeComparator(sortHuffmanTree1))
-
- /* The nodes are:
- [0, n): the sorted leaf nodes that we start with.
- [n]: we add a sentinel here.
- [n + 1, 2n): new parent nodes are added here, starting from
- (n+1). These are naturally in ascending order.
- [2n]: we add a sentinel at the end as well.
- There will be (2n+1) elements at the end. */
- initHuffmanTree(&sentinel, math.MaxUint32, -1, -1)
-
- (*tree)[node] = sentinel
- node++
- (*tree)[node] = sentinel
- node++
-
- for k = n - 1; k > 0; k-- {
- var left int
- var right int
- if (*tree)[i].total_count_ <= (*tree)[j].total_count_ {
- left = i
- i++
- } else {
- left = j
- j++
- }
-
- if (*tree)[i].total_count_ <= (*tree)[j].total_count_ {
- right = i
- i++
- } else {
- right = j
- j++
- }
-
- /* The sentinel node becomes the parent node. */
- (*tree)[node-1].total_count_ = (*tree)[left].total_count_ + (*tree)[right].total_count_
-
- (*tree)[node-1].index_left_ = int16(left)
- (*tree)[node-1].index_right_or_value_ = int16(right)
-
- /* Add back the last sentinel node. */
- (*tree)[node] = sentinel
- node++
- }
-
- if setDepth(2*n-1, *tree, depth, 14) {
- /* We need to pack the Huffman tree in 14 bits. If this was not
- successful, add fake entities to the lowest values and retry. */
- break
- }
- }
- }
-
- huffmanTreePool.Put(tree)
- }
-
- convertBitDepthsToSymbols(depth, length, bits)
- if count <= 4 {
- var i uint
-
- /* value of 1 indicates a simple Huffman code */
- writeBits(2, 1, storage_ix, storage)
-
- writeBits(2, uint64(count)-1, storage_ix, storage) /* NSYM - 1 */
-
- /* Sort */
- for i = 0; i < count; i++ {
- var j uint
- for j = i + 1; j < count; j++ {
- if depth[symbols[j]] < depth[symbols[i]] {
- var tmp uint = symbols[j]
- symbols[j] = symbols[i]
- symbols[i] = tmp
- }
- }
- }
-
- if count == 2 {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- } else if count == 3 {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[2]), storage_ix, storage)
- } else {
- writeBits(max_bits, uint64(symbols[0]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[1]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[2]), storage_ix, storage)
- writeBits(max_bits, uint64(symbols[3]), storage_ix, storage)
-
- /* tree-select */
- var tmp int
- if depth[symbols[0]] == 1 {
- tmp = 1
- } else {
- tmp = 0
- }
- writeBits(1, uint64(tmp), storage_ix, storage)
- }
- } else {
- var previous_value byte = 8
- var i uint
-
- /* Complex Huffman Tree */
- storeStaticCodeLengthCode(storage_ix, storage)
-
- /* Actual RLE coding. */
- for i = 0; i < length; {
- var value byte = depth[i]
- var reps uint = 1
- var k uint
- for k = i + 1; k < length && depth[k] == value; k++ {
- reps++
- }
-
- i += reps
- if value == 0 {
- writeBits(uint(kZeroRepsDepth[reps]), kZeroRepsBits[reps], storage_ix, storage)
- } else {
- if previous_value != value {
- writeBits(uint(kCodeLengthDepth[value]), uint64(kCodeLengthBits[value]), storage_ix, storage)
- reps--
- }
-
- if reps < 3 {
- for reps != 0 {
- reps--
- writeBits(uint(kCodeLengthDepth[value]), uint64(kCodeLengthBits[value]), storage_ix, storage)
- }
- } else {
- reps -= 3
- writeBits(uint(kNonZeroRepsDepth[reps]), kNonZeroRepsBits[reps], storage_ix, storage)
- }
-
- previous_value = value
- }
- }
- }
-}
-
-func indexOf(v []byte, v_size uint, value byte) uint {
- var i uint = 0
- for ; i < v_size; i++ {
- if v[i] == value {
- return i
- }
- }
-
- return i
-}
-
-func moveToFront(v []byte, index uint) {
- var value byte = v[index]
- var i uint
- for i = index; i != 0; i-- {
- v[i] = v[i-1]
- }
-
- v[0] = value
-}
-
-func moveToFrontTransform(v_in []uint32, v_size uint, v_out []uint32) {
- var i uint
- var mtf [256]byte
- var max_value uint32
- if v_size == 0 {
- return
- }
-
- max_value = v_in[0]
- for i = 1; i < v_size; i++ {
- if v_in[i] > max_value {
- max_value = v_in[i]
- }
- }
-
- assert(max_value < 256)
- for i = 0; uint32(i) <= max_value; i++ {
- mtf[i] = byte(i)
- }
- {
- var mtf_size uint = uint(max_value + 1)
- for i = 0; i < v_size; i++ {
- var index uint = indexOf(mtf[:], mtf_size, byte(v_in[i]))
- assert(index < mtf_size)
- v_out[i] = uint32(index)
- moveToFront(mtf[:], index)
- }
- }
-}
-
-/* Finds runs of zeros in v[0..in_size) and replaces them with a prefix code of
- the run length plus extra bits (lower 9 bits is the prefix code and the rest
- are the extra bits). Non-zero values in v[] are shifted by
- *max_length_prefix. Will not create prefix codes bigger than the initial
- value of *max_run_length_prefix. The prefix code of run length L is simply
- Log2Floor(L) and the number of extra bits is the same as the prefix code. */
-func runLengthCodeZeros(in_size uint, v []uint32, out_size *uint, max_run_length_prefix *uint32) {
- var max_reps uint32 = 0
- var i uint
- var max_prefix uint32
- for i = 0; i < in_size; {
- var reps uint32 = 0
- for ; i < in_size && v[i] != 0; i++ {
- }
- for ; i < in_size && v[i] == 0; i++ {
- reps++
- }
-
- max_reps = brotli_max_uint32_t(reps, max_reps)
- }
-
- if max_reps > 0 {
- max_prefix = log2FloorNonZero(uint(max_reps))
- } else {
- max_prefix = 0
- }
- max_prefix = brotli_min_uint32_t(max_prefix, *max_run_length_prefix)
- *max_run_length_prefix = max_prefix
- *out_size = 0
- for i = 0; i < in_size; {
- assert(*out_size <= i)
- if v[i] != 0 {
- v[*out_size] = v[i] + *max_run_length_prefix
- i++
- (*out_size)++
- } else {
- var reps uint32 = 1
- var k uint
- for k = i + 1; k < in_size && v[k] == 0; k++ {
- reps++
- }
-
- i += uint(reps)
- for reps != 0 {
- if reps < 2< 0)
- writeSingleBit(use_rle, storage_ix, storage)
- if use_rle {
- writeBits(4, uint64(max_run_length_prefix)-1, storage_ix, storage)
- }
- }
-
- buildAndStoreHuffmanTree(histogram[:], uint(uint32(num_clusters)+max_run_length_prefix), uint(uint32(num_clusters)+max_run_length_prefix), tree, depths[:], bits[:], storage_ix, storage)
- for i = 0; i < num_rle_symbols; i++ {
- var rle_symbol uint32 = rle_symbols[i] & encodeContextMap_kSymbolMask
- var extra_bits_val uint32 = rle_symbols[i] >> symbolBits
- writeBits(uint(depths[rle_symbol]), uint64(bits[rle_symbol]), storage_ix, storage)
- if rle_symbol > 0 && rle_symbol <= max_run_length_prefix {
- writeBits(uint(rle_symbol), uint64(extra_bits_val), storage_ix, storage)
- }
- }
-
- writeBits(1, 1, storage_ix, storage) /* use move-to-front */
- rle_symbols = nil
-}
-
-/* Stores the block switch command with index block_ix to the bit stream. */
-func storeBlockSwitch(code *blockSplitCode, block_len uint32, block_type byte, is_first_block bool, storage_ix *uint, storage []byte) {
- var typecode uint = nextBlockTypeCode(&code.type_code_calculator, block_type)
- var lencode uint
- var len_nextra uint32
- var len_extra uint32
- if !is_first_block {
- writeBits(uint(code.type_depths[typecode]), uint64(code.type_bits[typecode]), storage_ix, storage)
- }
-
- getBlockLengthPrefixCode(block_len, &lencode, &len_nextra, &len_extra)
-
- writeBits(uint(code.length_depths[lencode]), uint64(code.length_bits[lencode]), storage_ix, storage)
- writeBits(uint(len_nextra), uint64(len_extra), storage_ix, storage)
-}
-
-/* Builds a BlockSplitCode data structure from the block split given by the
- vector of block types and block lengths and stores it to the bit stream. */
-func buildAndStoreBlockSplitCode(types []byte, lengths []uint32, num_blocks uint, num_types uint, tree []huffmanTree, code *blockSplitCode, storage_ix *uint, storage []byte) {
- var type_histo [maxBlockTypeSymbols]uint32
- var length_histo [numBlockLenSymbols]uint32
- var i uint
- var type_code_calculator blockTypeCodeCalculator
- for i := 0; i < int(num_types+2); i++ {
- type_histo[i] = 0
- }
- length_histo = [numBlockLenSymbols]uint32{}
- initBlockTypeCodeCalculator(&type_code_calculator)
- for i = 0; i < num_blocks; i++ {
- var type_code uint = nextBlockTypeCode(&type_code_calculator, types[i])
- if i != 0 {
- type_histo[type_code]++
- }
- length_histo[blockLengthPrefixCode(lengths[i])]++
- }
-
- storeVarLenUint8(num_types-1, storage_ix, storage)
- if num_types > 1 { /* TODO: else? could StoreBlockSwitch occur? */
- buildAndStoreHuffmanTree(type_histo[0:], num_types+2, num_types+2, tree, code.type_depths[0:], code.type_bits[0:], storage_ix, storage)
- buildAndStoreHuffmanTree(length_histo[0:], numBlockLenSymbols, numBlockLenSymbols, tree, code.length_depths[0:], code.length_bits[0:], storage_ix, storage)
- storeBlockSwitch(code, lengths[0], types[0], true, storage_ix, storage)
- }
-}
-
-/* Stores a context map where the histogram type is always the block type. */
-func storeTrivialContextMap(num_types uint, context_bits uint, tree []huffmanTree, storage_ix *uint, storage []byte) {
- storeVarLenUint8(num_types-1, storage_ix, storage)
- if num_types > 1 {
- var repeat_code uint = context_bits - 1
- var repeat_bits uint = (1 << repeat_code) - 1
- var alphabet_size uint = num_types + repeat_code
- var histogram [maxContextMapSymbols]uint32
- var depths [maxContextMapSymbols]byte
- var bits [maxContextMapSymbols]uint16
- var i uint
- for i := 0; i < int(alphabet_size); i++ {
- histogram[i] = 0
- }
-
- /* Write RLEMAX. */
- writeBits(1, 1, storage_ix, storage)
-
- writeBits(4, uint64(repeat_code)-1, storage_ix, storage)
- histogram[repeat_code] = uint32(num_types)
- histogram[0] = 1
- for i = context_bits; i < alphabet_size; i++ {
- histogram[i] = 1
- }
-
- buildAndStoreHuffmanTree(histogram[:], alphabet_size, alphabet_size, tree, depths[:], bits[:], storage_ix, storage)
- for i = 0; i < num_types; i++ {
- var tmp uint
- if i == 0 {
- tmp = 0
- } else {
- tmp = i + context_bits - 1
- }
- var code uint = tmp
- writeBits(uint(depths[code]), uint64(bits[code]), storage_ix, storage)
- writeBits(uint(depths[repeat_code]), uint64(bits[repeat_code]), storage_ix, storage)
- writeBits(repeat_code, uint64(repeat_bits), storage_ix, storage)
- }
-
- /* Write IMTF (inverse-move-to-front) bit. */
- writeBits(1, 1, storage_ix, storage)
- }
-}
-
-/* Manages the encoding of one block category (literal, command or distance). */
-type blockEncoder struct {
- histogram_length_ uint
- num_block_types_ uint
- block_types_ []byte
- block_lengths_ []uint32
- num_blocks_ uint
- block_split_code_ blockSplitCode
- block_ix_ uint
- block_len_ uint
- entropy_ix_ uint
- depths_ []byte
- bits_ []uint16
-}
-
-var blockEncoderPool sync.Pool
-
-func getBlockEncoder(histogram_length uint, num_block_types uint, block_types []byte, block_lengths []uint32, num_blocks uint) *blockEncoder {
- self, _ := blockEncoderPool.Get().(*blockEncoder)
-
- if self != nil {
- self.block_ix_ = 0
- self.entropy_ix_ = 0
- self.depths_ = self.depths_[:0]
- self.bits_ = self.bits_[:0]
- } else {
- self = &blockEncoder{}
- }
-
- self.histogram_length_ = histogram_length
- self.num_block_types_ = num_block_types
- self.block_types_ = block_types
- self.block_lengths_ = block_lengths
- self.num_blocks_ = num_blocks
- initBlockTypeCodeCalculator(&self.block_split_code_.type_code_calculator)
- if num_blocks == 0 {
- self.block_len_ = 0
- } else {
- self.block_len_ = uint(block_lengths[0])
- }
-
- return self
-}
-
-func cleanupBlockEncoder(self *blockEncoder) {
- blockEncoderPool.Put(self)
-}
-
-/* Creates entropy codes of block lengths and block types and stores them
- to the bit stream. */
-func buildAndStoreBlockSwitchEntropyCodes(self *blockEncoder, tree []huffmanTree, storage_ix *uint, storage []byte) {
- buildAndStoreBlockSplitCode(self.block_types_, self.block_lengths_, self.num_blocks_, self.num_block_types_, tree, &self.block_split_code_, storage_ix, storage)
-}
-
-/* Stores the next symbol with the entropy code of the current block type.
- Updates the block type and block length at block boundaries. */
-func storeSymbol(self *blockEncoder, symbol uint, storage_ix *uint, storage []byte) {
- if self.block_len_ == 0 {
- self.block_ix_++
- var block_ix uint = self.block_ix_
- var block_len uint32 = self.block_lengths_[block_ix]
- var block_type byte = self.block_types_[block_ix]
- self.block_len_ = uint(block_len)
- self.entropy_ix_ = uint(block_type) * self.histogram_length_
- storeBlockSwitch(&self.block_split_code_, block_len, block_type, false, storage_ix, storage)
- }
-
- self.block_len_--
- {
- var ix uint = self.entropy_ix_ + symbol
- writeBits(uint(self.depths_[ix]), uint64(self.bits_[ix]), storage_ix, storage)
- }
-}
-
-/* Stores the next symbol with the entropy code of the current block type and
- context value.
- Updates the block type and block length at block boundaries. */
-func storeSymbolWithContext(self *blockEncoder, symbol uint, context uint, context_map []uint32, storage_ix *uint, storage []byte, context_bits uint) {
- if self.block_len_ == 0 {
- self.block_ix_++
- var block_ix uint = self.block_ix_
- var block_len uint32 = self.block_lengths_[block_ix]
- var block_type byte = self.block_types_[block_ix]
- self.block_len_ = uint(block_len)
- self.entropy_ix_ = uint(block_type) << context_bits
- storeBlockSwitch(&self.block_split_code_, block_len, block_type, false, storage_ix, storage)
- }
-
- self.block_len_--
- {
- var histo_ix uint = uint(context_map[self.entropy_ix_+context])
- var ix uint = histo_ix*self.histogram_length_ + symbol
- writeBits(uint(self.depths_[ix]), uint64(self.bits_[ix]), storage_ix, storage)
- }
-}
-
-func buildAndStoreEntropyCodesLiteral(self *blockEncoder, histograms []histogramLiteral, histograms_size uint, alphabet_size uint, tree []huffmanTree, storage_ix *uint, storage []byte) {
- var table_size uint = histograms_size * self.histogram_length_
- if cap(self.depths_) < int(table_size) {
- self.depths_ = make([]byte, table_size)
- } else {
- self.depths_ = self.depths_[:table_size]
- }
- if cap(self.bits_) < int(table_size) {
- self.bits_ = make([]uint16, table_size)
- } else {
- self.bits_ = self.bits_[:table_size]
- }
- {
- var i uint
- for i = 0; i < histograms_size; i++ {
- var ix uint = i * self.histogram_length_
- buildAndStoreHuffmanTree(histograms[i].data_[0:], self.histogram_length_, alphabet_size, tree, self.depths_[ix:], self.bits_[ix:], storage_ix, storage)
- }
- }
-}
-
-func buildAndStoreEntropyCodesCommand(self *blockEncoder, histograms []histogramCommand, histograms_size uint, alphabet_size uint, tree []huffmanTree, storage_ix *uint, storage []byte) {
- var table_size uint = histograms_size * self.histogram_length_
- if cap(self.depths_) < int(table_size) {
- self.depths_ = make([]byte, table_size)
- } else {
- self.depths_ = self.depths_[:table_size]
- }
- if cap(self.bits_) < int(table_size) {
- self.bits_ = make([]uint16, table_size)
- } else {
- self.bits_ = self.bits_[:table_size]
- }
- {
- var i uint
- for i = 0; i < histograms_size; i++ {
- var ix uint = i * self.histogram_length_
- buildAndStoreHuffmanTree(histograms[i].data_[0:], self.histogram_length_, alphabet_size, tree, self.depths_[ix:], self.bits_[ix:], storage_ix, storage)
- }
- }
-}
-
-func buildAndStoreEntropyCodesDistance(self *blockEncoder, histograms []histogramDistance, histograms_size uint, alphabet_size uint, tree []huffmanTree, storage_ix *uint, storage []byte) {
- var table_size uint = histograms_size * self.histogram_length_
- if cap(self.depths_) < int(table_size) {
- self.depths_ = make([]byte, table_size)
- } else {
- self.depths_ = self.depths_[:table_size]
- }
- if cap(self.bits_) < int(table_size) {
- self.bits_ = make([]uint16, table_size)
- } else {
- self.bits_ = self.bits_[:table_size]
- }
- {
- var i uint
- for i = 0; i < histograms_size; i++ {
- var ix uint = i * self.histogram_length_
- buildAndStoreHuffmanTree(histograms[i].data_[0:], self.histogram_length_, alphabet_size, tree, self.depths_[ix:], self.bits_[ix:], storage_ix, storage)
- }
- }
-}
-
-func jumpToByteBoundary(storage_ix *uint, storage []byte) {
- *storage_ix = (*storage_ix + 7) &^ 7
- storage[*storage_ix>>3] = 0
-}
-
-func storeMetaBlock(input []byte, start_pos uint, length uint, mask uint, prev_byte byte, prev_byte2 byte, is_last bool, params *encoderParams, literal_context_mode int, commands []command, mb *metaBlockSplit, storage_ix *uint, storage []byte) {
- var pos uint = start_pos
- var i uint
- var num_distance_symbols uint32 = params.dist.alphabet_size
- var num_effective_distance_symbols uint32 = num_distance_symbols
- var tree []huffmanTree
- var literal_context_lut contextLUT = getContextLUT(literal_context_mode)
- var dist *distanceParams = ¶ms.dist
- if params.large_window && num_effective_distance_symbols > numHistogramDistanceSymbols {
- num_effective_distance_symbols = numHistogramDistanceSymbols
- }
-
- storeCompressedMetaBlockHeader(is_last, length, storage_ix, storage)
-
- tree = make([]huffmanTree, maxHuffmanTreeSize)
- literal_enc := getBlockEncoder(numLiteralSymbols, mb.literal_split.num_types, mb.literal_split.types, mb.literal_split.lengths, mb.literal_split.num_blocks)
- command_enc := getBlockEncoder(numCommandSymbols, mb.command_split.num_types, mb.command_split.types, mb.command_split.lengths, mb.command_split.num_blocks)
- distance_enc := getBlockEncoder(uint(num_effective_distance_symbols), mb.distance_split.num_types, mb.distance_split.types, mb.distance_split.lengths, mb.distance_split.num_blocks)
-
- buildAndStoreBlockSwitchEntropyCodes(literal_enc, tree, storage_ix, storage)
- buildAndStoreBlockSwitchEntropyCodes(command_enc, tree, storage_ix, storage)
- buildAndStoreBlockSwitchEntropyCodes(distance_enc, tree, storage_ix, storage)
-
- writeBits(2, uint64(dist.distance_postfix_bits), storage_ix, storage)
- writeBits(4, uint64(dist.num_direct_distance_codes)>>dist.distance_postfix_bits, storage_ix, storage)
- for i = 0; i < mb.literal_split.num_types; i++ {
- writeBits(2, uint64(literal_context_mode), storage_ix, storage)
- }
-
- if mb.literal_context_map_size == 0 {
- storeTrivialContextMap(mb.literal_histograms_size, literalContextBits, tree, storage_ix, storage)
- } else {
- encodeContextMap(mb.literal_context_map, mb.literal_context_map_size, mb.literal_histograms_size, tree, storage_ix, storage)
- }
-
- if mb.distance_context_map_size == 0 {
- storeTrivialContextMap(mb.distance_histograms_size, distanceContextBits, tree, storage_ix, storage)
- } else {
- encodeContextMap(mb.distance_context_map, mb.distance_context_map_size, mb.distance_histograms_size, tree, storage_ix, storage)
- }
-
- buildAndStoreEntropyCodesLiteral(literal_enc, mb.literal_histograms, mb.literal_histograms_size, numLiteralSymbols, tree, storage_ix, storage)
- buildAndStoreEntropyCodesCommand(command_enc, mb.command_histograms, mb.command_histograms_size, numCommandSymbols, tree, storage_ix, storage)
- buildAndStoreEntropyCodesDistance(distance_enc, mb.distance_histograms, mb.distance_histograms_size, uint(num_distance_symbols), tree, storage_ix, storage)
- tree = nil
-
- for _, cmd := range commands {
- var cmd_code uint = uint(cmd.cmd_prefix_)
- storeSymbol(command_enc, cmd_code, storage_ix, storage)
- storeCommandExtra(&cmd, storage_ix, storage)
- if mb.literal_context_map_size == 0 {
- var j uint
- for j = uint(cmd.insert_len_); j != 0; j-- {
- storeSymbol(literal_enc, uint(input[pos&mask]), storage_ix, storage)
- pos++
- }
- } else {
- var j uint
- for j = uint(cmd.insert_len_); j != 0; j-- {
- var context uint = uint(getContext(prev_byte, prev_byte2, literal_context_lut))
- var literal byte = input[pos&mask]
- storeSymbolWithContext(literal_enc, uint(literal), context, mb.literal_context_map, storage_ix, storage, literalContextBits)
- prev_byte2 = prev_byte
- prev_byte = literal
- pos++
- }
- }
-
- pos += uint(commandCopyLen(&cmd))
- if commandCopyLen(&cmd) != 0 {
- prev_byte2 = input[(pos-2)&mask]
- prev_byte = input[(pos-1)&mask]
- if cmd.cmd_prefix_ >= 128 {
- var dist_code uint = uint(cmd.dist_prefix_) & 0x3FF
- var distnumextra uint32 = uint32(cmd.dist_prefix_) >> 10
- var distextra uint64 = uint64(cmd.dist_extra_)
- if mb.distance_context_map_size == 0 {
- storeSymbol(distance_enc, dist_code, storage_ix, storage)
- } else {
- var context uint = uint(commandDistanceContext(&cmd))
- storeSymbolWithContext(distance_enc, dist_code, context, mb.distance_context_map, storage_ix, storage, distanceContextBits)
- }
-
- writeBits(uint(distnumextra), distextra, storage_ix, storage)
- }
- }
- }
-
- cleanupBlockEncoder(distance_enc)
- cleanupBlockEncoder(command_enc)
- cleanupBlockEncoder(literal_enc)
- if is_last {
- jumpToByteBoundary(storage_ix, storage)
- }
-}
-
-func buildHistograms(input []byte, start_pos uint, mask uint, commands []command, lit_histo *histogramLiteral, cmd_histo *histogramCommand, dist_histo *histogramDistance) {
- var pos uint = start_pos
- for _, cmd := range commands {
- var j uint
- histogramAddCommand(cmd_histo, uint(cmd.cmd_prefix_))
- for j = uint(cmd.insert_len_); j != 0; j-- {
- histogramAddLiteral(lit_histo, uint(input[pos&mask]))
- pos++
- }
-
- pos += uint(commandCopyLen(&cmd))
- if commandCopyLen(&cmd) != 0 && cmd.cmd_prefix_ >= 128 {
- histogramAddDistance(dist_histo, uint(cmd.dist_prefix_)&0x3FF)
- }
- }
-}
-
-func storeDataWithHuffmanCodes(input []byte, start_pos uint, mask uint, commands []command, lit_depth []byte, lit_bits []uint16, cmd_depth []byte, cmd_bits []uint16, dist_depth []byte, dist_bits []uint16, storage_ix *uint, storage []byte) {
- var pos uint = start_pos
- for _, cmd := range commands {
- var cmd_code uint = uint(cmd.cmd_prefix_)
- var j uint
- writeBits(uint(cmd_depth[cmd_code]), uint64(cmd_bits[cmd_code]), storage_ix, storage)
- storeCommandExtra(&cmd, storage_ix, storage)
- for j = uint(cmd.insert_len_); j != 0; j-- {
- var literal byte = input[pos&mask]
- writeBits(uint(lit_depth[literal]), uint64(lit_bits[literal]), storage_ix, storage)
- pos++
- }
-
- pos += uint(commandCopyLen(&cmd))
- if commandCopyLen(&cmd) != 0 && cmd.cmd_prefix_ >= 128 {
- var dist_code uint = uint(cmd.dist_prefix_) & 0x3FF
- var distnumextra uint32 = uint32(cmd.dist_prefix_) >> 10
- var distextra uint32 = cmd.dist_extra_
- writeBits(uint(dist_depth[dist_code]), uint64(dist_bits[dist_code]), storage_ix, storage)
- writeBits(uint(distnumextra), uint64(distextra), storage_ix, storage)
- }
- }
-}
-
-func storeMetaBlockTrivial(input []byte, start_pos uint, length uint, mask uint, is_last bool, params *encoderParams, commands []command, storage_ix *uint, storage []byte) {
- var lit_histo histogramLiteral
- var cmd_histo histogramCommand
- var dist_histo histogramDistance
- var lit_depth [numLiteralSymbols]byte
- var lit_bits [numLiteralSymbols]uint16
- var cmd_depth [numCommandSymbols]byte
- var cmd_bits [numCommandSymbols]uint16
- var dist_depth [maxSimpleDistanceAlphabetSize]byte
- var dist_bits [maxSimpleDistanceAlphabetSize]uint16
- var tree []huffmanTree
- var num_distance_symbols uint32 = params.dist.alphabet_size
-
- storeCompressedMetaBlockHeader(is_last, length, storage_ix, storage)
-
- histogramClearLiteral(&lit_histo)
- histogramClearCommand(&cmd_histo)
- histogramClearDistance(&dist_histo)
-
- buildHistograms(input, start_pos, mask, commands, &lit_histo, &cmd_histo, &dist_histo)
-
- writeBits(13, 0, storage_ix, storage)
-
- tree = make([]huffmanTree, maxHuffmanTreeSize)
- buildAndStoreHuffmanTree(lit_histo.data_[:], numLiteralSymbols, numLiteralSymbols, tree, lit_depth[:], lit_bits[:], storage_ix, storage)
- buildAndStoreHuffmanTree(cmd_histo.data_[:], numCommandSymbols, numCommandSymbols, tree, cmd_depth[:], cmd_bits[:], storage_ix, storage)
- buildAndStoreHuffmanTree(dist_histo.data_[:], maxSimpleDistanceAlphabetSize, uint(num_distance_symbols), tree, dist_depth[:], dist_bits[:], storage_ix, storage)
- tree = nil
- storeDataWithHuffmanCodes(input, start_pos, mask, commands, lit_depth[:], lit_bits[:], cmd_depth[:], cmd_bits[:], dist_depth[:], dist_bits[:], storage_ix, storage)
- if is_last {
- jumpToByteBoundary(storage_ix, storage)
- }
-}
-
-func storeMetaBlockFast(input []byte, start_pos uint, length uint, mask uint, is_last bool, params *encoderParams, commands []command, storage_ix *uint, storage []byte) {
- var num_distance_symbols uint32 = params.dist.alphabet_size
- var distance_alphabet_bits uint32 = log2FloorNonZero(uint(num_distance_symbols-1)) + 1
-
- storeCompressedMetaBlockHeader(is_last, length, storage_ix, storage)
-
- writeBits(13, 0, storage_ix, storage)
-
- if len(commands) <= 128 {
- var histogram = [numLiteralSymbols]uint32{0}
- var pos uint = start_pos
- var num_literals uint = 0
- var lit_depth [numLiteralSymbols]byte
- var lit_bits [numLiteralSymbols]uint16
- for _, cmd := range commands {
- var j uint
- for j = uint(cmd.insert_len_); j != 0; j-- {
- histogram[input[pos&mask]]++
- pos++
- }
-
- num_literals += uint(cmd.insert_len_)
- pos += uint(commandCopyLen(&cmd))
- }
-
- buildAndStoreHuffmanTreeFast(histogram[:], num_literals, /* max_bits = */
- 8, lit_depth[:], lit_bits[:], storage_ix, storage)
-
- storeStaticCommandHuffmanTree(storage_ix, storage)
- storeStaticDistanceHuffmanTree(storage_ix, storage)
- storeDataWithHuffmanCodes(input, start_pos, mask, commands, lit_depth[:], lit_bits[:], kStaticCommandCodeDepth[:], kStaticCommandCodeBits[:], kStaticDistanceCodeDepth[:], kStaticDistanceCodeBits[:], storage_ix, storage)
- } else {
- var lit_histo histogramLiteral
- var cmd_histo histogramCommand
- var dist_histo histogramDistance
- var lit_depth [numLiteralSymbols]byte
- var lit_bits [numLiteralSymbols]uint16
- var cmd_depth [numCommandSymbols]byte
- var cmd_bits [numCommandSymbols]uint16
- var dist_depth [maxSimpleDistanceAlphabetSize]byte
- var dist_bits [maxSimpleDistanceAlphabetSize]uint16
- histogramClearLiteral(&lit_histo)
- histogramClearCommand(&cmd_histo)
- histogramClearDistance(&dist_histo)
- buildHistograms(input, start_pos, mask, commands, &lit_histo, &cmd_histo, &dist_histo)
- buildAndStoreHuffmanTreeFast(lit_histo.data_[:], lit_histo.total_count_, /* max_bits = */
- 8, lit_depth[:], lit_bits[:], storage_ix, storage)
-
- buildAndStoreHuffmanTreeFast(cmd_histo.data_[:], cmd_histo.total_count_, /* max_bits = */
- 10, cmd_depth[:], cmd_bits[:], storage_ix, storage)
-
- buildAndStoreHuffmanTreeFast(dist_histo.data_[:], dist_histo.total_count_, /* max_bits = */
- uint(distance_alphabet_bits), dist_depth[:], dist_bits[:], storage_ix, storage)
-
- storeDataWithHuffmanCodes(input, start_pos, mask, commands, lit_depth[:], lit_bits[:], cmd_depth[:], cmd_bits[:], dist_depth[:], dist_bits[:], storage_ix, storage)
- }
-
- if is_last {
- jumpToByteBoundary(storage_ix, storage)
- }
-}
-
-/* This is for storing uncompressed blocks (simple raw storage of
- bytes-as-bytes). */
-func storeUncompressedMetaBlock(is_final_block bool, input []byte, position uint, mask uint, len uint, storage_ix *uint, storage []byte) {
- var masked_pos uint = position & mask
- storeUncompressedMetaBlockHeader(uint(len), storage_ix, storage)
- jumpToByteBoundary(storage_ix, storage)
-
- if masked_pos+len > mask+1 {
- var len1 uint = mask + 1 - masked_pos
- copy(storage[*storage_ix>>3:], input[masked_pos:][:len1])
- *storage_ix += len1 << 3
- len -= len1
- masked_pos = 0
- }
-
- copy(storage[*storage_ix>>3:], input[masked_pos:][:len])
- *storage_ix += uint(len << 3)
-
- /* We need to clear the next 4 bytes to continue to be
- compatible with BrotliWriteBits. */
- writeBitsPrepareStorage(*storage_ix, storage)
-
- /* Since the uncompressed block itself may not be the final block, add an
- empty one after this. */
- if is_final_block {
- writeBits(1, 1, storage_ix, storage) /* islast */
- writeBits(1, 1, storage_ix, storage) /* isempty */
- jumpToByteBoundary(storage_ix, storage)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/cluster.go b/vendor/github.com/andybalholm/brotli/cluster.go
deleted file mode 100644
index df8a3282..00000000
--- a/vendor/github.com/andybalholm/brotli/cluster.go
+++ /dev/null
@@ -1,30 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Functions for clustering similar histograms together. */
-
-type histogramPair struct {
- idx1 uint32
- idx2 uint32
- cost_combo float64
- cost_diff float64
-}
-
-func histogramPairIsLess(p1 *histogramPair, p2 *histogramPair) bool {
- if p1.cost_diff != p2.cost_diff {
- return p1.cost_diff > p2.cost_diff
- }
-
- return (p1.idx2 - p1.idx1) > (p2.idx2 - p2.idx1)
-}
-
-/* Returns entropy reduction of the context map when we combine two clusters. */
-func clusterCostDiff(size_a uint, size_b uint) float64 {
- var size_c uint = size_a + size_b
- return float64(size_a)*fastLog2(size_a) + float64(size_b)*fastLog2(size_b) - float64(size_c)*fastLog2(size_c)
-}
diff --git a/vendor/github.com/andybalholm/brotli/cluster_command.go b/vendor/github.com/andybalholm/brotli/cluster_command.go
deleted file mode 100644
index 45b569bb..00000000
--- a/vendor/github.com/andybalholm/brotli/cluster_command.go
+++ /dev/null
@@ -1,164 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Computes the bit cost reduction by combining out[idx1] and out[idx2] and if
- it is below a threshold, stores the pair (idx1, idx2) in the *pairs queue. */
-func compareAndPushToQueueCommand(out []histogramCommand, cluster_size []uint32, idx1 uint32, idx2 uint32, max_num_pairs uint, pairs []histogramPair, num_pairs *uint) {
- var is_good_pair bool = false
- var p histogramPair
- p.idx2 = 0
- p.idx1 = p.idx2
- p.cost_combo = 0
- p.cost_diff = p.cost_combo
- if idx1 == idx2 {
- return
- }
-
- if idx2 < idx1 {
- var t uint32 = idx2
- idx2 = idx1
- idx1 = t
- }
-
- p.idx1 = idx1
- p.idx2 = idx2
- p.cost_diff = 0.5 * clusterCostDiff(uint(cluster_size[idx1]), uint(cluster_size[idx2]))
- p.cost_diff -= out[idx1].bit_cost_
- p.cost_diff -= out[idx2].bit_cost_
-
- if out[idx1].total_count_ == 0 {
- p.cost_combo = out[idx2].bit_cost_
- is_good_pair = true
- } else if out[idx2].total_count_ == 0 {
- p.cost_combo = out[idx1].bit_cost_
- is_good_pair = true
- } else {
- var threshold float64
- if *num_pairs == 0 {
- threshold = 1e99
- } else {
- threshold = brotli_max_double(0.0, pairs[0].cost_diff)
- }
- var combo histogramCommand = out[idx1]
- var cost_combo float64
- histogramAddHistogramCommand(&combo, &out[idx2])
- cost_combo = populationCostCommand(&combo)
- if cost_combo < threshold-p.cost_diff {
- p.cost_combo = cost_combo
- is_good_pair = true
- }
- }
-
- if is_good_pair {
- p.cost_diff += p.cost_combo
- if *num_pairs > 0 && histogramPairIsLess(&pairs[0], &p) {
- /* Replace the top of the queue if needed. */
- if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = pairs[0]
- (*num_pairs)++
- }
-
- pairs[0] = p
- } else if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = p
- (*num_pairs)++
- }
- }
-}
-
-func histogramCombineCommand(out []histogramCommand, cluster_size []uint32, symbols []uint32, clusters []uint32, pairs []histogramPair, num_clusters uint, symbols_size uint, max_clusters uint, max_num_pairs uint) uint {
- var cost_diff_threshold float64 = 0.0
- var min_cluster_size uint = 1
- var num_pairs uint = 0
- {
- /* We maintain a vector of histogram pairs, with the property that the pair
- with the maximum bit cost reduction is the first. */
- var idx1 uint
- for idx1 = 0; idx1 < num_clusters; idx1++ {
- var idx2 uint
- for idx2 = idx1 + 1; idx2 < num_clusters; idx2++ {
- compareAndPushToQueueCommand(out, cluster_size, clusters[idx1], clusters[idx2], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
- }
-
- for num_clusters > min_cluster_size {
- var best_idx1 uint32
- var best_idx2 uint32
- var i uint
- if pairs[0].cost_diff >= cost_diff_threshold {
- cost_diff_threshold = 1e99
- min_cluster_size = max_clusters
- continue
- }
-
- /* Take the best pair from the top of heap. */
- best_idx1 = pairs[0].idx1
-
- best_idx2 = pairs[0].idx2
- histogramAddHistogramCommand(&out[best_idx1], &out[best_idx2])
- out[best_idx1].bit_cost_ = pairs[0].cost_combo
- cluster_size[best_idx1] += cluster_size[best_idx2]
- for i = 0; i < symbols_size; i++ {
- if symbols[i] == best_idx2 {
- symbols[i] = best_idx1
- }
- }
-
- for i = 0; i < num_clusters; i++ {
- if clusters[i] == best_idx2 {
- copy(clusters[i:], clusters[i+1:][:num_clusters-i-1])
- break
- }
- }
-
- num_clusters--
- {
- /* Remove pairs intersecting the just combined best pair. */
- var copy_to_idx uint = 0
- for i = 0; i < num_pairs; i++ {
- var p *histogramPair = &pairs[i]
- if p.idx1 == best_idx1 || p.idx2 == best_idx1 || p.idx1 == best_idx2 || p.idx2 == best_idx2 {
- /* Remove invalid pair from the queue. */
- continue
- }
-
- if histogramPairIsLess(&pairs[0], p) {
- /* Replace the top of the queue if needed. */
- var front histogramPair = pairs[0]
- pairs[0] = *p
- pairs[copy_to_idx] = front
- } else {
- pairs[copy_to_idx] = *p
- }
-
- copy_to_idx++
- }
-
- num_pairs = copy_to_idx
- }
-
- /* Push new pairs formed with the combined histogram to the heap. */
- for i = 0; i < num_clusters; i++ {
- compareAndPushToQueueCommand(out, cluster_size, best_idx1, clusters[i], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
-
- return num_clusters
-}
-
-/* What is the bit cost of moving histogram from cur_symbol to candidate. */
-func histogramBitCostDistanceCommand(histogram *histogramCommand, candidate *histogramCommand) float64 {
- if histogram.total_count_ == 0 {
- return 0.0
- } else {
- var tmp histogramCommand = *histogram
- histogramAddHistogramCommand(&tmp, candidate)
- return populationCostCommand(&tmp) - candidate.bit_cost_
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/cluster_distance.go b/vendor/github.com/andybalholm/brotli/cluster_distance.go
deleted file mode 100644
index 1aaa86e6..00000000
--- a/vendor/github.com/andybalholm/brotli/cluster_distance.go
+++ /dev/null
@@ -1,326 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Computes the bit cost reduction by combining out[idx1] and out[idx2] and if
- it is below a threshold, stores the pair (idx1, idx2) in the *pairs queue. */
-func compareAndPushToQueueDistance(out []histogramDistance, cluster_size []uint32, idx1 uint32, idx2 uint32, max_num_pairs uint, pairs []histogramPair, num_pairs *uint) {
- var is_good_pair bool = false
- var p histogramPair
- p.idx2 = 0
- p.idx1 = p.idx2
- p.cost_combo = 0
- p.cost_diff = p.cost_combo
- if idx1 == idx2 {
- return
- }
-
- if idx2 < idx1 {
- var t uint32 = idx2
- idx2 = idx1
- idx1 = t
- }
-
- p.idx1 = idx1
- p.idx2 = idx2
- p.cost_diff = 0.5 * clusterCostDiff(uint(cluster_size[idx1]), uint(cluster_size[idx2]))
- p.cost_diff -= out[idx1].bit_cost_
- p.cost_diff -= out[idx2].bit_cost_
-
- if out[idx1].total_count_ == 0 {
- p.cost_combo = out[idx2].bit_cost_
- is_good_pair = true
- } else if out[idx2].total_count_ == 0 {
- p.cost_combo = out[idx1].bit_cost_
- is_good_pair = true
- } else {
- var threshold float64
- if *num_pairs == 0 {
- threshold = 1e99
- } else {
- threshold = brotli_max_double(0.0, pairs[0].cost_diff)
- }
- var combo histogramDistance = out[idx1]
- var cost_combo float64
- histogramAddHistogramDistance(&combo, &out[idx2])
- cost_combo = populationCostDistance(&combo)
- if cost_combo < threshold-p.cost_diff {
- p.cost_combo = cost_combo
- is_good_pair = true
- }
- }
-
- if is_good_pair {
- p.cost_diff += p.cost_combo
- if *num_pairs > 0 && histogramPairIsLess(&pairs[0], &p) {
- /* Replace the top of the queue if needed. */
- if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = pairs[0]
- (*num_pairs)++
- }
-
- pairs[0] = p
- } else if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = p
- (*num_pairs)++
- }
- }
-}
-
-func histogramCombineDistance(out []histogramDistance, cluster_size []uint32, symbols []uint32, clusters []uint32, pairs []histogramPair, num_clusters uint, symbols_size uint, max_clusters uint, max_num_pairs uint) uint {
- var cost_diff_threshold float64 = 0.0
- var min_cluster_size uint = 1
- var num_pairs uint = 0
- {
- /* We maintain a vector of histogram pairs, with the property that the pair
- with the maximum bit cost reduction is the first. */
- var idx1 uint
- for idx1 = 0; idx1 < num_clusters; idx1++ {
- var idx2 uint
- for idx2 = idx1 + 1; idx2 < num_clusters; idx2++ {
- compareAndPushToQueueDistance(out, cluster_size, clusters[idx1], clusters[idx2], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
- }
-
- for num_clusters > min_cluster_size {
- var best_idx1 uint32
- var best_idx2 uint32
- var i uint
- if pairs[0].cost_diff >= cost_diff_threshold {
- cost_diff_threshold = 1e99
- min_cluster_size = max_clusters
- continue
- }
-
- /* Take the best pair from the top of heap. */
- best_idx1 = pairs[0].idx1
-
- best_idx2 = pairs[0].idx2
- histogramAddHistogramDistance(&out[best_idx1], &out[best_idx2])
- out[best_idx1].bit_cost_ = pairs[0].cost_combo
- cluster_size[best_idx1] += cluster_size[best_idx2]
- for i = 0; i < symbols_size; i++ {
- if symbols[i] == best_idx2 {
- symbols[i] = best_idx1
- }
- }
-
- for i = 0; i < num_clusters; i++ {
- if clusters[i] == best_idx2 {
- copy(clusters[i:], clusters[i+1:][:num_clusters-i-1])
- break
- }
- }
-
- num_clusters--
- {
- /* Remove pairs intersecting the just combined best pair. */
- var copy_to_idx uint = 0
- for i = 0; i < num_pairs; i++ {
- var p *histogramPair = &pairs[i]
- if p.idx1 == best_idx1 || p.idx2 == best_idx1 || p.idx1 == best_idx2 || p.idx2 == best_idx2 {
- /* Remove invalid pair from the queue. */
- continue
- }
-
- if histogramPairIsLess(&pairs[0], p) {
- /* Replace the top of the queue if needed. */
- var front histogramPair = pairs[0]
- pairs[0] = *p
- pairs[copy_to_idx] = front
- } else {
- pairs[copy_to_idx] = *p
- }
-
- copy_to_idx++
- }
-
- num_pairs = copy_to_idx
- }
-
- /* Push new pairs formed with the combined histogram to the heap. */
- for i = 0; i < num_clusters; i++ {
- compareAndPushToQueueDistance(out, cluster_size, best_idx1, clusters[i], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
-
- return num_clusters
-}
-
-/* What is the bit cost of moving histogram from cur_symbol to candidate. */
-func histogramBitCostDistanceDistance(histogram *histogramDistance, candidate *histogramDistance) float64 {
- if histogram.total_count_ == 0 {
- return 0.0
- } else {
- var tmp histogramDistance = *histogram
- histogramAddHistogramDistance(&tmp, candidate)
- return populationCostDistance(&tmp) - candidate.bit_cost_
- }
-}
-
-/* Find the best 'out' histogram for each of the 'in' histograms.
- When called, clusters[0..num_clusters) contains the unique values from
- symbols[0..in_size), but this property is not preserved in this function.
- Note: we assume that out[]->bit_cost_ is already up-to-date. */
-func histogramRemapDistance(in []histogramDistance, in_size uint, clusters []uint32, num_clusters uint, out []histogramDistance, symbols []uint32) {
- var i uint
- for i = 0; i < in_size; i++ {
- var best_out uint32
- if i == 0 {
- best_out = symbols[0]
- } else {
- best_out = symbols[i-1]
- }
- var best_bits float64 = histogramBitCostDistanceDistance(&in[i], &out[best_out])
- var j uint
- for j = 0; j < num_clusters; j++ {
- var cur_bits float64 = histogramBitCostDistanceDistance(&in[i], &out[clusters[j]])
- if cur_bits < best_bits {
- best_bits = cur_bits
- best_out = clusters[j]
- }
- }
-
- symbols[i] = best_out
- }
-
- /* Recompute each out based on raw and symbols. */
- for i = 0; i < num_clusters; i++ {
- histogramClearDistance(&out[clusters[i]])
- }
-
- for i = 0; i < in_size; i++ {
- histogramAddHistogramDistance(&out[symbols[i]], &in[i])
- }
-}
-
-/* Reorders elements of the out[0..length) array and changes values in
- symbols[0..length) array in the following way:
- * when called, symbols[] contains indexes into out[], and has N unique
- values (possibly N < length)
- * on return, symbols'[i] = f(symbols[i]) and
- out'[symbols'[i]] = out[symbols[i]], for each 0 <= i < length,
- where f is a bijection between the range of symbols[] and [0..N), and
- the first occurrences of values in symbols'[i] come in consecutive
- increasing order.
- Returns N, the number of unique values in symbols[]. */
-
-var histogramReindexDistance_kInvalidIndex uint32 = math.MaxUint32
-
-func histogramReindexDistance(out []histogramDistance, symbols []uint32, length uint) uint {
- var new_index []uint32 = make([]uint32, length)
- var next_index uint32
- var tmp []histogramDistance
- var i uint
- for i = 0; i < length; i++ {
- new_index[i] = histogramReindexDistance_kInvalidIndex
- }
-
- next_index = 0
- for i = 0; i < length; i++ {
- if new_index[symbols[i]] == histogramReindexDistance_kInvalidIndex {
- new_index[symbols[i]] = next_index
- next_index++
- }
- }
-
- /* TODO: by using idea of "cycle-sort" we can avoid allocation of
- tmp and reduce the number of copying by the factor of 2. */
- tmp = make([]histogramDistance, next_index)
-
- next_index = 0
- for i = 0; i < length; i++ {
- if new_index[symbols[i]] == next_index {
- tmp[next_index] = out[symbols[i]]
- next_index++
- }
-
- symbols[i] = new_index[symbols[i]]
- }
-
- new_index = nil
- for i = 0; uint32(i) < next_index; i++ {
- out[i] = tmp[i]
- }
-
- tmp = nil
- return uint(next_index)
-}
-
-func clusterHistogramsDistance(in []histogramDistance, in_size uint, max_histograms uint, out []histogramDistance, out_size *uint, histogram_symbols []uint32) {
- var cluster_size []uint32 = make([]uint32, in_size)
- var clusters []uint32 = make([]uint32, in_size)
- var num_clusters uint = 0
- var max_input_histograms uint = 64
- var pairs_capacity uint = max_input_histograms * max_input_histograms / 2
- var pairs []histogramPair = make([]histogramPair, (pairs_capacity + 1))
- var i uint
-
- /* For the first pass of clustering, we allow all pairs. */
- for i = 0; i < in_size; i++ {
- cluster_size[i] = 1
- }
-
- for i = 0; i < in_size; i++ {
- out[i] = in[i]
- out[i].bit_cost_ = populationCostDistance(&in[i])
- histogram_symbols[i] = uint32(i)
- }
-
- for i = 0; i < in_size; i += max_input_histograms {
- var num_to_combine uint = brotli_min_size_t(in_size-i, max_input_histograms)
- var num_new_clusters uint
- var j uint
- for j = 0; j < num_to_combine; j++ {
- clusters[num_clusters+j] = uint32(i + j)
- }
-
- num_new_clusters = histogramCombineDistance(out, cluster_size, histogram_symbols[i:], clusters[num_clusters:], pairs, num_to_combine, num_to_combine, max_histograms, pairs_capacity)
- num_clusters += num_new_clusters
- }
- {
- /* For the second pass, we limit the total number of histogram pairs.
- After this limit is reached, we only keep searching for the best pair. */
- var max_num_pairs uint = brotli_min_size_t(64*num_clusters, (num_clusters/2)*num_clusters)
- if pairs_capacity < (max_num_pairs + 1) {
- var _new_size uint
- if pairs_capacity == 0 {
- _new_size = max_num_pairs + 1
- } else {
- _new_size = pairs_capacity
- }
- var new_array []histogramPair
- for _new_size < (max_num_pairs + 1) {
- _new_size *= 2
- }
- new_array = make([]histogramPair, _new_size)
- if pairs_capacity != 0 {
- copy(new_array, pairs[:pairs_capacity])
- }
-
- pairs = new_array
- pairs_capacity = _new_size
- }
-
- /* Collapse similar histograms. */
- num_clusters = histogramCombineDistance(out, cluster_size, histogram_symbols, clusters, pairs, num_clusters, in_size, max_histograms, max_num_pairs)
- }
-
- pairs = nil
- cluster_size = nil
-
- /* Find the optimal map from original histograms to the final ones. */
- histogramRemapDistance(in, in_size, clusters, num_clusters, out, histogram_symbols)
-
- clusters = nil
-
- /* Convert the context map to a canonical form. */
- *out_size = histogramReindexDistance(out, histogram_symbols, in_size)
-}
diff --git a/vendor/github.com/andybalholm/brotli/cluster_literal.go b/vendor/github.com/andybalholm/brotli/cluster_literal.go
deleted file mode 100644
index 6ba66f31..00000000
--- a/vendor/github.com/andybalholm/brotli/cluster_literal.go
+++ /dev/null
@@ -1,326 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Computes the bit cost reduction by combining out[idx1] and out[idx2] and if
- it is below a threshold, stores the pair (idx1, idx2) in the *pairs queue. */
-func compareAndPushToQueueLiteral(out []histogramLiteral, cluster_size []uint32, idx1 uint32, idx2 uint32, max_num_pairs uint, pairs []histogramPair, num_pairs *uint) {
- var is_good_pair bool = false
- var p histogramPair
- p.idx2 = 0
- p.idx1 = p.idx2
- p.cost_combo = 0
- p.cost_diff = p.cost_combo
- if idx1 == idx2 {
- return
- }
-
- if idx2 < idx1 {
- var t uint32 = idx2
- idx2 = idx1
- idx1 = t
- }
-
- p.idx1 = idx1
- p.idx2 = idx2
- p.cost_diff = 0.5 * clusterCostDiff(uint(cluster_size[idx1]), uint(cluster_size[idx2]))
- p.cost_diff -= out[idx1].bit_cost_
- p.cost_diff -= out[idx2].bit_cost_
-
- if out[idx1].total_count_ == 0 {
- p.cost_combo = out[idx2].bit_cost_
- is_good_pair = true
- } else if out[idx2].total_count_ == 0 {
- p.cost_combo = out[idx1].bit_cost_
- is_good_pair = true
- } else {
- var threshold float64
- if *num_pairs == 0 {
- threshold = 1e99
- } else {
- threshold = brotli_max_double(0.0, pairs[0].cost_diff)
- }
- var combo histogramLiteral = out[idx1]
- var cost_combo float64
- histogramAddHistogramLiteral(&combo, &out[idx2])
- cost_combo = populationCostLiteral(&combo)
- if cost_combo < threshold-p.cost_diff {
- p.cost_combo = cost_combo
- is_good_pair = true
- }
- }
-
- if is_good_pair {
- p.cost_diff += p.cost_combo
- if *num_pairs > 0 && histogramPairIsLess(&pairs[0], &p) {
- /* Replace the top of the queue if needed. */
- if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = pairs[0]
- (*num_pairs)++
- }
-
- pairs[0] = p
- } else if *num_pairs < max_num_pairs {
- pairs[*num_pairs] = p
- (*num_pairs)++
- }
- }
-}
-
-func histogramCombineLiteral(out []histogramLiteral, cluster_size []uint32, symbols []uint32, clusters []uint32, pairs []histogramPair, num_clusters uint, symbols_size uint, max_clusters uint, max_num_pairs uint) uint {
- var cost_diff_threshold float64 = 0.0
- var min_cluster_size uint = 1
- var num_pairs uint = 0
- {
- /* We maintain a vector of histogram pairs, with the property that the pair
- with the maximum bit cost reduction is the first. */
- var idx1 uint
- for idx1 = 0; idx1 < num_clusters; idx1++ {
- var idx2 uint
- for idx2 = idx1 + 1; idx2 < num_clusters; idx2++ {
- compareAndPushToQueueLiteral(out, cluster_size, clusters[idx1], clusters[idx2], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
- }
-
- for num_clusters > min_cluster_size {
- var best_idx1 uint32
- var best_idx2 uint32
- var i uint
- if pairs[0].cost_diff >= cost_diff_threshold {
- cost_diff_threshold = 1e99
- min_cluster_size = max_clusters
- continue
- }
-
- /* Take the best pair from the top of heap. */
- best_idx1 = pairs[0].idx1
-
- best_idx2 = pairs[0].idx2
- histogramAddHistogramLiteral(&out[best_idx1], &out[best_idx2])
- out[best_idx1].bit_cost_ = pairs[0].cost_combo
- cluster_size[best_idx1] += cluster_size[best_idx2]
- for i = 0; i < symbols_size; i++ {
- if symbols[i] == best_idx2 {
- symbols[i] = best_idx1
- }
- }
-
- for i = 0; i < num_clusters; i++ {
- if clusters[i] == best_idx2 {
- copy(clusters[i:], clusters[i+1:][:num_clusters-i-1])
- break
- }
- }
-
- num_clusters--
- {
- /* Remove pairs intersecting the just combined best pair. */
- var copy_to_idx uint = 0
- for i = 0; i < num_pairs; i++ {
- var p *histogramPair = &pairs[i]
- if p.idx1 == best_idx1 || p.idx2 == best_idx1 || p.idx1 == best_idx2 || p.idx2 == best_idx2 {
- /* Remove invalid pair from the queue. */
- continue
- }
-
- if histogramPairIsLess(&pairs[0], p) {
- /* Replace the top of the queue if needed. */
- var front histogramPair = pairs[0]
- pairs[0] = *p
- pairs[copy_to_idx] = front
- } else {
- pairs[copy_to_idx] = *p
- }
-
- copy_to_idx++
- }
-
- num_pairs = copy_to_idx
- }
-
- /* Push new pairs formed with the combined histogram to the heap. */
- for i = 0; i < num_clusters; i++ {
- compareAndPushToQueueLiteral(out, cluster_size, best_idx1, clusters[i], max_num_pairs, pairs[0:], &num_pairs)
- }
- }
-
- return num_clusters
-}
-
-/* What is the bit cost of moving histogram from cur_symbol to candidate. */
-func histogramBitCostDistanceLiteral(histogram *histogramLiteral, candidate *histogramLiteral) float64 {
- if histogram.total_count_ == 0 {
- return 0.0
- } else {
- var tmp histogramLiteral = *histogram
- histogramAddHistogramLiteral(&tmp, candidate)
- return populationCostLiteral(&tmp) - candidate.bit_cost_
- }
-}
-
-/* Find the best 'out' histogram for each of the 'in' histograms.
- When called, clusters[0..num_clusters) contains the unique values from
- symbols[0..in_size), but this property is not preserved in this function.
- Note: we assume that out[]->bit_cost_ is already up-to-date. */
-func histogramRemapLiteral(in []histogramLiteral, in_size uint, clusters []uint32, num_clusters uint, out []histogramLiteral, symbols []uint32) {
- var i uint
- for i = 0; i < in_size; i++ {
- var best_out uint32
- if i == 0 {
- best_out = symbols[0]
- } else {
- best_out = symbols[i-1]
- }
- var best_bits float64 = histogramBitCostDistanceLiteral(&in[i], &out[best_out])
- var j uint
- for j = 0; j < num_clusters; j++ {
- var cur_bits float64 = histogramBitCostDistanceLiteral(&in[i], &out[clusters[j]])
- if cur_bits < best_bits {
- best_bits = cur_bits
- best_out = clusters[j]
- }
- }
-
- symbols[i] = best_out
- }
-
- /* Recompute each out based on raw and symbols. */
- for i = 0; i < num_clusters; i++ {
- histogramClearLiteral(&out[clusters[i]])
- }
-
- for i = 0; i < in_size; i++ {
- histogramAddHistogramLiteral(&out[symbols[i]], &in[i])
- }
-}
-
-/* Reorders elements of the out[0..length) array and changes values in
- symbols[0..length) array in the following way:
- * when called, symbols[] contains indexes into out[], and has N unique
- values (possibly N < length)
- * on return, symbols'[i] = f(symbols[i]) and
- out'[symbols'[i]] = out[symbols[i]], for each 0 <= i < length,
- where f is a bijection between the range of symbols[] and [0..N), and
- the first occurrences of values in symbols'[i] come in consecutive
- increasing order.
- Returns N, the number of unique values in symbols[]. */
-
-var histogramReindexLiteral_kInvalidIndex uint32 = math.MaxUint32
-
-func histogramReindexLiteral(out []histogramLiteral, symbols []uint32, length uint) uint {
- var new_index []uint32 = make([]uint32, length)
- var next_index uint32
- var tmp []histogramLiteral
- var i uint
- for i = 0; i < length; i++ {
- new_index[i] = histogramReindexLiteral_kInvalidIndex
- }
-
- next_index = 0
- for i = 0; i < length; i++ {
- if new_index[symbols[i]] == histogramReindexLiteral_kInvalidIndex {
- new_index[symbols[i]] = next_index
- next_index++
- }
- }
-
- /* TODO: by using idea of "cycle-sort" we can avoid allocation of
- tmp and reduce the number of copying by the factor of 2. */
- tmp = make([]histogramLiteral, next_index)
-
- next_index = 0
- for i = 0; i < length; i++ {
- if new_index[symbols[i]] == next_index {
- tmp[next_index] = out[symbols[i]]
- next_index++
- }
-
- symbols[i] = new_index[symbols[i]]
- }
-
- new_index = nil
- for i = 0; uint32(i) < next_index; i++ {
- out[i] = tmp[i]
- }
-
- tmp = nil
- return uint(next_index)
-}
-
-func clusterHistogramsLiteral(in []histogramLiteral, in_size uint, max_histograms uint, out []histogramLiteral, out_size *uint, histogram_symbols []uint32) {
- var cluster_size []uint32 = make([]uint32, in_size)
- var clusters []uint32 = make([]uint32, in_size)
- var num_clusters uint = 0
- var max_input_histograms uint = 64
- var pairs_capacity uint = max_input_histograms * max_input_histograms / 2
- var pairs []histogramPair = make([]histogramPair, (pairs_capacity + 1))
- var i uint
-
- /* For the first pass of clustering, we allow all pairs. */
- for i = 0; i < in_size; i++ {
- cluster_size[i] = 1
- }
-
- for i = 0; i < in_size; i++ {
- out[i] = in[i]
- out[i].bit_cost_ = populationCostLiteral(&in[i])
- histogram_symbols[i] = uint32(i)
- }
-
- for i = 0; i < in_size; i += max_input_histograms {
- var num_to_combine uint = brotli_min_size_t(in_size-i, max_input_histograms)
- var num_new_clusters uint
- var j uint
- for j = 0; j < num_to_combine; j++ {
- clusters[num_clusters+j] = uint32(i + j)
- }
-
- num_new_clusters = histogramCombineLiteral(out, cluster_size, histogram_symbols[i:], clusters[num_clusters:], pairs, num_to_combine, num_to_combine, max_histograms, pairs_capacity)
- num_clusters += num_new_clusters
- }
- {
- /* For the second pass, we limit the total number of histogram pairs.
- After this limit is reached, we only keep searching for the best pair. */
- var max_num_pairs uint = brotli_min_size_t(64*num_clusters, (num_clusters/2)*num_clusters)
- if pairs_capacity < (max_num_pairs + 1) {
- var _new_size uint
- if pairs_capacity == 0 {
- _new_size = max_num_pairs + 1
- } else {
- _new_size = pairs_capacity
- }
- var new_array []histogramPair
- for _new_size < (max_num_pairs + 1) {
- _new_size *= 2
- }
- new_array = make([]histogramPair, _new_size)
- if pairs_capacity != 0 {
- copy(new_array, pairs[:pairs_capacity])
- }
-
- pairs = new_array
- pairs_capacity = _new_size
- }
-
- /* Collapse similar histograms. */
- num_clusters = histogramCombineLiteral(out, cluster_size, histogram_symbols, clusters, pairs, num_clusters, in_size, max_histograms, max_num_pairs)
- }
-
- pairs = nil
- cluster_size = nil
-
- /* Find the optimal map from original histograms to the final ones. */
- histogramRemapLiteral(in, in_size, clusters, num_clusters, out, histogram_symbols)
-
- clusters = nil
-
- /* Convert the context map to a canonical form. */
- *out_size = histogramReindexLiteral(out, histogram_symbols, in_size)
-}
diff --git a/vendor/github.com/andybalholm/brotli/command.go b/vendor/github.com/andybalholm/brotli/command.go
deleted file mode 100644
index b1662a55..00000000
--- a/vendor/github.com/andybalholm/brotli/command.go
+++ /dev/null
@@ -1,254 +0,0 @@
-package brotli
-
-var kInsBase = []uint32{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 8,
- 10,
- 14,
- 18,
- 26,
- 34,
- 50,
- 66,
- 98,
- 130,
- 194,
- 322,
- 578,
- 1090,
- 2114,
- 6210,
- 22594,
-}
-
-var kInsExtra = []uint32{
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 5,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 12,
- 14,
- 24,
-}
-
-var kCopyBase = []uint32{
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 12,
- 14,
- 18,
- 22,
- 30,
- 38,
- 54,
- 70,
- 102,
- 134,
- 198,
- 326,
- 582,
- 1094,
- 2118,
-}
-
-var kCopyExtra = []uint32{
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 5,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 24,
-}
-
-func getInsertLengthCode(insertlen uint) uint16 {
- if insertlen < 6 {
- return uint16(insertlen)
- } else if insertlen < 130 {
- var nbits uint32 = log2FloorNonZero(insertlen-2) - 1
- return uint16((nbits << 1) + uint32((insertlen-2)>>nbits) + 2)
- } else if insertlen < 2114 {
- return uint16(log2FloorNonZero(insertlen-66) + 10)
- } else if insertlen < 6210 {
- return 21
- } else if insertlen < 22594 {
- return 22
- } else {
- return 23
- }
-}
-
-func getCopyLengthCode(copylen uint) uint16 {
- if copylen < 10 {
- return uint16(copylen - 2)
- } else if copylen < 134 {
- var nbits uint32 = log2FloorNonZero(copylen-6) - 1
- return uint16((nbits << 1) + uint32((copylen-6)>>nbits) + 4)
- } else if copylen < 2118 {
- return uint16(log2FloorNonZero(copylen-70) + 12)
- } else {
- return 23
- }
-}
-
-func combineLengthCodes(inscode uint16, copycode uint16, use_last_distance bool) uint16 {
- var bits64 uint16 = uint16(copycode&0x7 | (inscode&0x7)<<3)
- if use_last_distance && inscode < 8 && copycode < 16 {
- if copycode < 8 {
- return bits64
- } else {
- return bits64 | 64
- }
- } else {
- /* Specification: 5 Encoding of ... (last table) */
- /* offset = 2 * index, where index is in range [0..8] */
- var offset uint32 = 2 * ((uint32(copycode) >> 3) + 3*(uint32(inscode)>>3))
-
- /* All values in specification are K * 64,
- where K = [2, 3, 6, 4, 5, 8, 7, 9, 10],
- i + 1 = [1, 2, 3, 4, 5, 6, 7, 8, 9],
- K - i - 1 = [1, 1, 3, 0, 0, 2, 0, 1, 2] = D.
- All values in D require only 2 bits to encode.
- Magic constant is shifted 6 bits left, to avoid final multiplication. */
- offset = (offset << 5) + 0x40 + ((0x520D40 >> offset) & 0xC0)
-
- return uint16(offset | uint32(bits64))
- }
-}
-
-func getLengthCode(insertlen uint, copylen uint, use_last_distance bool, code *uint16) {
- var inscode uint16 = getInsertLengthCode(insertlen)
- var copycode uint16 = getCopyLengthCode(copylen)
- *code = combineLengthCodes(inscode, copycode, use_last_distance)
-}
-
-func getInsertBase(inscode uint16) uint32 {
- return kInsBase[inscode]
-}
-
-func getInsertExtra(inscode uint16) uint32 {
- return kInsExtra[inscode]
-}
-
-func getCopyBase(copycode uint16) uint32 {
- return kCopyBase[copycode]
-}
-
-func getCopyExtra(copycode uint16) uint32 {
- return kCopyExtra[copycode]
-}
-
-type command struct {
- insert_len_ uint32
- copy_len_ uint32
- dist_extra_ uint32
- cmd_prefix_ uint16
- dist_prefix_ uint16
-}
-
-/* distance_code is e.g. 0 for same-as-last short code, or 16 for offset 1. */
-func makeCommand(dist *distanceParams, insertlen uint, copylen uint, copylen_code_delta int, distance_code uint) (cmd command) {
- /* Don't rely on signed int representation, use honest casts. */
- var delta uint32 = uint32(byte(int8(copylen_code_delta)))
- cmd.insert_len_ = uint32(insertlen)
- cmd.copy_len_ = uint32(uint32(copylen) | delta<<25)
-
- /* The distance prefix and extra bits are stored in this Command as if
- npostfix and ndirect were 0, they are only recomputed later after the
- clustering if needed. */
- prefixEncodeCopyDistance(distance_code, uint(dist.num_direct_distance_codes), uint(dist.distance_postfix_bits), &cmd.dist_prefix_, &cmd.dist_extra_)
- getLengthCode(insertlen, uint(int(copylen)+copylen_code_delta), (cmd.dist_prefix_&0x3FF == 0), &cmd.cmd_prefix_)
-
- return cmd
-}
-
-func makeInsertCommand(insertlen uint) (cmd command) {
- cmd.insert_len_ = uint32(insertlen)
- cmd.copy_len_ = 4 << 25
- cmd.dist_extra_ = 0
- cmd.dist_prefix_ = numDistanceShortCodes
- getLengthCode(insertlen, 4, false, &cmd.cmd_prefix_)
- return cmd
-}
-
-func commandRestoreDistanceCode(self *command, dist *distanceParams) uint32 {
- if uint32(self.dist_prefix_&0x3FF) < numDistanceShortCodes+dist.num_direct_distance_codes {
- return uint32(self.dist_prefix_) & 0x3FF
- } else {
- var dcode uint32 = uint32(self.dist_prefix_) & 0x3FF
- var nbits uint32 = uint32(self.dist_prefix_) >> 10
- var extra uint32 = self.dist_extra_
- var postfix_mask uint32 = (1 << dist.distance_postfix_bits) - 1
- var hcode uint32 = (dcode - dist.num_direct_distance_codes - numDistanceShortCodes) >> dist.distance_postfix_bits
- var lcode uint32 = (dcode - dist.num_direct_distance_codes - numDistanceShortCodes) & postfix_mask
- var offset uint32 = ((2 + (hcode & 1)) << nbits) - 4
- return ((offset + extra) << dist.distance_postfix_bits) + lcode + dist.num_direct_distance_codes + numDistanceShortCodes
- }
-}
-
-func commandDistanceContext(self *command) uint32 {
- var r uint32 = uint32(self.cmd_prefix_) >> 6
- var c uint32 = uint32(self.cmd_prefix_) & 7
- if (r == 0 || r == 2 || r == 4 || r == 7) && (c <= 2) {
- return c
- }
-
- return 3
-}
-
-func commandCopyLen(self *command) uint32 {
- return self.copy_len_ & 0x1FFFFFF
-}
-
-func commandCopyLenCode(self *command) uint32 {
- var modifier uint32 = self.copy_len_ >> 25
- var delta int32 = int32(int8(byte(modifier | (modifier&0x40)<<1)))
- return uint32(int32(self.copy_len_&0x1FFFFFF) + delta)
-}
diff --git a/vendor/github.com/andybalholm/brotli/compress_fragment.go b/vendor/github.com/andybalholm/brotli/compress_fragment.go
deleted file mode 100644
index c9bd0577..00000000
--- a/vendor/github.com/andybalholm/brotli/compress_fragment.go
+++ /dev/null
@@ -1,834 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Function for fast encoding of an input fragment, independently from the input
- history. This function uses one-pass processing: when we find a backward
- match, we immediately emit the corresponding command and literal codes to
- the bit stream.
-
- Adapted from the CompressFragment() function in
- https://github.com/google/snappy/blob/master/snappy.cc */
-
-const maxDistance_compress_fragment = 262128
-
-func hash5(p []byte, shift uint) uint32 {
- var h uint64 = (binary.LittleEndian.Uint64(p) << 24) * uint64(kHashMul32)
- return uint32(h >> shift)
-}
-
-func hashBytesAtOffset5(v uint64, offset int, shift uint) uint32 {
- assert(offset >= 0)
- assert(offset <= 3)
- {
- var h uint64 = ((v >> uint(8*offset)) << 24) * uint64(kHashMul32)
- return uint32(h >> shift)
- }
-}
-
-func isMatch5(p1 []byte, p2 []byte) bool {
- return binary.LittleEndian.Uint32(p1) == binary.LittleEndian.Uint32(p2) &&
- p1[4] == p2[4]
-}
-
-/* Builds a literal prefix code into "depths" and "bits" based on the statistics
- of the "input" string and stores it into the bit stream.
- Note that the prefix code here is built from the pre-LZ77 input, therefore
- we can only approximate the statistics of the actual literal stream.
- Moreover, for long inputs we build a histogram from a sample of the input
- and thus have to assign a non-zero depth for each literal.
- Returns estimated compression ratio millibytes/char for encoding given input
- with generated code. */
-func buildAndStoreLiteralPrefixCode(input []byte, input_size uint, depths []byte, bits []uint16, storage_ix *uint, storage []byte) uint {
- var histogram = [256]uint32{0}
- var histogram_total uint
- var i uint
- if input_size < 1<<15 {
- for i = 0; i < input_size; i++ {
- histogram[input[i]]++
- }
-
- histogram_total = input_size
- for i = 0; i < 256; i++ {
- /* We weigh the first 11 samples with weight 3 to account for the
- balancing effect of the LZ77 phase on the histogram. */
- var adjust uint32 = 2 * brotli_min_uint32_t(histogram[i], 11)
- histogram[i] += adjust
- histogram_total += uint(adjust)
- }
- } else {
- const kSampleRate uint = 29
- for i = 0; i < input_size; i += kSampleRate {
- histogram[input[i]]++
- }
-
- histogram_total = (input_size + kSampleRate - 1) / kSampleRate
- for i = 0; i < 256; i++ {
- /* We add 1 to each population count to avoid 0 bit depths (since this is
- only a sample and we don't know if the symbol appears or not), and we
- weigh the first 11 samples with weight 3 to account for the balancing
- effect of the LZ77 phase on the histogram (more frequent symbols are
- more likely to be in backward references instead as literals). */
- var adjust uint32 = 1 + 2*brotli_min_uint32_t(histogram[i], 11)
- histogram[i] += adjust
- histogram_total += uint(adjust)
- }
- }
-
- buildAndStoreHuffmanTreeFast(histogram[:], histogram_total, /* max_bits = */
- 8, depths, bits, storage_ix, storage)
- {
- var literal_ratio uint = 0
- for i = 0; i < 256; i++ {
- if histogram[i] != 0 {
- literal_ratio += uint(histogram[i] * uint32(depths[i]))
- }
- }
-
- /* Estimated encoding ratio, millibytes per symbol. */
- return (literal_ratio * 125) / histogram_total
- }
-}
-
-/* Builds a command and distance prefix code (each 64 symbols) into "depth" and
- "bits" based on "histogram" and stores it into the bit stream. */
-func buildAndStoreCommandPrefixCode1(histogram []uint32, depth []byte, bits []uint16, storage_ix *uint, storage []byte) {
- var tree [129]huffmanTree
- var cmd_depth = [numCommandSymbols]byte{0}
- /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */
-
- var cmd_bits [64]uint16
-
- createHuffmanTree(histogram, 64, 15, tree[:], depth)
- createHuffmanTree(histogram[64:], 64, 14, tree[:], depth[64:])
-
- /* We have to jump through a few hoops here in order to compute
- the command bits because the symbols are in a different order than in
- the full alphabet. This looks complicated, but having the symbols
- in this order in the command bits saves a few branches in the Emit*
- functions. */
- copy(cmd_depth[:], depth[:24])
-
- copy(cmd_depth[24:][:], depth[40:][:8])
- copy(cmd_depth[32:][:], depth[24:][:8])
- copy(cmd_depth[40:][:], depth[48:][:8])
- copy(cmd_depth[48:][:], depth[32:][:8])
- copy(cmd_depth[56:][:], depth[56:][:8])
- convertBitDepthsToSymbols(cmd_depth[:], 64, cmd_bits[:])
- copy(bits, cmd_bits[:24])
- copy(bits[24:], cmd_bits[32:][:8])
- copy(bits[32:], cmd_bits[48:][:8])
- copy(bits[40:], cmd_bits[24:][:8])
- copy(bits[48:], cmd_bits[40:][:8])
- copy(bits[56:], cmd_bits[56:][:8])
- convertBitDepthsToSymbols(depth[64:], 64, bits[64:])
- {
- /* Create the bit length array for the full command alphabet. */
- var i uint
- for i := 0; i < int(64); i++ {
- cmd_depth[i] = 0
- } /* only 64 first values were used */
- copy(cmd_depth[:], depth[:8])
- copy(cmd_depth[64:][:], depth[8:][:8])
- copy(cmd_depth[128:][:], depth[16:][:8])
- copy(cmd_depth[192:][:], depth[24:][:8])
- copy(cmd_depth[384:][:], depth[32:][:8])
- for i = 0; i < 8; i++ {
- cmd_depth[128+8*i] = depth[40+i]
- cmd_depth[256+8*i] = depth[48+i]
- cmd_depth[448+8*i] = depth[56+i]
- }
-
- storeHuffmanTree(cmd_depth[:], numCommandSymbols, tree[:], storage_ix, storage)
- }
-
- storeHuffmanTree(depth[64:], 64, tree[:], storage_ix, storage)
-}
-
-/* REQUIRES: insertlen < 6210 */
-func emitInsertLen1(insertlen uint, depth []byte, bits []uint16, histo []uint32, storage_ix *uint, storage []byte) {
- if insertlen < 6 {
- var code uint = insertlen + 40
- writeBits(uint(depth[code]), uint64(bits[code]), storage_ix, storage)
- histo[code]++
- } else if insertlen < 130 {
- var tail uint = insertlen - 2
- var nbits uint32 = log2FloorNonZero(tail) - 1
- var prefix uint = tail >> nbits
- var inscode uint = uint((nbits << 1) + uint32(prefix) + 42)
- writeBits(uint(depth[inscode]), uint64(bits[inscode]), storage_ix, storage)
- writeBits(uint(nbits), uint64(tail)-(uint64(prefix)<> nbits
- var code uint = uint((nbits << 1) + uint32(prefix) + 20)
- writeBits(uint(depth[code]), uint64(bits[code]), storage_ix, storage)
- writeBits(uint(nbits), uint64(tail)-(uint64(prefix)<> nbits
- var code uint = uint((nbits << 1) + uint32(prefix) + 4)
- writeBits(uint(depth[code]), uint64(bits[code]), storage_ix, storage)
- writeBits(uint(nbits), uint64(tail)-(uint64(prefix)<> 5) + 30
- writeBits(uint(depth[code]), uint64(bits[code]), storage_ix, storage)
- writeBits(5, uint64(tail)&31, storage_ix, storage)
- writeBits(uint(depth[64]), uint64(bits[64]), storage_ix, storage)
- histo[code]++
- histo[64]++
- } else if copylen < 2120 {
- var tail uint = copylen - 72
- var nbits uint32 = log2FloorNonZero(tail)
- var code uint = uint(nbits + 28)
- writeBits(uint(depth[code]), uint64(bits[code]), storage_ix, storage)
- writeBits(uint(nbits), uint64(tail)-(uint64(uint(1))<> nbits) & 1
- var offset uint = (2 + prefix) << nbits
- var distcode uint = uint(2*(nbits-1) + uint32(prefix) + 80)
- writeBits(uint(depth[distcode]), uint64(bits[distcode]), storage_ix, storage)
- writeBits(uint(nbits), uint64(d)-uint64(offset), storage_ix, storage)
- histo[distcode]++
-}
-
-func emitLiterals(input []byte, len uint, depth []byte, bits []uint16, storage_ix *uint, storage []byte) {
- var j uint
- for j = 0; j < len; j++ {
- var lit byte = input[j]
- writeBits(uint(depth[lit]), uint64(bits[lit]), storage_ix, storage)
- }
-}
-
-/* REQUIRES: len <= 1 << 24. */
-func storeMetaBlockHeader1(len uint, is_uncompressed bool, storage_ix *uint, storage []byte) {
- var nibbles uint = 6
-
- /* ISLAST */
- writeBits(1, 0, storage_ix, storage)
-
- if len <= 1<<16 {
- nibbles = 4
- } else if len <= 1<<20 {
- nibbles = 5
- }
-
- writeBits(2, uint64(nibbles)-4, storage_ix, storage)
- writeBits(nibbles*4, uint64(len)-1, storage_ix, storage)
-
- /* ISUNCOMPRESSED */
- writeSingleBit(is_uncompressed, storage_ix, storage)
-}
-
-func updateBits(n_bits uint, bits uint32, pos uint, array []byte) {
- for n_bits > 0 {
- var byte_pos uint = pos >> 3
- var n_unchanged_bits uint = pos & 7
- var n_changed_bits uint = brotli_min_size_t(n_bits, 8-n_unchanged_bits)
- var total_bits uint = n_unchanged_bits + n_changed_bits
- var mask uint32 = (^((1 << total_bits) - 1)) | ((1 << n_unchanged_bits) - 1)
- var unchanged_bits uint32 = uint32(array[byte_pos]) & mask
- var changed_bits uint32 = bits & ((1 << n_changed_bits) - 1)
- array[byte_pos] = byte(changed_bits<>= n_changed_bits
- pos += n_changed_bits
- }
-}
-
-func rewindBitPosition1(new_storage_ix uint, storage_ix *uint, storage []byte) {
- var bitpos uint = new_storage_ix & 7
- var mask uint = (1 << bitpos) - 1
- storage[new_storage_ix>>3] &= byte(mask)
- *storage_ix = new_storage_ix
-}
-
-var shouldMergeBlock_kSampleRate uint = 43
-
-func shouldMergeBlock(data []byte, len uint, depths []byte) bool {
- var histo = [256]uint{0}
- var i uint
- for i = 0; i < len; i += shouldMergeBlock_kSampleRate {
- histo[data[i]]++
- }
- {
- var total uint = (len + shouldMergeBlock_kSampleRate - 1) / shouldMergeBlock_kSampleRate
- var r float64 = (fastLog2(total)+0.5)*float64(total) + 200
- for i = 0; i < 256; i++ {
- r -= float64(histo[i]) * (float64(depths[i]) + fastLog2(histo[i]))
- }
-
- return r >= 0.0
- }
-}
-
-func shouldUseUncompressedMode(metablock_start []byte, next_emit []byte, insertlen uint, literal_ratio uint) bool {
- var compressed uint = uint(-cap(next_emit) + cap(metablock_start))
- if compressed*50 > insertlen {
- return false
- } else {
- return literal_ratio > 980
- }
-}
-
-func emitUncompressedMetaBlock1(begin []byte, end []byte, storage_ix_start uint, storage_ix *uint, storage []byte) {
- var len uint = uint(-cap(end) + cap(begin))
- rewindBitPosition1(storage_ix_start, storage_ix, storage)
- storeMetaBlockHeader1(uint(len), true, storage_ix, storage)
- *storage_ix = (*storage_ix + 7) &^ 7
- copy(storage[*storage_ix>>3:], begin[:len])
- *storage_ix += uint(len << 3)
- storage[*storage_ix>>3] = 0
-}
-
-var kCmdHistoSeed = [128]uint32{
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
-}
-
-var compressFragmentFastImpl_kFirstBlockSize uint = 3 << 15
-var compressFragmentFastImpl_kMergeBlockSize uint = 1 << 16
-
-func compressFragmentFastImpl(in []byte, input_size uint, is_last bool, table []int, table_bits uint, cmd_depth []byte, cmd_bits []uint16, cmd_code_numbits *uint, cmd_code []byte, storage_ix *uint, storage []byte) {
- var cmd_histo [128]uint32
- var ip_end int
- var next_emit int = 0
- var base_ip int = 0
- var input int = 0
- const kInputMarginBytes uint = windowGap
- const kMinMatchLen uint = 5
- var metablock_start int = input
- var block_size uint = brotli_min_size_t(input_size, compressFragmentFastImpl_kFirstBlockSize)
- var total_block_size uint = block_size
- var mlen_storage_ix uint = *storage_ix + 3
- var lit_depth [256]byte
- var lit_bits [256]uint16
- var literal_ratio uint
- var ip int
- var last_distance int
- var shift uint = 64 - table_bits
-
- /* "next_emit" is a pointer to the first byte that is not covered by a
- previous copy. Bytes between "next_emit" and the start of the next copy or
- the end of the input will be emitted as literal bytes. */
-
- /* Save the start of the first block for position and distance computations.
- */
-
- /* Save the bit position of the MLEN field of the meta-block header, so that
- we can update it later if we decide to extend this meta-block. */
- storeMetaBlockHeader1(block_size, false, storage_ix, storage)
-
- /* No block splits, no contexts. */
- writeBits(13, 0, storage_ix, storage)
-
- literal_ratio = buildAndStoreLiteralPrefixCode(in[input:], block_size, lit_depth[:], lit_bits[:], storage_ix, storage)
- {
- /* Store the pre-compressed command and distance prefix codes. */
- var i uint
- for i = 0; i+7 < *cmd_code_numbits; i += 8 {
- writeBits(8, uint64(cmd_code[i>>3]), storage_ix, storage)
- }
- }
-
- writeBits(*cmd_code_numbits&7, uint64(cmd_code[*cmd_code_numbits>>3]), storage_ix, storage)
-
- /* Initialize the command and distance histograms. We will gather
- statistics of command and distance codes during the processing
- of this block and use it to update the command and distance
- prefix codes for the next block. */
-emit_commands:
- copy(cmd_histo[:], kCmdHistoSeed[:])
-
- /* "ip" is the input pointer. */
- ip = input
-
- last_distance = -1
- ip_end = int(uint(input) + block_size)
-
- if block_size >= kInputMarginBytes {
- var len_limit uint = brotli_min_size_t(block_size-kMinMatchLen, input_size-kInputMarginBytes)
- var ip_limit int = int(uint(input) + len_limit)
- /* For the last block, we need to keep a 16 bytes margin so that we can be
- sure that all distances are at most window size - 16.
- For all other blocks, we only need to keep a margin of 5 bytes so that
- we don't go over the block size with a copy. */
-
- var next_hash uint32
- ip++
- for next_hash = hash5(in[ip:], shift); ; {
- var skip uint32 = 32
- var next_ip int = ip
- /* Step 1: Scan forward in the input looking for a 5-byte-long match.
- If we get close to exhausting the input then goto emit_remainder.
-
- Heuristic match skipping: If 32 bytes are scanned with no matches
- found, start looking only at every other byte. If 32 more bytes are
- scanned, look at every third byte, etc.. When a match is found,
- immediately go back to looking at every byte. This is a small loss
- (~5% performance, ~0.1% density) for compressible data due to more
- bookkeeping, but for non-compressible data (such as JPEG) it's a huge
- win since the compressor quickly "realizes" the data is incompressible
- and doesn't bother looking for matches everywhere.
-
- The "skip" variable keeps track of how many bytes there are since the
- last match; dividing it by 32 (i.e. right-shifting by five) gives the
- number of bytes to move ahead for each iteration. */
-
- var candidate int
- assert(next_emit < ip)
-
- trawl:
- for {
- var hash uint32 = next_hash
- var bytes_between_hash_lookups uint32 = skip >> 5
- skip++
- assert(hash == hash5(in[next_ip:], shift))
- ip = next_ip
- next_ip = int(uint32(ip) + bytes_between_hash_lookups)
- if next_ip > ip_limit {
- goto emit_remainder
- }
-
- next_hash = hash5(in[next_ip:], shift)
- candidate = ip - last_distance
- if isMatch5(in[ip:], in[candidate:]) {
- if candidate < ip {
- table[hash] = int(ip - base_ip)
- break
- }
- }
-
- candidate = base_ip + table[hash]
- assert(candidate >= base_ip)
- assert(candidate < ip)
-
- table[hash] = int(ip - base_ip)
- if isMatch5(in[ip:], in[candidate:]) {
- break
- }
- }
-
- /* Check copy distance. If candidate is not feasible, continue search.
- Checking is done outside of hot loop to reduce overhead. */
- if ip-candidate > maxDistance_compress_fragment {
- goto trawl
- }
-
- /* Step 2: Emit the found match together with the literal bytes from
- "next_emit" to the bit stream, and then see if we can find a next match
- immediately afterwards. Repeat until we find no match for the input
- without emitting some literal bytes. */
- {
- var base int = ip
- /* > 0 */
- var matched uint = 5 + findMatchLengthWithLimit(in[candidate+5:], in[ip+5:], uint(ip_end-ip)-5)
- var distance int = int(base - candidate)
- /* We have a 5-byte match at ip, and we need to emit bytes in
- [next_emit, ip). */
-
- var insert uint = uint(base - next_emit)
- ip += int(matched)
- if insert < 6210 {
- emitInsertLen1(insert, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- } else if shouldUseUncompressedMode(in[metablock_start:], in[next_emit:], insert, literal_ratio) {
- emitUncompressedMetaBlock1(in[metablock_start:], in[base:], mlen_storage_ix-3, storage_ix, storage)
- input_size -= uint(base - input)
- input = base
- next_emit = input
- goto next_block
- } else {
- emitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- }
-
- emitLiterals(in[next_emit:], insert, lit_depth[:], lit_bits[:], storage_ix, storage)
- if distance == last_distance {
- writeBits(uint(cmd_depth[64]), uint64(cmd_bits[64]), storage_ix, storage)
- cmd_histo[64]++
- } else {
- emitDistance1(uint(distance), cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- last_distance = distance
- }
-
- emitCopyLenLastDistance1(matched, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
-
- next_emit = ip
- if ip >= ip_limit {
- goto emit_remainder
- }
-
- /* We could immediately start working at ip now, but to improve
- compression we first update "table" with the hashes of some positions
- within the last copy. */
- {
- var input_bytes uint64 = binary.LittleEndian.Uint64(in[ip-3:])
- var prev_hash uint32 = hashBytesAtOffset5(input_bytes, 0, shift)
- var cur_hash uint32 = hashBytesAtOffset5(input_bytes, 3, shift)
- table[prev_hash] = int(ip - base_ip - 3)
- prev_hash = hashBytesAtOffset5(input_bytes, 1, shift)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset5(input_bytes, 2, shift)
- table[prev_hash] = int(ip - base_ip - 1)
-
- candidate = base_ip + table[cur_hash]
- table[cur_hash] = int(ip - base_ip)
- }
- }
-
- for isMatch5(in[ip:], in[candidate:]) {
- var base int = ip
- /* We have a 5-byte match at ip, and no need to emit any literal bytes
- prior to ip. */
-
- var matched uint = 5 + findMatchLengthWithLimit(in[candidate+5:], in[ip+5:], uint(ip_end-ip)-5)
- if ip-candidate > maxDistance_compress_fragment {
- break
- }
- ip += int(matched)
- last_distance = int(base - candidate) /* > 0 */
- emitCopyLen1(matched, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- emitDistance1(uint(last_distance), cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
-
- next_emit = ip
- if ip >= ip_limit {
- goto emit_remainder
- }
-
- /* We could immediately start working at ip now, but to improve
- compression we first update "table" with the hashes of some positions
- within the last copy. */
- {
- var input_bytes uint64 = binary.LittleEndian.Uint64(in[ip-3:])
- var prev_hash uint32 = hashBytesAtOffset5(input_bytes, 0, shift)
- var cur_hash uint32 = hashBytesAtOffset5(input_bytes, 3, shift)
- table[prev_hash] = int(ip - base_ip - 3)
- prev_hash = hashBytesAtOffset5(input_bytes, 1, shift)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset5(input_bytes, 2, shift)
- table[prev_hash] = int(ip - base_ip - 1)
-
- candidate = base_ip + table[cur_hash]
- table[cur_hash] = int(ip - base_ip)
- }
- }
-
- ip++
- next_hash = hash5(in[ip:], shift)
- }
- }
-
-emit_remainder:
- assert(next_emit <= ip_end)
- input += int(block_size)
- input_size -= block_size
- block_size = brotli_min_size_t(input_size, compressFragmentFastImpl_kMergeBlockSize)
-
- /* Decide if we want to continue this meta-block instead of emitting the
- last insert-only command. */
- if input_size > 0 && total_block_size+block_size <= 1<<20 && shouldMergeBlock(in[input:], block_size, lit_depth[:]) {
- assert(total_block_size > 1<<16)
-
- /* Update the size of the current meta-block and continue emitting commands.
- We can do this because the current size and the new size both have 5
- nibbles. */
- total_block_size += block_size
-
- updateBits(20, uint32(total_block_size-1), mlen_storage_ix, storage)
- goto emit_commands
- }
-
- /* Emit the remaining bytes as literals. */
- if next_emit < ip_end {
- var insert uint = uint(ip_end - next_emit)
- if insert < 6210 {
- emitInsertLen1(insert, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- emitLiterals(in[next_emit:], insert, lit_depth[:], lit_bits[:], storage_ix, storage)
- } else if shouldUseUncompressedMode(in[metablock_start:], in[next_emit:], insert, literal_ratio) {
- emitUncompressedMetaBlock1(in[metablock_start:], in[ip_end:], mlen_storage_ix-3, storage_ix, storage)
- } else {
- emitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo[:], storage_ix, storage)
- emitLiterals(in[next_emit:], insert, lit_depth[:], lit_bits[:], storage_ix, storage)
- }
- }
-
- next_emit = ip_end
-
- /* If we have more data, write a new meta-block header and prefix codes and
- then continue emitting commands. */
-next_block:
- if input_size > 0 {
- metablock_start = input
- block_size = brotli_min_size_t(input_size, compressFragmentFastImpl_kFirstBlockSize)
- total_block_size = block_size
-
- /* Save the bit position of the MLEN field of the meta-block header, so that
- we can update it later if we decide to extend this meta-block. */
- mlen_storage_ix = *storage_ix + 3
-
- storeMetaBlockHeader1(block_size, false, storage_ix, storage)
-
- /* No block splits, no contexts. */
- writeBits(13, 0, storage_ix, storage)
-
- literal_ratio = buildAndStoreLiteralPrefixCode(in[input:], block_size, lit_depth[:], lit_bits[:], storage_ix, storage)
- buildAndStoreCommandPrefixCode1(cmd_histo[:], cmd_depth, cmd_bits, storage_ix, storage)
- goto emit_commands
- }
-
- if !is_last {
- /* If this is not the last block, update the command and distance prefix
- codes for the next block and store the compressed forms. */
- cmd_code[0] = 0
-
- *cmd_code_numbits = 0
- buildAndStoreCommandPrefixCode1(cmd_histo[:], cmd_depth, cmd_bits, cmd_code_numbits, cmd_code)
- }
-}
-
-/* Compresses "input" string to the "*storage" buffer as one or more complete
- meta-blocks, and updates the "*storage_ix" bit position.
-
- If "is_last" is 1, emits an additional empty last meta-block.
-
- "cmd_depth" and "cmd_bits" contain the command and distance prefix codes
- (see comment in encode.h) used for the encoding of this input fragment.
- If "is_last" is 0, they are updated to reflect the statistics
- of this input fragment, to be used for the encoding of the next fragment.
-
- "*cmd_code_numbits" is the number of bits of the compressed representation
- of the command and distance prefix codes, and "cmd_code" is an array of
- at least "(*cmd_code_numbits + 7) >> 3" size that contains the compressed
- command and distance prefix codes. If "is_last" is 0, these are also
- updated to represent the updated "cmd_depth" and "cmd_bits".
-
- REQUIRES: "input_size" is greater than zero, or "is_last" is 1.
- REQUIRES: "input_size" is less or equal to maximal metablock size (1 << 24).
- REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.
- REQUIRES: "table_size" is an odd (9, 11, 13, 15) power of two
- OUTPUT: maximal copy distance <= |input_size|
- OUTPUT: maximal copy distance <= BROTLI_MAX_BACKWARD_LIMIT(18) */
-func compressFragmentFast(input []byte, input_size uint, is_last bool, table []int, table_size uint, cmd_depth []byte, cmd_bits []uint16, cmd_code_numbits *uint, cmd_code []byte, storage_ix *uint, storage []byte) {
- var initial_storage_ix uint = *storage_ix
- var table_bits uint = uint(log2FloorNonZero(table_size))
-
- if input_size == 0 {
- assert(is_last)
- writeBits(1, 1, storage_ix, storage) /* islast */
- writeBits(1, 1, storage_ix, storage) /* isempty */
- *storage_ix = (*storage_ix + 7) &^ 7
- return
- }
-
- compressFragmentFastImpl(input, input_size, is_last, table, table_bits, cmd_depth, cmd_bits, cmd_code_numbits, cmd_code, storage_ix, storage)
-
- /* If output is larger than single uncompressed block, rewrite it. */
- if *storage_ix-initial_storage_ix > 31+(input_size<<3) {
- emitUncompressedMetaBlock1(input, input[input_size:], initial_storage_ix, storage_ix, storage)
- }
-
- if is_last {
- writeBits(1, 1, storage_ix, storage) /* islast */
- writeBits(1, 1, storage_ix, storage) /* isempty */
- *storage_ix = (*storage_ix + 7) &^ 7
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go b/vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go
deleted file mode 100644
index 172dc7f4..00000000
--- a/vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go
+++ /dev/null
@@ -1,748 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Function for fast encoding of an input fragment, independently from the input
- history. This function uses two-pass processing: in the first pass we save
- the found backward matches and literal bytes into a buffer, and in the
- second pass we emit them into the bit stream using prefix codes built based
- on the actual command and literal byte histograms. */
-
-const kCompressFragmentTwoPassBlockSize uint = 1 << 17
-
-func hash1(p []byte, shift uint, length uint) uint32 {
- var h uint64 = (binary.LittleEndian.Uint64(p) << ((8 - length) * 8)) * uint64(kHashMul32)
- return uint32(h >> shift)
-}
-
-func hashBytesAtOffset(v uint64, offset uint, shift uint, length uint) uint32 {
- assert(offset <= 8-length)
- {
- var h uint64 = ((v >> (8 * offset)) << ((8 - length) * 8)) * uint64(kHashMul32)
- return uint32(h >> shift)
- }
-}
-
-func isMatch1(p1 []byte, p2 []byte, length uint) bool {
- if binary.LittleEndian.Uint32(p1) != binary.LittleEndian.Uint32(p2) {
- return false
- }
- if length == 4 {
- return true
- }
- return p1[4] == p2[4] && p1[5] == p2[5]
-}
-
-/* Builds a command and distance prefix code (each 64 symbols) into "depth" and
- "bits" based on "histogram" and stores it into the bit stream. */
-func buildAndStoreCommandPrefixCode(histogram []uint32, depth []byte, bits []uint16, storage_ix *uint, storage []byte) {
- var tree [129]huffmanTree
- var cmd_depth = [numCommandSymbols]byte{0}
- /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */
-
- var cmd_bits [64]uint16
- createHuffmanTree(histogram, 64, 15, tree[:], depth)
- createHuffmanTree(histogram[64:], 64, 14, tree[:], depth[64:])
-
- /* We have to jump through a few hoops here in order to compute
- the command bits because the symbols are in a different order than in
- the full alphabet. This looks complicated, but having the symbols
- in this order in the command bits saves a few branches in the Emit*
- functions. */
- copy(cmd_depth[:], depth[24:][:24])
-
- copy(cmd_depth[24:][:], depth[:8])
- copy(cmd_depth[32:][:], depth[48:][:8])
- copy(cmd_depth[40:][:], depth[8:][:8])
- copy(cmd_depth[48:][:], depth[56:][:8])
- copy(cmd_depth[56:][:], depth[16:][:8])
- convertBitDepthsToSymbols(cmd_depth[:], 64, cmd_bits[:])
- copy(bits, cmd_bits[24:][:8])
- copy(bits[8:], cmd_bits[40:][:8])
- copy(bits[16:], cmd_bits[56:][:8])
- copy(bits[24:], cmd_bits[:24])
- copy(bits[48:], cmd_bits[32:][:8])
- copy(bits[56:], cmd_bits[48:][:8])
- convertBitDepthsToSymbols(depth[64:], 64, bits[64:])
- {
- /* Create the bit length array for the full command alphabet. */
- var i uint
- for i := 0; i < int(64); i++ {
- cmd_depth[i] = 0
- } /* only 64 first values were used */
- copy(cmd_depth[:], depth[24:][:8])
- copy(cmd_depth[64:][:], depth[32:][:8])
- copy(cmd_depth[128:][:], depth[40:][:8])
- copy(cmd_depth[192:][:], depth[48:][:8])
- copy(cmd_depth[384:][:], depth[56:][:8])
- for i = 0; i < 8; i++ {
- cmd_depth[128+8*i] = depth[i]
- cmd_depth[256+8*i] = depth[8+i]
- cmd_depth[448+8*i] = depth[16+i]
- }
-
- storeHuffmanTree(cmd_depth[:], numCommandSymbols, tree[:], storage_ix, storage)
- }
-
- storeHuffmanTree(depth[64:], 64, tree[:], storage_ix, storage)
-}
-
-func emitInsertLen(insertlen uint32, commands *[]uint32) {
- if insertlen < 6 {
- (*commands)[0] = insertlen
- } else if insertlen < 130 {
- var tail uint32 = insertlen - 2
- var nbits uint32 = log2FloorNonZero(uint(tail)) - 1
- var prefix uint32 = tail >> nbits
- var inscode uint32 = (nbits << 1) + prefix + 2
- var extra uint32 = tail - (prefix << nbits)
- (*commands)[0] = inscode | extra<<8
- } else if insertlen < 2114 {
- var tail uint32 = insertlen - 66
- var nbits uint32 = log2FloorNonZero(uint(tail))
- var code uint32 = nbits + 10
- var extra uint32 = tail - (1 << nbits)
- (*commands)[0] = code | extra<<8
- } else if insertlen < 6210 {
- var extra uint32 = insertlen - 2114
- (*commands)[0] = 21 | extra<<8
- } else if insertlen < 22594 {
- var extra uint32 = insertlen - 6210
- (*commands)[0] = 22 | extra<<8
- } else {
- var extra uint32 = insertlen - 22594
- (*commands)[0] = 23 | extra<<8
- }
-
- *commands = (*commands)[1:]
-}
-
-func emitCopyLen(copylen uint, commands *[]uint32) {
- if copylen < 10 {
- (*commands)[0] = uint32(copylen + 38)
- } else if copylen < 134 {
- var tail uint = copylen - 6
- var nbits uint = uint(log2FloorNonZero(tail) - 1)
- var prefix uint = tail >> nbits
- var code uint = (nbits << 1) + prefix + 44
- var extra uint = tail - (prefix << nbits)
- (*commands)[0] = uint32(code | extra<<8)
- } else if copylen < 2118 {
- var tail uint = copylen - 70
- var nbits uint = uint(log2FloorNonZero(tail))
- var code uint = nbits + 52
- var extra uint = tail - (uint(1) << nbits)
- (*commands)[0] = uint32(code | extra<<8)
- } else {
- var extra uint = copylen - 2118
- (*commands)[0] = uint32(63 | extra<<8)
- }
-
- *commands = (*commands)[1:]
-}
-
-func emitCopyLenLastDistance(copylen uint, commands *[]uint32) {
- if copylen < 12 {
- (*commands)[0] = uint32(copylen + 20)
- *commands = (*commands)[1:]
- } else if copylen < 72 {
- var tail uint = copylen - 8
- var nbits uint = uint(log2FloorNonZero(tail) - 1)
- var prefix uint = tail >> nbits
- var code uint = (nbits << 1) + prefix + 28
- var extra uint = tail - (prefix << nbits)
- (*commands)[0] = uint32(code | extra<<8)
- *commands = (*commands)[1:]
- } else if copylen < 136 {
- var tail uint = copylen - 8
- var code uint = (tail >> 5) + 54
- var extra uint = tail & 31
- (*commands)[0] = uint32(code | extra<<8)
- *commands = (*commands)[1:]
- (*commands)[0] = 64
- *commands = (*commands)[1:]
- } else if copylen < 2120 {
- var tail uint = copylen - 72
- var nbits uint = uint(log2FloorNonZero(tail))
- var code uint = nbits + 52
- var extra uint = tail - (uint(1) << nbits)
- (*commands)[0] = uint32(code | extra<<8)
- *commands = (*commands)[1:]
- (*commands)[0] = 64
- *commands = (*commands)[1:]
- } else {
- var extra uint = copylen - 2120
- (*commands)[0] = uint32(63 | extra<<8)
- *commands = (*commands)[1:]
- (*commands)[0] = 64
- *commands = (*commands)[1:]
- }
-}
-
-func emitDistance(distance uint32, commands *[]uint32) {
- var d uint32 = distance + 3
- var nbits uint32 = log2FloorNonZero(uint(d)) - 1
- var prefix uint32 = (d >> nbits) & 1
- var offset uint32 = (2 + prefix) << nbits
- var distcode uint32 = 2*(nbits-1) + prefix + 80
- var extra uint32 = d - offset
- (*commands)[0] = distcode | extra<<8
- *commands = (*commands)[1:]
-}
-
-/* REQUIRES: len <= 1 << 24. */
-func storeMetaBlockHeader(len uint, is_uncompressed bool, storage_ix *uint, storage []byte) {
- var nibbles uint = 6
-
- /* ISLAST */
- writeBits(1, 0, storage_ix, storage)
-
- if len <= 1<<16 {
- nibbles = 4
- } else if len <= 1<<20 {
- nibbles = 5
- }
-
- writeBits(2, uint64(nibbles)-4, storage_ix, storage)
- writeBits(nibbles*4, uint64(len)-1, storage_ix, storage)
-
- /* ISUNCOMPRESSED */
- writeSingleBit(is_uncompressed, storage_ix, storage)
-}
-
-func createCommands(input []byte, block_size uint, input_size uint, base_ip_ptr []byte, table []int, table_bits uint, min_match uint, literals *[]byte, commands *[]uint32) {
- var ip int = 0
- var shift uint = 64 - table_bits
- var ip_end int = int(block_size)
- var base_ip int = -cap(base_ip_ptr) + cap(input)
- var next_emit int = 0
- var last_distance int = -1
- /* "ip" is the input pointer. */
-
- const kInputMarginBytes uint = windowGap
-
- /* "next_emit" is a pointer to the first byte that is not covered by a
- previous copy. Bytes between "next_emit" and the start of the next copy or
- the end of the input will be emitted as literal bytes. */
- if block_size >= kInputMarginBytes {
- var len_limit uint = brotli_min_size_t(block_size-min_match, input_size-kInputMarginBytes)
- var ip_limit int = int(len_limit)
- /* For the last block, we need to keep a 16 bytes margin so that we can be
- sure that all distances are at most window size - 16.
- For all other blocks, we only need to keep a margin of 5 bytes so that
- we don't go over the block size with a copy. */
-
- var next_hash uint32
- ip++
- for next_hash = hash1(input[ip:], shift, min_match); ; {
- var skip uint32 = 32
- var next_ip int = ip
- /* Step 1: Scan forward in the input looking for a 6-byte-long match.
- If we get close to exhausting the input then goto emit_remainder.
-
- Heuristic match skipping: If 32 bytes are scanned with no matches
- found, start looking only at every other byte. If 32 more bytes are
- scanned, look at every third byte, etc.. When a match is found,
- immediately go back to looking at every byte. This is a small loss
- (~5% performance, ~0.1% density) for compressible data due to more
- bookkeeping, but for non-compressible data (such as JPEG) it's a huge
- win since the compressor quickly "realizes" the data is incompressible
- and doesn't bother looking for matches everywhere.
-
- The "skip" variable keeps track of how many bytes there are since the
- last match; dividing it by 32 (ie. right-shifting by five) gives the
- number of bytes to move ahead for each iteration. */
-
- var candidate int
-
- assert(next_emit < ip)
-
- trawl:
- for {
- var hash uint32 = next_hash
- var bytes_between_hash_lookups uint32 = skip >> 5
- skip++
- ip = next_ip
- assert(hash == hash1(input[ip:], shift, min_match))
- next_ip = int(uint32(ip) + bytes_between_hash_lookups)
- if next_ip > ip_limit {
- goto emit_remainder
- }
-
- next_hash = hash1(input[next_ip:], shift, min_match)
- candidate = ip - last_distance
- if isMatch1(input[ip:], base_ip_ptr[candidate-base_ip:], min_match) {
- if candidate < ip {
- table[hash] = int(ip - base_ip)
- break
- }
- }
-
- candidate = base_ip + table[hash]
- assert(candidate >= base_ip)
- assert(candidate < ip)
-
- table[hash] = int(ip - base_ip)
- if isMatch1(input[ip:], base_ip_ptr[candidate-base_ip:], min_match) {
- break
- }
- }
-
- /* Check copy distance. If candidate is not feasible, continue search.
- Checking is done outside of hot loop to reduce overhead. */
- if ip-candidate > maxDistance_compress_fragment {
- goto trawl
- }
-
- /* Step 2: Emit the found match together with the literal bytes from
- "next_emit", and then see if we can find a next match immediately
- afterwards. Repeat until we find no match for the input
- without emitting some literal bytes. */
- {
- var base int = ip
- /* > 0 */
- var matched uint = min_match + findMatchLengthWithLimit(base_ip_ptr[uint(candidate-base_ip)+min_match:], input[uint(ip)+min_match:], uint(ip_end-ip)-min_match)
- var distance int = int(base - candidate)
- /* We have a 6-byte match at ip, and we need to emit bytes in
- [next_emit, ip). */
-
- var insert int = int(base - next_emit)
- ip += int(matched)
- emitInsertLen(uint32(insert), commands)
- copy(*literals, input[next_emit:][:uint(insert)])
- *literals = (*literals)[insert:]
- if distance == last_distance {
- (*commands)[0] = 64
- *commands = (*commands)[1:]
- } else {
- emitDistance(uint32(distance), commands)
- last_distance = distance
- }
-
- emitCopyLenLastDistance(matched, commands)
-
- next_emit = ip
- if ip >= ip_limit {
- goto emit_remainder
- }
- {
- var input_bytes uint64
- var cur_hash uint32
- /* We could immediately start working at ip now, but to improve
- compression we first update "table" with the hashes of some
- positions within the last copy. */
-
- var prev_hash uint32
- if min_match == 4 {
- input_bytes = binary.LittleEndian.Uint64(input[ip-3:])
- cur_hash = hashBytesAtOffset(input_bytes, 3, shift, min_match)
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 3)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 1)
- } else {
- input_bytes = binary.LittleEndian.Uint64(input[ip-5:])
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 5)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 4)
- prev_hash = hashBytesAtOffset(input_bytes, 2, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 3)
- input_bytes = binary.LittleEndian.Uint64(input[ip-2:])
- cur_hash = hashBytesAtOffset(input_bytes, 2, shift, min_match)
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 1)
- }
-
- candidate = base_ip + table[cur_hash]
- table[cur_hash] = int(ip - base_ip)
- }
- }
-
- for ip-candidate <= maxDistance_compress_fragment && isMatch1(input[ip:], base_ip_ptr[candidate-base_ip:], min_match) {
- var base int = ip
- /* We have a 6-byte match at ip, and no need to emit any
- literal bytes prior to ip. */
-
- var matched uint = min_match + findMatchLengthWithLimit(base_ip_ptr[uint(candidate-base_ip)+min_match:], input[uint(ip)+min_match:], uint(ip_end-ip)-min_match)
- ip += int(matched)
- last_distance = int(base - candidate) /* > 0 */
- emitCopyLen(matched, commands)
- emitDistance(uint32(last_distance), commands)
-
- next_emit = ip
- if ip >= ip_limit {
- goto emit_remainder
- }
- {
- var input_bytes uint64
- var cur_hash uint32
- /* We could immediately start working at ip now, but to improve
- compression we first update "table" with the hashes of some
- positions within the last copy. */
-
- var prev_hash uint32
- if min_match == 4 {
- input_bytes = binary.LittleEndian.Uint64(input[ip-3:])
- cur_hash = hashBytesAtOffset(input_bytes, 3, shift, min_match)
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 3)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset(input_bytes, 2, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 1)
- } else {
- input_bytes = binary.LittleEndian.Uint64(input[ip-5:])
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 5)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 4)
- prev_hash = hashBytesAtOffset(input_bytes, 2, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 3)
- input_bytes = binary.LittleEndian.Uint64(input[ip-2:])
- cur_hash = hashBytesAtOffset(input_bytes, 2, shift, min_match)
- prev_hash = hashBytesAtOffset(input_bytes, 0, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 2)
- prev_hash = hashBytesAtOffset(input_bytes, 1, shift, min_match)
- table[prev_hash] = int(ip - base_ip - 1)
- }
-
- candidate = base_ip + table[cur_hash]
- table[cur_hash] = int(ip - base_ip)
- }
- }
-
- ip++
- next_hash = hash1(input[ip:], shift, min_match)
- }
- }
-
-emit_remainder:
- assert(next_emit <= ip_end)
-
- /* Emit the remaining bytes as literals. */
- if next_emit < ip_end {
- var insert uint32 = uint32(ip_end - next_emit)
- emitInsertLen(insert, commands)
- copy(*literals, input[next_emit:][:insert])
- *literals = (*literals)[insert:]
- }
-}
-
-var storeCommands_kNumExtraBits = [128]uint32{
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 5,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 12,
- 14,
- 24,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 5,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 24,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 2,
- 3,
- 3,
- 4,
- 4,
- 5,
- 5,
- 6,
- 6,
- 7,
- 7,
- 8,
- 8,
- 9,
- 9,
- 10,
- 10,
- 11,
- 11,
- 12,
- 12,
- 13,
- 13,
- 14,
- 14,
- 15,
- 15,
- 16,
- 16,
- 17,
- 17,
- 18,
- 18,
- 19,
- 19,
- 20,
- 20,
- 21,
- 21,
- 22,
- 22,
- 23,
- 23,
- 24,
- 24,
-}
-var storeCommands_kInsertOffset = [24]uint32{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 8,
- 10,
- 14,
- 18,
- 26,
- 34,
- 50,
- 66,
- 98,
- 130,
- 194,
- 322,
- 578,
- 1090,
- 2114,
- 6210,
- 22594,
-}
-
-func storeCommands(literals []byte, num_literals uint, commands []uint32, num_commands uint, storage_ix *uint, storage []byte) {
- var lit_depths [256]byte
- var lit_bits [256]uint16
- var lit_histo = [256]uint32{0}
- var cmd_depths = [128]byte{0}
- var cmd_bits = [128]uint16{0}
- var cmd_histo = [128]uint32{0}
- var i uint
- for i = 0; i < num_literals; i++ {
- lit_histo[literals[i]]++
- }
-
- buildAndStoreHuffmanTreeFast(lit_histo[:], num_literals, /* max_bits = */
- 8, lit_depths[:], lit_bits[:], storage_ix, storage)
-
- for i = 0; i < num_commands; i++ {
- var code uint32 = commands[i] & 0xFF
- assert(code < 128)
- cmd_histo[code]++
- }
-
- cmd_histo[1] += 1
- cmd_histo[2] += 1
- cmd_histo[64] += 1
- cmd_histo[84] += 1
- buildAndStoreCommandPrefixCode(cmd_histo[:], cmd_depths[:], cmd_bits[:], storage_ix, storage)
-
- for i = 0; i < num_commands; i++ {
- var cmd uint32 = commands[i]
- var code uint32 = cmd & 0xFF
- var extra uint32 = cmd >> 8
- assert(code < 128)
- writeBits(uint(cmd_depths[code]), uint64(cmd_bits[code]), storage_ix, storage)
- writeBits(uint(storeCommands_kNumExtraBits[code]), uint64(extra), storage_ix, storage)
- if code < 24 {
- var insert uint32 = storeCommands_kInsertOffset[code] + extra
- var j uint32
- for j = 0; j < insert; j++ {
- var lit byte = literals[0]
- writeBits(uint(lit_depths[lit]), uint64(lit_bits[lit]), storage_ix, storage)
- literals = literals[1:]
- }
- }
- }
-}
-
-/* Acceptable loss for uncompressible speedup is 2% */
-const minRatio = 0.98
-
-const sampleRate = 43
-
-func shouldCompress(input []byte, input_size uint, num_literals uint) bool {
- var corpus_size float64 = float64(input_size)
- if float64(num_literals) < minRatio*corpus_size {
- return true
- } else {
- var literal_histo = [256]uint32{0}
- var max_total_bit_cost float64 = corpus_size * 8 * minRatio / sampleRate
- var i uint
- for i = 0; i < input_size; i += sampleRate {
- literal_histo[input[i]]++
- }
-
- return bitsEntropy(literal_histo[:], 256) < max_total_bit_cost
- }
-}
-
-func rewindBitPosition(new_storage_ix uint, storage_ix *uint, storage []byte) {
- var bitpos uint = new_storage_ix & 7
- var mask uint = (1 << bitpos) - 1
- storage[new_storage_ix>>3] &= byte(mask)
- *storage_ix = new_storage_ix
-}
-
-func emitUncompressedMetaBlock(input []byte, input_size uint, storage_ix *uint, storage []byte) {
- storeMetaBlockHeader(input_size, true, storage_ix, storage)
- *storage_ix = (*storage_ix + 7) &^ 7
- copy(storage[*storage_ix>>3:], input[:input_size])
- *storage_ix += input_size << 3
- storage[*storage_ix>>3] = 0
-}
-
-func compressFragmentTwoPassImpl(input []byte, input_size uint, is_last bool, command_buf []uint32, literal_buf []byte, table []int, table_bits uint, min_match uint, storage_ix *uint, storage []byte) {
- /* Save the start of the first block for position and distance computations.
- */
- var base_ip []byte = input
-
- for input_size > 0 {
- var block_size uint = brotli_min_size_t(input_size, kCompressFragmentTwoPassBlockSize)
- var commands []uint32 = command_buf
- var literals []byte = literal_buf
- var num_literals uint
- createCommands(input, block_size, input_size, base_ip, table, table_bits, min_match, &literals, &commands)
- num_literals = uint(-cap(literals) + cap(literal_buf))
- if shouldCompress(input, block_size, num_literals) {
- var num_commands uint = uint(-cap(commands) + cap(command_buf))
- storeMetaBlockHeader(block_size, false, storage_ix, storage)
-
- /* No block splits, no contexts. */
- writeBits(13, 0, storage_ix, storage)
-
- storeCommands(literal_buf, num_literals, command_buf, num_commands, storage_ix, storage)
- } else {
- /* Since we did not find many backward references and the entropy of
- the data is close to 8 bits, we can simply emit an uncompressed block.
- This makes compression speed of uncompressible data about 3x faster. */
- emitUncompressedMetaBlock(input, block_size, storage_ix, storage)
- }
-
- input = input[block_size:]
- input_size -= block_size
- }
-}
-
-/* Compresses "input" string to the "*storage" buffer as one or more complete
- meta-blocks, and updates the "*storage_ix" bit position.
-
- If "is_last" is 1, emits an additional empty last meta-block.
-
- REQUIRES: "input_size" is greater than zero, or "is_last" is 1.
- REQUIRES: "input_size" is less or equal to maximal metablock size (1 << 24).
- REQUIRES: "command_buf" and "literal_buf" point to at least
- kCompressFragmentTwoPassBlockSize long arrays.
- REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.
- REQUIRES: "table_size" is a power of two
- OUTPUT: maximal copy distance <= |input_size|
- OUTPUT: maximal copy distance <= BROTLI_MAX_BACKWARD_LIMIT(18) */
-func compressFragmentTwoPass(input []byte, input_size uint, is_last bool, command_buf []uint32, literal_buf []byte, table []int, table_size uint, storage_ix *uint, storage []byte) {
- var initial_storage_ix uint = *storage_ix
- var table_bits uint = uint(log2FloorNonZero(table_size))
- var min_match uint
- if table_bits <= 15 {
- min_match = 4
- } else {
- min_match = 6
- }
- compressFragmentTwoPassImpl(input, input_size, is_last, command_buf, literal_buf, table, table_bits, min_match, storage_ix, storage)
-
- /* If output is larger than single uncompressed block, rewrite it. */
- if *storage_ix-initial_storage_ix > 31+(input_size<<3) {
- rewindBitPosition(initial_storage_ix, storage_ix, storage)
- emitUncompressedMetaBlock(input, input_size, storage_ix, storage)
- }
-
- if is_last {
- writeBits(1, 1, storage_ix, storage) /* islast */
- writeBits(1, 1, storage_ix, storage) /* isempty */
- *storage_ix = (*storage_ix + 7) &^ 7
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/constants.go b/vendor/github.com/andybalholm/brotli/constants.go
deleted file mode 100644
index a880dff7..00000000
--- a/vendor/github.com/andybalholm/brotli/constants.go
+++ /dev/null
@@ -1,77 +0,0 @@
-package brotli
-
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Specification: 7.3. Encoding of the context map */
-const contextMapMaxRle = 16
-
-/* Specification: 2. Compressed representation overview */
-const maxNumberOfBlockTypes = 256
-
-/* Specification: 3.3. Alphabet sizes: insert-and-copy length */
-const numLiteralSymbols = 256
-
-const numCommandSymbols = 704
-
-const numBlockLenSymbols = 26
-
-const maxContextMapSymbols = (maxNumberOfBlockTypes + contextMapMaxRle)
-
-const maxBlockTypeSymbols = (maxNumberOfBlockTypes + 2)
-
-/* Specification: 3.5. Complex prefix codes */
-const repeatPreviousCodeLength = 16
-
-const repeatZeroCodeLength = 17
-
-const codeLengthCodes = (repeatZeroCodeLength + 1)
-
-/* "code length of 8 is repeated" */
-const initialRepeatedCodeLength = 8
-
-/* "Large Window Brotli" */
-const largeMaxDistanceBits = 62
-
-const largeMinWbits = 10
-
-const largeMaxWbits = 30
-
-/* Specification: 4. Encoding of distances */
-const numDistanceShortCodes = 16
-
-const maxNpostfix = 3
-
-const maxNdirect = 120
-
-const maxDistanceBits = 24
-
-func distanceAlphabetSize(NPOSTFIX uint, NDIRECT uint, MAXNBITS uint) uint {
- return numDistanceShortCodes + NDIRECT + uint(MAXNBITS<<(NPOSTFIX+1))
-}
-
-/* numDistanceSymbols == 1128 */
-const numDistanceSymbols = 1128
-
-const maxDistance = 0x3FFFFFC
-
-const maxAllowedDistance = 0x7FFFFFFC
-
-/* 7.1. Context modes and context ID lookup for literals */
-/* "context IDs for literals are in the range of 0..63" */
-const literalContextBits = 6
-
-/* 7.2. Context ID for distances */
-const distanceContextBits = 2
-
-/* 9.1. Format of the Stream Header */
-/* Number of slack bytes for window size. Don't confuse
- with BROTLI_NUM_DISTANCE_SHORT_CODES. */
-const windowGap = 16
-
-func maxBackwardLimit(W uint) uint {
- return (uint(1) << W) - windowGap
-}
diff --git a/vendor/github.com/andybalholm/brotli/context.go b/vendor/github.com/andybalholm/brotli/context.go
deleted file mode 100644
index 884ff8a2..00000000
--- a/vendor/github.com/andybalholm/brotli/context.go
+++ /dev/null
@@ -1,2176 +0,0 @@
-package brotli
-
-/* Lookup table to map the previous two bytes to a context id.
-
-There are four different context modeling modes defined here:
- contextLSB6: context id is the least significant 6 bits of the last byte,
- contextMSB6: context id is the most significant 6 bits of the last byte,
- contextUTF8: second-order context model tuned for UTF8-encoded text,
- contextSigned: second-order context model tuned for signed integers.
-
-If |p1| and |p2| are the previous two bytes, and |mode| is current context
-mode, we calculate the context as:
-
- context = ContextLut(mode)[p1] | ContextLut(mode)[p2 + 256].
-
-For contextUTF8 mode, if the previous two bytes are ASCII characters
-(i.e. < 128), this will be equivalent to
-
- context = 4 * context1(p1) + context2(p2),
-
-where context1 is based on the previous byte in the following way:
-
- 0 : non-ASCII control
- 1 : \t, \n, \r
- 2 : space
- 3 : other punctuation
- 4 : " '
- 5 : %
- 6 : ( < [ {
- 7 : ) > ] }
- 8 : , ; :
- 9 : .
- 10 : =
- 11 : number
- 12 : upper-case vowel
- 13 : upper-case consonant
- 14 : lower-case vowel
- 15 : lower-case consonant
-
-and context2 is based on the second last byte:
-
- 0 : control, space
- 1 : punctuation
- 2 : upper-case letter, number
- 3 : lower-case letter
-
-If the last byte is ASCII, and the second last byte is not (in a valid UTF8
-stream it will be a continuation byte, value between 128 and 191), the
-context is the same as if the second last byte was an ASCII control or space.
-
-If the last byte is a UTF8 lead byte (value >= 192), then the next byte will
-be a continuation byte and the context id is 2 or 3 depending on the LSB of
-the last byte and to a lesser extent on the second last byte if it is ASCII.
-
-If the last byte is a UTF8 continuation byte, the second last byte can be:
- - continuation byte: the next byte is probably ASCII or lead byte (assuming
- 4-byte UTF8 characters are rare) and the context id is 0 or 1.
- - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1
- - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3
-
-The possible value combinations of the previous two bytes, the range of
-context ids and the type of the next byte is summarized in the table below:
-
-|--------\-----------------------------------------------------------------|
-| \ Last byte |
-| Second \---------------------------------------------------------------|
-| last byte \ ASCII | cont. byte | lead byte |
-| \ (0-127) | (128-191) | (192-) |
-|=============|===================|=====================|==================|
-| ASCII | next: ASCII/lead | not valid | next: cont. |
-| (0-127) | context: 4 - 63 | | context: 2 - 3 |
-|-------------|-------------------|---------------------|------------------|
-| cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |
-| (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |
-|-------------|-------------------|---------------------|------------------|
-| lead byte | not valid | next: ASCII/lead | not valid |
-| (192-207) | | context: 0 - 1 | |
-|-------------|-------------------|---------------------|------------------|
-| lead byte | not valid | next: cont. | not valid |
-| (208-) | | context: 2 - 3 | |
-|-------------|-------------------|---------------------|------------------|
-*/
-
-const (
- contextLSB6 = 0
- contextMSB6 = 1
- contextUTF8 = 2
- contextSigned = 3
-)
-
-/* Common context lookup table for all context modes. */
-var kContextLookup = [2048]byte{
- /* CONTEXT_LSB6, last byte. */
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
-
- /* CONTEXT_LSB6, second last byte, */
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-
- /* CONTEXT_MSB6, last byte. */
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 2,
- 3,
- 3,
- 3,
- 3,
- 4,
- 4,
- 4,
- 4,
- 5,
- 5,
- 5,
- 5,
- 6,
- 6,
- 6,
- 6,
- 7,
- 7,
- 7,
- 7,
- 8,
- 8,
- 8,
- 8,
- 9,
- 9,
- 9,
- 9,
- 10,
- 10,
- 10,
- 10,
- 11,
- 11,
- 11,
- 11,
- 12,
- 12,
- 12,
- 12,
- 13,
- 13,
- 13,
- 13,
- 14,
- 14,
- 14,
- 14,
- 15,
- 15,
- 15,
- 15,
- 16,
- 16,
- 16,
- 16,
- 17,
- 17,
- 17,
- 17,
- 18,
- 18,
- 18,
- 18,
- 19,
- 19,
- 19,
- 19,
- 20,
- 20,
- 20,
- 20,
- 21,
- 21,
- 21,
- 21,
- 22,
- 22,
- 22,
- 22,
- 23,
- 23,
- 23,
- 23,
- 24,
- 24,
- 24,
- 24,
- 25,
- 25,
- 25,
- 25,
- 26,
- 26,
- 26,
- 26,
- 27,
- 27,
- 27,
- 27,
- 28,
- 28,
- 28,
- 28,
- 29,
- 29,
- 29,
- 29,
- 30,
- 30,
- 30,
- 30,
- 31,
- 31,
- 31,
- 31,
- 32,
- 32,
- 32,
- 32,
- 33,
- 33,
- 33,
- 33,
- 34,
- 34,
- 34,
- 34,
- 35,
- 35,
- 35,
- 35,
- 36,
- 36,
- 36,
- 36,
- 37,
- 37,
- 37,
- 37,
- 38,
- 38,
- 38,
- 38,
- 39,
- 39,
- 39,
- 39,
- 40,
- 40,
- 40,
- 40,
- 41,
- 41,
- 41,
- 41,
- 42,
- 42,
- 42,
- 42,
- 43,
- 43,
- 43,
- 43,
- 44,
- 44,
- 44,
- 44,
- 45,
- 45,
- 45,
- 45,
- 46,
- 46,
- 46,
- 46,
- 47,
- 47,
- 47,
- 47,
- 48,
- 48,
- 48,
- 48,
- 49,
- 49,
- 49,
- 49,
- 50,
- 50,
- 50,
- 50,
- 51,
- 51,
- 51,
- 51,
- 52,
- 52,
- 52,
- 52,
- 53,
- 53,
- 53,
- 53,
- 54,
- 54,
- 54,
- 54,
- 55,
- 55,
- 55,
- 55,
- 56,
- 56,
- 56,
- 56,
- 57,
- 57,
- 57,
- 57,
- 58,
- 58,
- 58,
- 58,
- 59,
- 59,
- 59,
- 59,
- 60,
- 60,
- 60,
- 60,
- 61,
- 61,
- 61,
- 61,
- 62,
- 62,
- 62,
- 62,
- 63,
- 63,
- 63,
- 63,
-
- /* CONTEXT_MSB6, second last byte, */
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-
- /* CONTEXT_UTF8, last byte. */
- /* ASCII range. */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4,
- 4,
- 0,
- 0,
- 4,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8,
- 12,
- 16,
- 12,
- 12,
- 20,
- 12,
- 16,
- 24,
- 28,
- 12,
- 12,
- 32,
- 12,
- 36,
- 12,
- 44,
- 44,
- 44,
- 44,
- 44,
- 44,
- 44,
- 44,
- 44,
- 44,
- 32,
- 32,
- 24,
- 40,
- 28,
- 12,
- 12,
- 48,
- 52,
- 52,
- 52,
- 48,
- 52,
- 52,
- 52,
- 48,
- 52,
- 52,
- 52,
- 52,
- 52,
- 48,
- 52,
- 52,
- 52,
- 52,
- 52,
- 48,
- 52,
- 52,
- 52,
- 52,
- 52,
- 24,
- 12,
- 28,
- 12,
- 12,
- 12,
- 56,
- 60,
- 60,
- 60,
- 56,
- 60,
- 60,
- 60,
- 56,
- 60,
- 60,
- 60,
- 60,
- 60,
- 56,
- 60,
- 60,
- 60,
- 60,
- 60,
- 56,
- 60,
- 60,
- 60,
- 60,
- 60,
- 24,
- 12,
- 28,
- 12,
- 0,
-
- /* UTF8 continuation byte range. */
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
- 0,
- 1,
-
- /* UTF8 lead byte range. */
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
- 2,
- 3,
-
- /* CONTEXT_UTF8 second last byte. */
- /* ASCII range. */
- 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,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 1,
- 1,
- 1,
- 1,
- 0,
-
- /* UTF8 continuation byte range. */
- 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,
- 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,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
-
- /* UTF8 lead byte range. */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
-
- /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */
- 0,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 8,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 16,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 32,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 40,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 48,
- 56,
-
- /* CONTEXT_SIGNED, second last byte. */
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 2,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 4,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 5,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 7,
-}
-
-type contextLUT []byte
-
-func getContextLUT(mode int) contextLUT {
- return kContextLookup[mode<<9:]
-}
-
-func getContext(p1 byte, p2 byte, lut contextLUT) byte {
- return lut[p1] | lut[256+int(p2)]
-}
diff --git a/vendor/github.com/andybalholm/brotli/decode.go b/vendor/github.com/andybalholm/brotli/decode.go
deleted file mode 100644
index 9d9513b7..00000000
--- a/vendor/github.com/andybalholm/brotli/decode.go
+++ /dev/null
@@ -1,2581 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-const (
- decoderResultError = 0
- decoderResultSuccess = 1
- decoderResultNeedsMoreInput = 2
- decoderResultNeedsMoreOutput = 3
-)
-
-/**
- * Error code for detailed logging / production debugging.
- *
- * See ::BrotliDecoderGetErrorCode and ::BROTLI_LAST_ERROR_CODE.
- */
-const (
- decoderNoError = 0
- decoderSuccess = 1
- decoderNeedsMoreInput = 2
- decoderNeedsMoreOutput = 3
- decoderErrorFormatExuberantNibble = -1
- decoderErrorFormatReserved = -2
- decoderErrorFormatExuberantMetaNibble = -3
- decoderErrorFormatSimpleHuffmanAlphabet = -4
- decoderErrorFormatSimpleHuffmanSame = -5
- decoderErrorFormatClSpace = -6
- decoderErrorFormatHuffmanSpace = -7
- decoderErrorFormatContextMapRepeat = -8
- decoderErrorFormatBlockLength1 = -9
- decoderErrorFormatBlockLength2 = -10
- decoderErrorFormatTransform = -11
- decoderErrorFormatDictionary = -12
- decoderErrorFormatWindowBits = -13
- decoderErrorFormatPadding1 = -14
- decoderErrorFormatPadding2 = -15
- decoderErrorFormatDistance = -16
- decoderErrorDictionaryNotSet = -19
- decoderErrorInvalidArguments = -20
- decoderErrorAllocContextModes = -21
- decoderErrorAllocTreeGroups = -22
- decoderErrorAllocContextMap = -25
- decoderErrorAllocRingBuffer1 = -26
- decoderErrorAllocRingBuffer2 = -27
- decoderErrorAllocBlockTypeTrees = -30
- decoderErrorUnreachable = -31
-)
-
-const huffmanTableBits = 8
-
-const huffmanTableMask = 0xFF
-
-/* We need the slack region for the following reasons:
- - doing up to two 16-byte copies for fast backward copying
- - inserting transformed dictionary word (5 prefix + 24 base + 8 suffix) */
-const kRingBufferWriteAheadSlack uint32 = 42
-
-var kCodeLengthCodeOrder = [codeLengthCodes]byte{1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15}
-
-/* Static prefix code for the complex code length code lengths. */
-var kCodeLengthPrefixLength = [16]byte{2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 4}
-
-var kCodeLengthPrefixValue = [16]byte{0, 4, 3, 2, 0, 4, 3, 1, 0, 4, 3, 2, 0, 4, 3, 5}
-
-/* Saves error code and converts it to BrotliDecoderResult. */
-func saveErrorCode(s *Reader, e int) int {
- s.error_code = int(e)
- switch e {
- case decoderSuccess:
- return decoderResultSuccess
-
- case decoderNeedsMoreInput:
- return decoderResultNeedsMoreInput
-
- case decoderNeedsMoreOutput:
- return decoderResultNeedsMoreOutput
-
- default:
- return decoderResultError
- }
-}
-
-/* Decodes WBITS by reading 1 - 7 bits, or 0x11 for "Large Window Brotli".
- Precondition: bit-reader accumulator has at least 8 bits. */
-func decodeWindowBits(s *Reader, br *bitReader) int {
- var n uint32
- var large_window bool = s.large_window
- s.large_window = false
- takeBits(br, 1, &n)
- if n == 0 {
- s.window_bits = 16
- return decoderSuccess
- }
-
- takeBits(br, 3, &n)
- if n != 0 {
- s.window_bits = 17 + n
- return decoderSuccess
- }
-
- takeBits(br, 3, &n)
- if n == 1 {
- if large_window {
- takeBits(br, 1, &n)
- if n == 1 {
- return decoderErrorFormatWindowBits
- }
-
- s.large_window = true
- return decoderSuccess
- } else {
- return decoderErrorFormatWindowBits
- }
- }
-
- if n != 0 {
- s.window_bits = 8 + n
- return decoderSuccess
- }
-
- s.window_bits = 17
- return decoderSuccess
-}
-
-/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */
-func decodeVarLenUint8(s *Reader, br *bitReader, value *uint32) int {
- var bits uint32
- switch s.substate_decode_uint8 {
- case stateDecodeUint8None:
- if !safeReadBits(br, 1, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits == 0 {
- *value = 0
- return decoderSuccess
- }
- fallthrough
-
- /* Fall through. */
- case stateDecodeUint8Short:
- if !safeReadBits(br, 3, &bits) {
- s.substate_decode_uint8 = stateDecodeUint8Short
- return decoderNeedsMoreInput
- }
-
- if bits == 0 {
- *value = 1
- s.substate_decode_uint8 = stateDecodeUint8None
- return decoderSuccess
- }
-
- /* Use output value as a temporary storage. It MUST be persisted. */
- *value = bits
- fallthrough
-
- /* Fall through. */
- case stateDecodeUint8Long:
- if !safeReadBits(br, *value, &bits) {
- s.substate_decode_uint8 = stateDecodeUint8Long
- return decoderNeedsMoreInput
- }
-
- *value = (1 << *value) + bits
- s.substate_decode_uint8 = stateDecodeUint8None
- return decoderSuccess
-
- default:
- return decoderErrorUnreachable
- }
-}
-
-/* Decodes a metablock length and flags by reading 2 - 31 bits. */
-func decodeMetaBlockLength(s *Reader, br *bitReader) int {
- var bits uint32
- var i int
- for {
- switch s.substate_metablock_header {
- case stateMetablockHeaderNone:
- if !safeReadBits(br, 1, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits != 0 {
- s.is_last_metablock = 1
- } else {
- s.is_last_metablock = 0
- }
- s.meta_block_remaining_len = 0
- s.is_uncompressed = 0
- s.is_metadata = 0
- if s.is_last_metablock == 0 {
- s.substate_metablock_header = stateMetablockHeaderNibbles
- break
- }
-
- s.substate_metablock_header = stateMetablockHeaderEmpty
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderEmpty:
- if !safeReadBits(br, 1, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits != 0 {
- s.substate_metablock_header = stateMetablockHeaderNone
- return decoderSuccess
- }
-
- s.substate_metablock_header = stateMetablockHeaderNibbles
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderNibbles:
- if !safeReadBits(br, 2, &bits) {
- return decoderNeedsMoreInput
- }
-
- s.size_nibbles = uint(byte(bits + 4))
- s.loop_counter = 0
- if bits == 3 {
- s.is_metadata = 1
- s.substate_metablock_header = stateMetablockHeaderReserved
- break
- }
-
- s.substate_metablock_header = stateMetablockHeaderSize
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderSize:
- i = s.loop_counter
-
- for ; i < int(s.size_nibbles); i++ {
- if !safeReadBits(br, 4, &bits) {
- s.loop_counter = i
- return decoderNeedsMoreInput
- }
-
- if uint(i+1) == s.size_nibbles && s.size_nibbles > 4 && bits == 0 {
- return decoderErrorFormatExuberantNibble
- }
-
- s.meta_block_remaining_len |= int(bits << uint(i*4))
- }
-
- s.substate_metablock_header = stateMetablockHeaderUncompressed
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderUncompressed:
- if s.is_last_metablock == 0 {
- if !safeReadBits(br, 1, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits != 0 {
- s.is_uncompressed = 1
- } else {
- s.is_uncompressed = 0
- }
- }
-
- s.meta_block_remaining_len++
- s.substate_metablock_header = stateMetablockHeaderNone
- return decoderSuccess
-
- case stateMetablockHeaderReserved:
- if !safeReadBits(br, 1, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits != 0 {
- return decoderErrorFormatReserved
- }
-
- s.substate_metablock_header = stateMetablockHeaderBytes
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderBytes:
- if !safeReadBits(br, 2, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits == 0 {
- s.substate_metablock_header = stateMetablockHeaderNone
- return decoderSuccess
- }
-
- s.size_nibbles = uint(byte(bits))
- s.substate_metablock_header = stateMetablockHeaderMetadata
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeaderMetadata:
- i = s.loop_counter
-
- for ; i < int(s.size_nibbles); i++ {
- if !safeReadBits(br, 8, &bits) {
- s.loop_counter = i
- return decoderNeedsMoreInput
- }
-
- if uint(i+1) == s.size_nibbles && s.size_nibbles > 1 && bits == 0 {
- return decoderErrorFormatExuberantMetaNibble
- }
-
- s.meta_block_remaining_len |= int(bits << uint(i*8))
- }
-
- s.meta_block_remaining_len++
- s.substate_metablock_header = stateMetablockHeaderNone
- return decoderSuccess
-
- default:
- return decoderErrorUnreachable
- }
- }
-}
-
-/* Decodes the Huffman code.
- This method doesn't read data from the bit reader, BUT drops the amount of
- bits that correspond to the decoded symbol.
- bits MUST contain at least 15 (BROTLI_HUFFMAN_MAX_CODE_LENGTH) valid bits. */
-func decodeSymbol(bits uint32, table []huffmanCode, br *bitReader) uint32 {
- table = table[bits&huffmanTableMask:]
- if table[0].bits > huffmanTableBits {
- var nbits uint32 = uint32(table[0].bits) - huffmanTableBits
- dropBits(br, huffmanTableBits)
- table = table[uint32(table[0].value)+((bits>>huffmanTableBits)&bitMask(nbits)):]
- }
-
- dropBits(br, uint32(table[0].bits))
- return uint32(table[0].value)
-}
-
-/* Reads and decodes the next Huffman code from bit-stream.
- This method peeks 16 bits of input and drops 0 - 15 of them. */
-func readSymbol(table []huffmanCode, br *bitReader) uint32 {
- return decodeSymbol(get16BitsUnmasked(br), table, br)
-}
-
-/* Same as DecodeSymbol, but it is known that there is less than 15 bits of
- input are currently available. */
-func safeDecodeSymbol(table []huffmanCode, br *bitReader, result *uint32) bool {
- var val uint32
- var available_bits uint32 = getAvailableBits(br)
- if available_bits == 0 {
- if table[0].bits == 0 {
- *result = uint32(table[0].value)
- return true
- }
-
- return false /* No valid bits at all. */
- }
-
- val = uint32(getBitsUnmasked(br))
- table = table[val&huffmanTableMask:]
- if table[0].bits <= huffmanTableBits {
- if uint32(table[0].bits) <= available_bits {
- dropBits(br, uint32(table[0].bits))
- *result = uint32(table[0].value)
- return true
- } else {
- return false /* Not enough bits for the first level. */
- }
- }
-
- if available_bits <= huffmanTableBits {
- return false /* Not enough bits to move to the second level. */
- }
-
- /* Speculatively drop HUFFMAN_TABLE_BITS. */
- val = (val & bitMask(uint32(table[0].bits))) >> huffmanTableBits
-
- available_bits -= huffmanTableBits
- table = table[uint32(table[0].value)+val:]
- if available_bits < uint32(table[0].bits) {
- return false /* Not enough bits for the second level. */
- }
-
- dropBits(br, huffmanTableBits+uint32(table[0].bits))
- *result = uint32(table[0].value)
- return true
-}
-
-func safeReadSymbol(table []huffmanCode, br *bitReader, result *uint32) bool {
- var val uint32
- if safeGetBits(br, 15, &val) {
- *result = decodeSymbol(val, table, br)
- return true
- }
-
- return safeDecodeSymbol(table, br, result)
-}
-
-/* Makes a look-up in first level Huffman table. Peeks 8 bits. */
-func preloadSymbol(safe int, table []huffmanCode, br *bitReader, bits *uint32, value *uint32) {
- if safe != 0 {
- return
- }
-
- table = table[getBits(br, huffmanTableBits):]
- *bits = uint32(table[0].bits)
- *value = uint32(table[0].value)
-}
-
-/* Decodes the next Huffman code using data prepared by PreloadSymbol.
- Reads 0 - 15 bits. Also peeks 8 following bits. */
-func readPreloadedSymbol(table []huffmanCode, br *bitReader, bits *uint32, value *uint32) uint32 {
- var result uint32 = *value
- var ext []huffmanCode
- if *bits > huffmanTableBits {
- var val uint32 = get16BitsUnmasked(br)
- ext = table[val&huffmanTableMask:][*value:]
- var mask uint32 = bitMask((*bits - huffmanTableBits))
- dropBits(br, huffmanTableBits)
- ext = ext[(val>>huffmanTableBits)&mask:]
- dropBits(br, uint32(ext[0].bits))
- result = uint32(ext[0].value)
- } else {
- dropBits(br, *bits)
- }
-
- preloadSymbol(0, table, br, bits, value)
- return result
-}
-
-func log2Floor(x uint32) uint32 {
- var result uint32 = 0
- for x != 0 {
- x >>= 1
- result++
- }
-
- return result
-}
-
-/* Reads (s->symbol + 1) symbols.
- Totally 1..4 symbols are read, 1..11 bits each.
- The list of symbols MUST NOT contain duplicates. */
-func readSimpleHuffmanSymbols(alphabet_size uint32, max_symbol uint32, s *Reader) int {
- var br *bitReader = &s.br
- var max_bits uint32 = log2Floor(alphabet_size - 1)
- var i uint32 = s.sub_loop_counter
- /* max_bits == 1..11; symbol == 0..3; 1..44 bits will be read. */
-
- var num_symbols uint32 = s.symbol
- for i <= num_symbols {
- var v uint32
- if !safeReadBits(br, max_bits, &v) {
- s.sub_loop_counter = i
- s.substate_huffman = stateHuffmanSimpleRead
- return decoderNeedsMoreInput
- }
-
- if v >= max_symbol {
- return decoderErrorFormatSimpleHuffmanAlphabet
- }
-
- s.symbols_lists_array[i] = uint16(v)
- i++
- }
-
- for i = 0; i < num_symbols; i++ {
- var k uint32 = i + 1
- for ; k <= num_symbols; k++ {
- if s.symbols_lists_array[i] == s.symbols_lists_array[k] {
- return decoderErrorFormatSimpleHuffmanSame
- }
- }
- }
-
- return decoderSuccess
-}
-
-/* Process single decoded symbol code length:
- A) reset the repeat variable
- B) remember code length (if it is not 0)
- C) extend corresponding index-chain
- D) reduce the Huffman space
- E) update the histogram */
-func processSingleCodeLength(code_len uint32, symbol *uint32, repeat *uint32, space *uint32, prev_code_len *uint32, symbol_lists symbolList, code_length_histo []uint16, next_symbol []int) {
- *repeat = 0
- if code_len != 0 { /* code_len == 1..15 */
- symbolListPut(symbol_lists, next_symbol[code_len], uint16(*symbol))
- next_symbol[code_len] = int(*symbol)
- *prev_code_len = code_len
- *space -= 32768 >> code_len
- code_length_histo[code_len]++
- }
-
- (*symbol)++
-}
-
-/* Process repeated symbol code length.
- A) Check if it is the extension of previous repeat sequence; if the decoded
- value is not BROTLI_REPEAT_PREVIOUS_CODE_LENGTH, then it is a new
- symbol-skip
- B) Update repeat variable
- C) Check if operation is feasible (fits alphabet)
- D) For each symbol do the same operations as in ProcessSingleCodeLength
-
- PRECONDITION: code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH or
- code_len == BROTLI_REPEAT_ZERO_CODE_LENGTH */
-func processRepeatedCodeLength(code_len uint32, repeat_delta uint32, alphabet_size uint32, symbol *uint32, repeat *uint32, space *uint32, prev_code_len *uint32, repeat_code_len *uint32, symbol_lists symbolList, code_length_histo []uint16, next_symbol []int) {
- var old_repeat uint32 /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */ /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */
- var extra_bits uint32 = 3
- var new_len uint32 = 0
- if code_len == repeatPreviousCodeLength {
- new_len = *prev_code_len
- extra_bits = 2
- }
-
- if *repeat_code_len != new_len {
- *repeat = 0
- *repeat_code_len = new_len
- }
-
- old_repeat = *repeat
- if *repeat > 0 {
- *repeat -= 2
- *repeat <<= extra_bits
- }
-
- *repeat += repeat_delta + 3
- repeat_delta = *repeat - old_repeat
- if *symbol+repeat_delta > alphabet_size {
- *symbol = alphabet_size
- *space = 0xFFFFF
- return
- }
-
- if *repeat_code_len != 0 {
- var last uint = uint(*symbol + repeat_delta)
- var next int = next_symbol[*repeat_code_len]
- for {
- symbolListPut(symbol_lists, next, uint16(*symbol))
- next = int(*symbol)
- (*symbol)++
- if (*symbol) == uint32(last) {
- break
- }
- }
-
- next_symbol[*repeat_code_len] = next
- *space -= repeat_delta << (15 - *repeat_code_len)
- code_length_histo[*repeat_code_len] = uint16(uint32(code_length_histo[*repeat_code_len]) + repeat_delta)
- } else {
- *symbol += repeat_delta
- }
-}
-
-/* Reads and decodes symbol codelengths. */
-func readSymbolCodeLengths(alphabet_size uint32, s *Reader) int {
- var br *bitReader = &s.br
- var symbol uint32 = s.symbol
- var repeat uint32 = s.repeat
- var space uint32 = s.space
- var prev_code_len uint32 = s.prev_code_len
- var repeat_code_len uint32 = s.repeat_code_len
- var symbol_lists symbolList = s.symbol_lists
- var code_length_histo []uint16 = s.code_length_histo[:]
- var next_symbol []int = s.next_symbol[:]
- if !warmupBitReader(br) {
- return decoderNeedsMoreInput
- }
- var p []huffmanCode
- for symbol < alphabet_size && space > 0 {
- p = s.table[:]
- var code_len uint32
- if !checkInputAmount(br, shortFillBitWindowRead) {
- s.symbol = symbol
- s.repeat = repeat
- s.prev_code_len = prev_code_len
- s.repeat_code_len = repeat_code_len
- s.space = space
- return decoderNeedsMoreInput
- }
-
- fillBitWindow16(br)
- p = p[getBitsUnmasked(br)&uint64(bitMask(huffmanMaxCodeLengthCodeLength)):]
- dropBits(br, uint32(p[0].bits)) /* Use 1..5 bits. */
- code_len = uint32(p[0].value) /* code_len == 0..17 */
- if code_len < repeatPreviousCodeLength {
- processSingleCodeLength(code_len, &symbol, &repeat, &space, &prev_code_len, symbol_lists, code_length_histo, next_symbol) /* code_len == 16..17, extra_bits == 2..3 */
- } else {
- var extra_bits uint32
- if code_len == repeatPreviousCodeLength {
- extra_bits = 2
- } else {
- extra_bits = 3
- }
- var repeat_delta uint32 = uint32(getBitsUnmasked(br)) & bitMask(extra_bits)
- dropBits(br, extra_bits)
- processRepeatedCodeLength(code_len, repeat_delta, alphabet_size, &symbol, &repeat, &space, &prev_code_len, &repeat_code_len, symbol_lists, code_length_histo, next_symbol)
- }
- }
-
- s.space = space
- return decoderSuccess
-}
-
-func safeReadSymbolCodeLengths(alphabet_size uint32, s *Reader) int {
- var br *bitReader = &s.br
- var get_byte bool = false
- var p []huffmanCode
- for s.symbol < alphabet_size && s.space > 0 {
- p = s.table[:]
- var code_len uint32
- var available_bits uint32
- var bits uint32 = 0
- if get_byte && !pullByte(br) {
- return decoderNeedsMoreInput
- }
- get_byte = false
- available_bits = getAvailableBits(br)
- if available_bits != 0 {
- bits = uint32(getBitsUnmasked(br))
- }
-
- p = p[bits&bitMask(huffmanMaxCodeLengthCodeLength):]
- if uint32(p[0].bits) > available_bits {
- get_byte = true
- continue
- }
-
- code_len = uint32(p[0].value) /* code_len == 0..17 */
- if code_len < repeatPreviousCodeLength {
- dropBits(br, uint32(p[0].bits))
- processSingleCodeLength(code_len, &s.symbol, &s.repeat, &s.space, &s.prev_code_len, s.symbol_lists, s.code_length_histo[:], s.next_symbol[:]) /* code_len == 16..17, extra_bits == 2..3 */
- } else {
- var extra_bits uint32 = code_len - 14
- var repeat_delta uint32 = (bits >> p[0].bits) & bitMask(extra_bits)
- if available_bits < uint32(p[0].bits)+extra_bits {
- get_byte = true
- continue
- }
-
- dropBits(br, uint32(p[0].bits)+extra_bits)
- processRepeatedCodeLength(code_len, repeat_delta, alphabet_size, &s.symbol, &s.repeat, &s.space, &s.prev_code_len, &s.repeat_code_len, s.symbol_lists, s.code_length_histo[:], s.next_symbol[:])
- }
- }
-
- return decoderSuccess
-}
-
-/* Reads and decodes 15..18 codes using static prefix code.
- Each code is 2..4 bits long. In total 30..72 bits are used. */
-func readCodeLengthCodeLengths(s *Reader) int {
- var br *bitReader = &s.br
- var num_codes uint32 = s.repeat
- var space uint32 = s.space
- var i uint32 = s.sub_loop_counter
- for ; i < codeLengthCodes; i++ {
- var code_len_idx byte = kCodeLengthCodeOrder[i]
- var ix uint32
- var v uint32
- if !safeGetBits(br, 4, &ix) {
- var available_bits uint32 = getAvailableBits(br)
- if available_bits != 0 {
- ix = uint32(getBitsUnmasked(br) & 0xF)
- } else {
- ix = 0
- }
-
- if uint32(kCodeLengthPrefixLength[ix]) > available_bits {
- s.sub_loop_counter = i
- s.repeat = num_codes
- s.space = space
- s.substate_huffman = stateHuffmanComplex
- return decoderNeedsMoreInput
- }
- }
-
- v = uint32(kCodeLengthPrefixValue[ix])
- dropBits(br, uint32(kCodeLengthPrefixLength[ix]))
- s.code_length_code_lengths[code_len_idx] = byte(v)
- if v != 0 {
- space = space - (32 >> v)
- num_codes++
- s.code_length_histo[v]++
- if space-1 >= 32 {
- /* space is 0 or wrapped around. */
- break
- }
- }
- }
-
- if num_codes != 1 && space != 0 {
- return decoderErrorFormatClSpace
- }
-
- return decoderSuccess
-}
-
-/* Decodes the Huffman tables.
- There are 2 scenarios:
- A) Huffman code contains only few symbols (1..4). Those symbols are read
- directly; their code lengths are defined by the number of symbols.
- For this scenario 4 - 49 bits will be read.
-
- B) 2-phase decoding:
- B.1) Small Huffman table is decoded; it is specified with code lengths
- encoded with predefined entropy code. 32 - 74 bits are used.
- B.2) Decoded table is used to decode code lengths of symbols in resulting
- Huffman table. In worst case 3520 bits are read. */
-func readHuffmanCode(alphabet_size uint32, max_symbol uint32, table []huffmanCode, opt_table_size *uint32, s *Reader) int {
- var br *bitReader = &s.br
-
- /* Unnecessary masking, but might be good for safety. */
- alphabet_size &= 0x7FF
-
- /* State machine. */
- for {
- switch s.substate_huffman {
- case stateHuffmanNone:
- if !safeReadBits(br, 2, &s.sub_loop_counter) {
- return decoderNeedsMoreInput
- }
-
- /* The value is used as follows:
- 1 for simple code;
- 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */
- if s.sub_loop_counter != 1 {
- s.space = 32
- s.repeat = 0 /* num_codes */
- var i int
- for i = 0; i <= huffmanMaxCodeLengthCodeLength; i++ {
- s.code_length_histo[i] = 0
- }
-
- for i = 0; i < codeLengthCodes; i++ {
- s.code_length_code_lengths[i] = 0
- }
-
- s.substate_huffman = stateHuffmanComplex
- continue
- }
- fallthrough
-
- /* Read symbols, codes & code lengths directly. */
- case stateHuffmanSimpleSize:
- if !safeReadBits(br, 2, &s.symbol) { /* num_symbols */
- s.substate_huffman = stateHuffmanSimpleSize
- return decoderNeedsMoreInput
- }
-
- s.sub_loop_counter = 0
- fallthrough
-
- case stateHuffmanSimpleRead:
- {
- var result int = readSimpleHuffmanSymbols(alphabet_size, max_symbol, s)
- if result != decoderSuccess {
- return result
- }
- }
- fallthrough
-
- case stateHuffmanSimpleBuild:
- var table_size uint32
- if s.symbol == 3 {
- var bits uint32
- if !safeReadBits(br, 1, &bits) {
- s.substate_huffman = stateHuffmanSimpleBuild
- return decoderNeedsMoreInput
- }
-
- s.symbol += bits
- }
-
- table_size = buildSimpleHuffmanTable(table, huffmanTableBits, s.symbols_lists_array[:], s.symbol)
- if opt_table_size != nil {
- *opt_table_size = table_size
- }
-
- s.substate_huffman = stateHuffmanNone
- return decoderSuccess
-
- /* Decode Huffman-coded code lengths. */
- case stateHuffmanComplex:
- {
- var i uint32
- var result int = readCodeLengthCodeLengths(s)
- if result != decoderSuccess {
- return result
- }
-
- buildCodeLengthsHuffmanTable(s.table[:], s.code_length_code_lengths[:], s.code_length_histo[:])
- for i = 0; i < 16; i++ {
- s.code_length_histo[i] = 0
- }
-
- for i = 0; i <= huffmanMaxCodeLength; i++ {
- s.next_symbol[i] = int(i) - (huffmanMaxCodeLength + 1)
- symbolListPut(s.symbol_lists, s.next_symbol[i], 0xFFFF)
- }
-
- s.symbol = 0
- s.prev_code_len = initialRepeatedCodeLength
- s.repeat = 0
- s.repeat_code_len = 0
- s.space = 32768
- s.substate_huffman = stateHuffmanLengthSymbols
- }
- fallthrough
-
- case stateHuffmanLengthSymbols:
- var table_size uint32
- var result int = readSymbolCodeLengths(max_symbol, s)
- if result == decoderNeedsMoreInput {
- result = safeReadSymbolCodeLengths(max_symbol, s)
- }
-
- if result != decoderSuccess {
- return result
- }
-
- if s.space != 0 {
- return decoderErrorFormatHuffmanSpace
- }
-
- table_size = buildHuffmanTable(table, huffmanTableBits, s.symbol_lists, s.code_length_histo[:])
- if opt_table_size != nil {
- *opt_table_size = table_size
- }
-
- s.substate_huffman = stateHuffmanNone
- return decoderSuccess
-
- default:
- return decoderErrorUnreachable
- }
- }
-}
-
-/* Decodes a block length by reading 3..39 bits. */
-func readBlockLength(table []huffmanCode, br *bitReader) uint32 {
- var code uint32
- var nbits uint32
- code = readSymbol(table, br)
- nbits = kBlockLengthPrefixCode[code].nbits /* nbits == 2..24 */
- return kBlockLengthPrefixCode[code].offset + readBits(br, nbits)
-}
-
-/* WARNING: if state is not BROTLI_STATE_READ_BLOCK_LENGTH_NONE, then
- reading can't be continued with ReadBlockLength. */
-func safeReadBlockLength(s *Reader, result *uint32, table []huffmanCode, br *bitReader) bool {
- var index uint32
- if s.substate_read_block_length == stateReadBlockLengthNone {
- if !safeReadSymbol(table, br, &index) {
- return false
- }
- } else {
- index = s.block_length_index
- }
- {
- var bits uint32 /* nbits == 2..24 */
- var nbits uint32 = kBlockLengthPrefixCode[index].nbits
- if !safeReadBits(br, nbits, &bits) {
- s.block_length_index = index
- s.substate_read_block_length = stateReadBlockLengthSuffix
- return false
- }
-
- *result = kBlockLengthPrefixCode[index].offset + bits
- s.substate_read_block_length = stateReadBlockLengthNone
- return true
- }
-}
-
-/* Transform:
- 1) initialize list L with values 0, 1,... 255
- 2) For each input element X:
- 2.1) let Y = L[X]
- 2.2) remove X-th element from L
- 2.3) prepend Y to L
- 2.4) append Y to output
-
- In most cases max(Y) <= 7, so most of L remains intact.
- To reduce the cost of initialization, we reuse L, remember the upper bound
- of Y values, and reinitialize only first elements in L.
-
- Most of input values are 0 and 1. To reduce number of branches, we replace
- inner for loop with do-while. */
-func inverseMoveToFrontTransform(v []byte, v_len uint32, state *Reader) {
- var mtf [256]byte
- var i int
- for i = 1; i < 256; i++ {
- mtf[i] = byte(i)
- }
- var mtf_1 byte
-
- /* Transform the input. */
- for i = 0; uint32(i) < v_len; i++ {
- var index int = int(v[i])
- var value byte = mtf[index]
- v[i] = value
- mtf_1 = value
- for index >= 1 {
- index--
- mtf[index+1] = mtf[index]
- }
-
- mtf[0] = mtf_1
- }
-}
-
-/* Decodes a series of Huffman table using ReadHuffmanCode function. */
-func huffmanTreeGroupDecode(group *huffmanTreeGroup, s *Reader) int {
- if s.substate_tree_group != stateTreeGroupLoop {
- s.next = group.codes
- s.htree_index = 0
- s.substate_tree_group = stateTreeGroupLoop
- }
-
- for s.htree_index < int(group.num_htrees) {
- var table_size uint32
- var result int = readHuffmanCode(uint32(group.alphabet_size), uint32(group.max_symbol), s.next, &table_size, s)
- if result != decoderSuccess {
- return result
- }
- group.htrees[s.htree_index] = s.next
- s.next = s.next[table_size:]
- s.htree_index++
- }
-
- s.substate_tree_group = stateTreeGroupNone
- return decoderSuccess
-}
-
-/* Decodes a context map.
- Decoding is done in 4 phases:
- 1) Read auxiliary information (6..16 bits) and allocate memory.
- In case of trivial context map, decoding is finished at this phase.
- 2) Decode Huffman table using ReadHuffmanCode function.
- This table will be used for reading context map items.
- 3) Read context map items; "0" values could be run-length encoded.
- 4) Optionally, apply InverseMoveToFront transform to the resulting map. */
-func decodeContextMap(context_map_size uint32, num_htrees *uint32, context_map_arg *[]byte, s *Reader) int {
- var br *bitReader = &s.br
- var result int = decoderSuccess
-
- switch int(s.substate_context_map) {
- case stateContextMapNone:
- result = decodeVarLenUint8(s, br, num_htrees)
- if result != decoderSuccess {
- return result
- }
-
- (*num_htrees)++
- s.context_index = 0
- *context_map_arg = make([]byte, uint(context_map_size))
- if *context_map_arg == nil {
- return decoderErrorAllocContextMap
- }
-
- if *num_htrees <= 1 {
- for i := 0; i < int(context_map_size); i++ {
- (*context_map_arg)[i] = 0
- }
- return decoderSuccess
- }
-
- s.substate_context_map = stateContextMapReadPrefix
- fallthrough
- /* Fall through. */
- case stateContextMapReadPrefix:
- {
- var bits uint32
-
- /* In next stage ReadHuffmanCode uses at least 4 bits, so it is safe
- to peek 4 bits ahead. */
- if !safeGetBits(br, 5, &bits) {
- return decoderNeedsMoreInput
- }
-
- if bits&1 != 0 { /* Use RLE for zeros. */
- s.max_run_length_prefix = (bits >> 1) + 1
- dropBits(br, 5)
- } else {
- s.max_run_length_prefix = 0
- dropBits(br, 1)
- }
-
- s.substate_context_map = stateContextMapHuffman
- }
- fallthrough
-
- /* Fall through. */
- case stateContextMapHuffman:
- {
- var alphabet_size uint32 = *num_htrees + s.max_run_length_prefix
- result = readHuffmanCode(alphabet_size, alphabet_size, s.context_map_table[:], nil, s)
- if result != decoderSuccess {
- return result
- }
- s.code = 0xFFFF
- s.substate_context_map = stateContextMapDecode
- }
- fallthrough
-
- /* Fall through. */
- case stateContextMapDecode:
- {
- var context_index uint32 = s.context_index
- var max_run_length_prefix uint32 = s.max_run_length_prefix
- var context_map []byte = *context_map_arg
- var code uint32 = s.code
- var skip_preamble bool = (code != 0xFFFF)
- for context_index < context_map_size || skip_preamble {
- if !skip_preamble {
- if !safeReadSymbol(s.context_map_table[:], br, &code) {
- s.code = 0xFFFF
- s.context_index = context_index
- return decoderNeedsMoreInput
- }
-
- if code == 0 {
- context_map[context_index] = 0
- context_index++
- continue
- }
-
- if code > max_run_length_prefix {
- context_map[context_index] = byte(code - max_run_length_prefix)
- context_index++
- continue
- }
- } else {
- skip_preamble = false
- }
-
- /* RLE sub-stage. */
- {
- var reps uint32
- if !safeReadBits(br, code, &reps) {
- s.code = code
- s.context_index = context_index
- return decoderNeedsMoreInput
- }
-
- reps += 1 << code
- if context_index+reps > context_map_size {
- return decoderErrorFormatContextMapRepeat
- }
-
- for {
- context_map[context_index] = 0
- context_index++
- reps--
- if reps == 0 {
- break
- }
- }
- }
- }
- }
- fallthrough
-
- case stateContextMapTransform:
- var bits uint32
- if !safeReadBits(br, 1, &bits) {
- s.substate_context_map = stateContextMapTransform
- return decoderNeedsMoreInput
- }
-
- if bits != 0 {
- inverseMoveToFrontTransform(*context_map_arg, context_map_size, s)
- }
-
- s.substate_context_map = stateContextMapNone
- return decoderSuccess
-
- default:
- return decoderErrorUnreachable
- }
-}
-
-/* Decodes a command or literal and updates block type ring-buffer.
- Reads 3..54 bits. */
-func decodeBlockTypeAndLength(safe int, s *Reader, tree_type int) bool {
- var max_block_type uint32 = s.num_block_types[tree_type]
- type_tree := s.block_type_trees[tree_type*huffmanMaxSize258:]
- len_tree := s.block_len_trees[tree_type*huffmanMaxSize26:]
- var br *bitReader = &s.br
- var ringbuffer []uint32 = s.block_type_rb[tree_type*2:]
- var block_type uint32
- if max_block_type <= 1 {
- return false
- }
-
- /* Read 0..15 + 3..39 bits. */
- if safe == 0 {
- block_type = readSymbol(type_tree, br)
- s.block_length[tree_type] = readBlockLength(len_tree, br)
- } else {
- var memento bitReaderState
- bitReaderSaveState(br, &memento)
- if !safeReadSymbol(type_tree, br, &block_type) {
- return false
- }
- if !safeReadBlockLength(s, &s.block_length[tree_type], len_tree, br) {
- s.substate_read_block_length = stateReadBlockLengthNone
- bitReaderRestoreState(br, &memento)
- return false
- }
- }
-
- if block_type == 1 {
- block_type = ringbuffer[1] + 1
- } else if block_type == 0 {
- block_type = ringbuffer[0]
- } else {
- block_type -= 2
- }
-
- if block_type >= max_block_type {
- block_type -= max_block_type
- }
-
- ringbuffer[0] = ringbuffer[1]
- ringbuffer[1] = block_type
- return true
-}
-
-func detectTrivialLiteralBlockTypes(s *Reader) {
- var i uint
- for i = 0; i < 8; i++ {
- s.trivial_literal_contexts[i] = 0
- }
- for i = 0; uint32(i) < s.num_block_types[0]; i++ {
- var offset uint = i << literalContextBits
- var error uint = 0
- var sample uint = uint(s.context_map[offset])
- var j uint
- for j = 0; j < 1<>5] |= 1 << (i & 31)
- }
- }
-}
-
-func prepareLiteralDecoding(s *Reader) {
- var context_mode byte
- var trivial uint
- var block_type uint32 = s.block_type_rb[1]
- var context_offset uint32 = block_type << literalContextBits
- s.context_map_slice = s.context_map[context_offset:]
- trivial = uint(s.trivial_literal_contexts[block_type>>5])
- s.trivial_literal_context = int((trivial >> (block_type & 31)) & 1)
- s.literal_htree = []huffmanCode(s.literal_hgroup.htrees[s.context_map_slice[0]])
- context_mode = s.context_modes[block_type] & 3
- s.context_lookup = getContextLUT(int(context_mode))
-}
-
-/* Decodes the block type and updates the state for literal context.
- Reads 3..54 bits. */
-func decodeLiteralBlockSwitchInternal(safe int, s *Reader) bool {
- if !decodeBlockTypeAndLength(safe, s, 0) {
- return false
- }
-
- prepareLiteralDecoding(s)
- return true
-}
-
-func decodeLiteralBlockSwitch(s *Reader) {
- decodeLiteralBlockSwitchInternal(0, s)
-}
-
-func safeDecodeLiteralBlockSwitch(s *Reader) bool {
- return decodeLiteralBlockSwitchInternal(1, s)
-}
-
-/* Block switch for insert/copy length.
- Reads 3..54 bits. */
-func decodeCommandBlockSwitchInternal(safe int, s *Reader) bool {
- if !decodeBlockTypeAndLength(safe, s, 1) {
- return false
- }
-
- s.htree_command = []huffmanCode(s.insert_copy_hgroup.htrees[s.block_type_rb[3]])
- return true
-}
-
-func decodeCommandBlockSwitch(s *Reader) {
- decodeCommandBlockSwitchInternal(0, s)
-}
-
-func safeDecodeCommandBlockSwitch(s *Reader) bool {
- return decodeCommandBlockSwitchInternal(1, s)
-}
-
-/* Block switch for distance codes.
- Reads 3..54 bits. */
-func decodeDistanceBlockSwitchInternal(safe int, s *Reader) bool {
- if !decodeBlockTypeAndLength(safe, s, 2) {
- return false
- }
-
- s.dist_context_map_slice = s.dist_context_map[s.block_type_rb[5]< s.ringbuffer_size {
- pos = uint(s.ringbuffer_size)
- } else {
- pos = uint(s.pos)
- }
- var partial_pos_rb uint = (s.rb_roundtrips * uint(s.ringbuffer_size)) + pos
- return partial_pos_rb - s.partial_pos_out
-}
-
-/* Dumps output.
- Returns BROTLI_DECODER_NEEDS_MORE_OUTPUT only if there is more output to push
- and either ring-buffer is as big as window size, or |force| is true. */
-func writeRingBuffer(s *Reader, available_out *uint, next_out *[]byte, total_out *uint, force bool) int {
- start := s.ringbuffer[s.partial_pos_out&uint(s.ringbuffer_mask):]
- var to_write uint = unwrittenBytes(s, true)
- var num_written uint = *available_out
- if num_written > to_write {
- num_written = to_write
- }
-
- if s.meta_block_remaining_len < 0 {
- return decoderErrorFormatBlockLength1
- }
-
- if next_out != nil && *next_out == nil {
- *next_out = start
- } else {
- if next_out != nil {
- copy(*next_out, start[:num_written])
- *next_out = (*next_out)[num_written:]
- }
- }
-
- *available_out -= num_written
- s.partial_pos_out += num_written
- if total_out != nil {
- *total_out = s.partial_pos_out
- }
-
- if num_written < to_write {
- if s.ringbuffer_size == 1<= s.ringbuffer_size {
- s.pos -= s.ringbuffer_size
- s.rb_roundtrips++
- if uint(s.pos) != 0 {
- s.should_wrap_ringbuffer = 1
- } else {
- s.should_wrap_ringbuffer = 0
- }
- }
-
- return decoderSuccess
-}
-
-func wrapRingBuffer(s *Reader) {
- if s.should_wrap_ringbuffer != 0 {
- copy(s.ringbuffer, s.ringbuffer_end[:uint(s.pos)])
- s.should_wrap_ringbuffer = 0
- }
-}
-
-/* Allocates ring-buffer.
-
- s->ringbuffer_size MUST be updated by BrotliCalculateRingBufferSize before
- this function is called.
-
- Last two bytes of ring-buffer are initialized to 0, so context calculation
- could be done uniformly for the first two and all other positions. */
-func ensureRingBuffer(s *Reader) bool {
- var old_ringbuffer []byte
- if s.ringbuffer_size == s.new_ringbuffer_size {
- return true
- }
- spaceNeeded := int(s.new_ringbuffer_size) + int(kRingBufferWriteAheadSlack)
- if len(s.ringbuffer) < spaceNeeded {
- old_ringbuffer = s.ringbuffer
- s.ringbuffer = make([]byte, spaceNeeded)
- }
-
- s.ringbuffer[s.new_ringbuffer_size-2] = 0
- s.ringbuffer[s.new_ringbuffer_size-1] = 0
-
- if old_ringbuffer != nil {
- copy(s.ringbuffer, old_ringbuffer[:uint(s.pos)])
- }
-
- s.ringbuffer_size = s.new_ringbuffer_size
- s.ringbuffer_mask = s.new_ringbuffer_size - 1
- s.ringbuffer_end = s.ringbuffer[s.ringbuffer_size:]
-
- return true
-}
-
-func copyUncompressedBlockToOutput(available_out *uint, next_out *[]byte, total_out *uint, s *Reader) int {
- /* TODO: avoid allocation for single uncompressed block. */
- if !ensureRingBuffer(s) {
- return decoderErrorAllocRingBuffer1
- }
-
- /* State machine */
- for {
- switch s.substate_uncompressed {
- case stateUncompressedNone:
- {
- var nbytes int = int(getRemainingBytes(&s.br))
- if nbytes > s.meta_block_remaining_len {
- nbytes = s.meta_block_remaining_len
- }
-
- if s.pos+nbytes > s.ringbuffer_size {
- nbytes = s.ringbuffer_size - s.pos
- }
-
- /* Copy remaining bytes from s->br.buf_ to ring-buffer. */
- copyBytes(s.ringbuffer[s.pos:], &s.br, uint(nbytes))
-
- s.pos += nbytes
- s.meta_block_remaining_len -= nbytes
- if s.pos < 1<>1 >= min_size {
- new_ringbuffer_size >>= 1
- }
- }
-
- s.new_ringbuffer_size = new_ringbuffer_size
-}
-
-/* Reads 1..256 2-bit context modes. */
-func readContextModes(s *Reader) int {
- var br *bitReader = &s.br
- var i int = s.loop_counter
-
- for i < int(s.num_block_types[0]) {
- var bits uint32
- if !safeReadBits(br, 2, &bits) {
- s.loop_counter = i
- return decoderNeedsMoreInput
- }
-
- s.context_modes[i] = byte(bits)
- i++
- }
-
- return decoderSuccess
-}
-
-func takeDistanceFromRingBuffer(s *Reader) {
- if s.distance_code == 0 {
- s.dist_rb_idx--
- s.distance_code = s.dist_rb[s.dist_rb_idx&3]
-
- /* Compensate double distance-ring-buffer roll for dictionary items. */
- s.distance_context = 1
- } else {
- var distance_code int = s.distance_code << 1
- const kDistanceShortCodeIndexOffset uint32 = 0xAAAFFF1B
- const kDistanceShortCodeValueOffset uint32 = 0xFA5FA500
- var v int = (s.dist_rb_idx + int(kDistanceShortCodeIndexOffset>>uint(distance_code))) & 0x3
- /* kDistanceShortCodeIndexOffset has 2-bit values from LSB:
- 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */
-
- /* kDistanceShortCodeValueOffset has 2-bit values from LSB:
- -0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */
- s.distance_code = s.dist_rb[v]
-
- v = int(kDistanceShortCodeValueOffset>>uint(distance_code)) & 0x3
- if distance_code&0x3 != 0 {
- s.distance_code += v
- } else {
- s.distance_code -= v
- if s.distance_code <= 0 {
- /* A huge distance will cause a () soon.
- This is a little faster than failing here. */
- s.distance_code = 0x7FFFFFFF
- }
- }
- }
-}
-
-func safeReadBitsMaybeZero(br *bitReader, n_bits uint32, val *uint32) bool {
- if n_bits != 0 {
- return safeReadBits(br, n_bits, val)
- } else {
- *val = 0
- return true
- }
-}
-
-/* Precondition: s->distance_code < 0. */
-func readDistanceInternal(safe int, s *Reader, br *bitReader) bool {
- var distval int
- var memento bitReaderState
- var distance_tree []huffmanCode = []huffmanCode(s.distance_hgroup.htrees[s.dist_htree_index])
- if safe == 0 {
- s.distance_code = int(readSymbol(distance_tree, br))
- } else {
- var code uint32
- bitReaderSaveState(br, &memento)
- if !safeReadSymbol(distance_tree, br, &code) {
- return false
- }
-
- s.distance_code = int(code)
- }
-
- /* Convert the distance code to the actual distance by possibly
- looking up past distances from the s->ringbuffer. */
- s.distance_context = 0
-
- if s.distance_code&^0xF == 0 {
- takeDistanceFromRingBuffer(s)
- s.block_length[2]--
- return true
- }
-
- distval = s.distance_code - int(s.num_direct_distance_codes)
- if distval >= 0 {
- var nbits uint32
- var postfix int
- var offset int
- if safe == 0 && (s.distance_postfix_bits == 0) {
- nbits = (uint32(distval) >> 1) + 1
- offset = ((2 + (distval & 1)) << nbits) - 4
- s.distance_code = int(s.num_direct_distance_codes) + offset + int(readBits(br, nbits))
- } else {
- /* This branch also works well when s->distance_postfix_bits == 0. */
- var bits uint32
- postfix = distval & s.distance_postfix_mask
- distval >>= s.distance_postfix_bits
- nbits = (uint32(distval) >> 1) + 1
- if safe != 0 {
- if !safeReadBitsMaybeZero(br, nbits, &bits) {
- s.distance_code = -1 /* Restore precondition. */
- bitReaderRestoreState(br, &memento)
- return false
- }
- } else {
- bits = readBits(br, nbits)
- }
-
- offset = ((2 + (distval & 1)) << nbits) - 4
- s.distance_code = int(s.num_direct_distance_codes) + ((offset + int(bits)) << s.distance_postfix_bits) + postfix
- }
- }
-
- s.distance_code = s.distance_code - numDistanceShortCodes + 1
- s.block_length[2]--
- return true
-}
-
-func readDistance(s *Reader, br *bitReader) {
- readDistanceInternal(0, s, br)
-}
-
-func safeReadDistance(s *Reader, br *bitReader) bool {
- return readDistanceInternal(1, s, br)
-}
-
-func readCommandInternal(safe int, s *Reader, br *bitReader, insert_length *int) bool {
- var cmd_code uint32
- var insert_len_extra uint32 = 0
- var copy_length uint32
- var v cmdLutElement
- var memento bitReaderState
- if safe == 0 {
- cmd_code = readSymbol(s.htree_command, br)
- } else {
- bitReaderSaveState(br, &memento)
- if !safeReadSymbol(s.htree_command, br, &cmd_code) {
- return false
- }
- }
-
- v = kCmdLut[cmd_code]
- s.distance_code = int(v.distance_code)
- s.distance_context = int(v.context)
- s.dist_htree_index = s.dist_context_map_slice[s.distance_context]
- *insert_length = int(v.insert_len_offset)
- if safe == 0 {
- if v.insert_len_extra_bits != 0 {
- insert_len_extra = readBits(br, uint32(v.insert_len_extra_bits))
- }
-
- copy_length = readBits(br, uint32(v.copy_len_extra_bits))
- } else {
- if !safeReadBitsMaybeZero(br, uint32(v.insert_len_extra_bits), &insert_len_extra) || !safeReadBitsMaybeZero(br, uint32(v.copy_len_extra_bits), ©_length) {
- bitReaderRestoreState(br, &memento)
- return false
- }
- }
-
- s.copy_length = int(copy_length) + int(v.copy_len_offset)
- s.block_length[1]--
- *insert_length += int(insert_len_extra)
- return true
-}
-
-func readCommand(s *Reader, br *bitReader, insert_length *int) {
- readCommandInternal(0, s, br, insert_length)
-}
-
-func safeReadCommand(s *Reader, br *bitReader, insert_length *int) bool {
- return readCommandInternal(1, s, br, insert_length)
-}
-
-func checkInputAmountMaybeSafe(safe int, br *bitReader, num uint) bool {
- if safe != 0 {
- return true
- }
-
- return checkInputAmount(br, num)
-}
-
-func processCommandsInternal(safe int, s *Reader) int {
- var pos int = s.pos
- var i int = s.loop_counter
- var result int = decoderSuccess
- var br *bitReader = &s.br
- var hc []huffmanCode
-
- if !checkInputAmountMaybeSafe(safe, br, 28) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- if safe == 0 {
- warmupBitReader(br)
- }
-
- /* Jump into state machine. */
- if s.state == stateCommandBegin {
- goto CommandBegin
- } else if s.state == stateCommandInner {
- goto CommandInner
- } else if s.state == stateCommandPostDecodeLiterals {
- goto CommandPostDecodeLiterals
- } else if s.state == stateCommandPostWrapCopy {
- goto CommandPostWrapCopy
- } else {
- return decoderErrorUnreachable
- }
-
-CommandBegin:
- if safe != 0 {
- s.state = stateCommandBegin
- }
-
- if !checkInputAmountMaybeSafe(safe, br, 28) { /* 156 bits + 7 bytes */
- s.state = stateCommandBegin
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- if s.block_length[1] == 0 {
- if safe != 0 {
- if !safeDecodeCommandBlockSwitch(s) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- decodeCommandBlockSwitch(s)
- }
-
- goto CommandBegin
- }
-
- /* Read the insert/copy length in the command. */
- if safe != 0 {
- if !safeReadCommand(s, br, &i) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- readCommand(s, br, &i)
- }
-
- if i == 0 {
- goto CommandPostDecodeLiterals
- }
-
- s.meta_block_remaining_len -= i
-
-CommandInner:
- if safe != 0 {
- s.state = stateCommandInner
- }
-
- /* Read the literals in the command. */
- if s.trivial_literal_context != 0 {
- var bits uint32
- var value uint32
- preloadSymbol(safe, s.literal_htree, br, &bits, &value)
- for {
- if !checkInputAmountMaybeSafe(safe, br, 28) { /* 162 bits + 7 bytes */
- s.state = stateCommandInner
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- if s.block_length[0] == 0 {
- if safe != 0 {
- if !safeDecodeLiteralBlockSwitch(s) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- decodeLiteralBlockSwitch(s)
- }
-
- preloadSymbol(safe, s.literal_htree, br, &bits, &value)
- if s.trivial_literal_context == 0 {
- goto CommandInner
- }
- }
-
- if safe == 0 {
- s.ringbuffer[pos] = byte(readPreloadedSymbol(s.literal_htree, br, &bits, &value))
- } else {
- var literal uint32
- if !safeReadSymbol(s.literal_htree, br, &literal) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- s.ringbuffer[pos] = byte(literal)
- }
-
- s.block_length[0]--
- pos++
- if pos == s.ringbuffer_size {
- s.state = stateCommandInnerWrite
- i--
- goto saveStateAndReturn
- }
- i--
- if i == 0 {
- break
- }
- }
- } else {
- var p1 byte = s.ringbuffer[(pos-1)&s.ringbuffer_mask]
- var p2 byte = s.ringbuffer[(pos-2)&s.ringbuffer_mask]
- for {
- var context byte
- if !checkInputAmountMaybeSafe(safe, br, 28) { /* 162 bits + 7 bytes */
- s.state = stateCommandInner
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- if s.block_length[0] == 0 {
- if safe != 0 {
- if !safeDecodeLiteralBlockSwitch(s) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- decodeLiteralBlockSwitch(s)
- }
-
- if s.trivial_literal_context != 0 {
- goto CommandInner
- }
- }
-
- context = getContext(p1, p2, s.context_lookup)
- hc = []huffmanCode(s.literal_hgroup.htrees[s.context_map_slice[context]])
- p2 = p1
- if safe == 0 {
- p1 = byte(readSymbol(hc, br))
- } else {
- var literal uint32
- if !safeReadSymbol(hc, br, &literal) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
-
- p1 = byte(literal)
- }
-
- s.ringbuffer[pos] = p1
- s.block_length[0]--
- pos++
- if pos == s.ringbuffer_size {
- s.state = stateCommandInnerWrite
- i--
- goto saveStateAndReturn
- }
- i--
- if i == 0 {
- break
- }
- }
- }
-
- if s.meta_block_remaining_len <= 0 {
- s.state = stateMetablockDone
- goto saveStateAndReturn
- }
-
-CommandPostDecodeLiterals:
- if safe != 0 {
- s.state = stateCommandPostDecodeLiterals
- }
-
- if s.distance_code >= 0 {
- /* Implicit distance case. */
- if s.distance_code != 0 {
- s.distance_context = 0
- } else {
- s.distance_context = 1
- }
-
- s.dist_rb_idx--
- s.distance_code = s.dist_rb[s.dist_rb_idx&3]
- } else {
- /* Read distance code in the command, unless it was implicitly zero. */
- if s.block_length[2] == 0 {
- if safe != 0 {
- if !safeDecodeDistanceBlockSwitch(s) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- decodeDistanceBlockSwitch(s)
- }
- }
-
- if safe != 0 {
- if !safeReadDistance(s, br) {
- result = decoderNeedsMoreInput
- goto saveStateAndReturn
- }
- } else {
- readDistance(s, br)
- }
- }
-
- if s.max_distance != s.max_backward_distance {
- if pos < s.max_backward_distance {
- s.max_distance = pos
- } else {
- s.max_distance = s.max_backward_distance
- }
- }
-
- i = s.copy_length
-
- /* Apply copy of LZ77 back-reference, or static dictionary reference if
- the distance is larger than the max LZ77 distance */
- if s.distance_code > s.max_distance {
- /* The maximum allowed distance is BROTLI_MAX_ALLOWED_DISTANCE = 0x7FFFFFFC.
- With this choice, no signed overflow can occur after decoding
- a special distance code (e.g., after adding 3 to the last distance). */
- if s.distance_code > maxAllowedDistance {
- return decoderErrorFormatDistance
- }
-
- if i >= minDictionaryWordLength && i <= maxDictionaryWordLength {
- var address int = s.distance_code - s.max_distance - 1
- var words *dictionary = s.dictionary
- var trans *transforms = s.transforms
- var offset int = int(s.dictionary.offsets_by_length[i])
- var shift uint32 = uint32(s.dictionary.size_bits_by_length[i])
- var mask int = int(bitMask(shift))
- var word_idx int = address & mask
- var transform_idx int = address >> shift
-
- /* Compensate double distance-ring-buffer roll. */
- s.dist_rb_idx += s.distance_context
-
- offset += word_idx * i
- if words.data == nil {
- return decoderErrorDictionaryNotSet
- }
-
- if transform_idx < int(trans.num_transforms) {
- word := words.data[offset:]
- var len int = i
- if transform_idx == int(trans.cutOffTransforms[0]) {
- copy(s.ringbuffer[pos:], word[:uint(len)])
- } else {
- len = transformDictionaryWord(s.ringbuffer[pos:], word, int(len), trans, transform_idx)
- }
-
- pos += int(len)
- s.meta_block_remaining_len -= int(len)
- if pos >= s.ringbuffer_size {
- s.state = stateCommandPostWrite1
- goto saveStateAndReturn
- }
- } else {
- return decoderErrorFormatTransform
- }
- } else {
- return decoderErrorFormatDictionary
- }
- } else {
- var src_start int = (pos - s.distance_code) & s.ringbuffer_mask
- copy_dst := s.ringbuffer[pos:]
- copy_src := s.ringbuffer[src_start:]
- var dst_end int = pos + i
- var src_end int = src_start + i
-
- /* Update the recent distances cache. */
- s.dist_rb[s.dist_rb_idx&3] = s.distance_code
-
- s.dist_rb_idx++
- s.meta_block_remaining_len -= i
-
- /* There are 32+ bytes of slack in the ring-buffer allocation.
- Also, we have 16 short codes, that make these 16 bytes irrelevant
- in the ring-buffer. Let's copy over them as a first guess. */
- copy(copy_dst, copy_src[:16])
-
- if src_end > pos && dst_end > src_start {
- /* Regions intersect. */
- goto CommandPostWrapCopy
- }
-
- if dst_end >= s.ringbuffer_size || src_end >= s.ringbuffer_size {
- /* At least one region wraps. */
- goto CommandPostWrapCopy
- }
-
- pos += i
- if i > 16 {
- if i > 32 {
- copy(copy_dst[16:], copy_src[16:][:uint(i-16)])
- } else {
- /* This branch covers about 45% cases.
- Fixed size short copy allows more compiler optimizations. */
- copy(copy_dst[16:], copy_src[16:][:16])
- }
- }
- }
-
- if s.meta_block_remaining_len <= 0 {
- /* Next metablock, if any. */
- s.state = stateMetablockDone
-
- goto saveStateAndReturn
- } else {
- goto CommandBegin
- }
-CommandPostWrapCopy:
- {
- var wrap_guard int = s.ringbuffer_size - pos
- for {
- i--
- if i < 0 {
- break
- }
- s.ringbuffer[pos] = s.ringbuffer[(pos-s.distance_code)&s.ringbuffer_mask]
- pos++
- wrap_guard--
- if wrap_guard == 0 {
- s.state = stateCommandPostWrite2
- goto saveStateAndReturn
- }
- }
- }
-
- if s.meta_block_remaining_len <= 0 {
- /* Next metablock, if any. */
- s.state = stateMetablockDone
-
- goto saveStateAndReturn
- } else {
- goto CommandBegin
- }
-
-saveStateAndReturn:
- s.pos = pos
- s.loop_counter = i
- return result
-}
-
-func processCommands(s *Reader) int {
- return processCommandsInternal(0, s)
-}
-
-func safeProcessCommands(s *Reader) int {
- return processCommandsInternal(1, s)
-}
-
-/* Returns the maximum number of distance symbols which can only represent
- distances not exceeding BROTLI_MAX_ALLOWED_DISTANCE. */
-
-var maxDistanceSymbol_bound = [maxNpostfix + 1]uint32{0, 4, 12, 28}
-var maxDistanceSymbol_diff = [maxNpostfix + 1]uint32{73, 126, 228, 424}
-
-func maxDistanceSymbol(ndirect uint32, npostfix uint32) uint32 {
- var postfix uint32 = 1 << npostfix
- if ndirect < maxDistanceSymbol_bound[npostfix] {
- return ndirect + maxDistanceSymbol_diff[npostfix] + postfix
- } else if ndirect > maxDistanceSymbol_bound[npostfix]+postfix {
- return ndirect + maxDistanceSymbol_diff[npostfix]
- } else {
- return maxDistanceSymbol_bound[npostfix] + maxDistanceSymbol_diff[npostfix] + postfix
- }
-}
-
-/* Invariant: input stream is never overconsumed:
- - invalid input implies that the whole stream is invalid -> any amount of
- input could be read and discarded
- - when result is "needs more input", then at least one more byte is REQUIRED
- to complete decoding; all input data MUST be consumed by decoder, so
- client could swap the input buffer
- - when result is "needs more output" decoder MUST ensure that it doesn't
- hold more than 7 bits in bit reader; this saves client from swapping input
- buffer ahead of time
- - when result is "success" decoder MUST return all unused data back to input
- buffer; this is possible because the invariant is held on enter */
-func decoderDecompressStream(s *Reader, available_in *uint, next_in *[]byte, available_out *uint, next_out *[]byte) int {
- var result int = decoderSuccess
- var br *bitReader = &s.br
-
- /* Do not try to process further in a case of unrecoverable error. */
- if int(s.error_code) < 0 {
- return decoderResultError
- }
-
- if *available_out != 0 && (next_out == nil || *next_out == nil) {
- return saveErrorCode(s, decoderErrorInvalidArguments)
- }
-
- if *available_out == 0 {
- next_out = nil
- }
- if s.buffer_length == 0 { /* Just connect bit reader to input stream. */
- br.input_len = *available_in
- br.input = *next_in
- br.byte_pos = 0
- } else {
- /* At least one byte of input is required. More than one byte of input may
- be required to complete the transaction -> reading more data must be
- done in a loop -> do it in a main loop. */
- result = decoderNeedsMoreInput
-
- br.input = s.buffer.u8[:]
- br.byte_pos = 0
- }
-
- /* State machine */
- for {
- if result != decoderSuccess {
- /* Error, needs more input/output. */
- if result == decoderNeedsMoreInput {
- if s.ringbuffer != nil { /* Pro-actively push output. */
- var intermediate_result int = writeRingBuffer(s, available_out, next_out, nil, true)
-
- /* WriteRingBuffer checks s->meta_block_remaining_len validity. */
- if int(intermediate_result) < 0 {
- result = intermediate_result
- break
- }
- }
-
- if s.buffer_length != 0 { /* Used with internal buffer. */
- if br.byte_pos == br.input_len {
- /* Successfully finished read transaction.
- Accumulator contains less than 8 bits, because internal buffer
- is expanded byte-by-byte until it is enough to complete read. */
- s.buffer_length = 0
-
- /* Switch to input stream and restart. */
- result = decoderSuccess
-
- br.input_len = *available_in
- br.input = *next_in
- br.byte_pos = 0
- continue
- } else if *available_in != 0 {
- /* Not enough data in buffer, but can take one more byte from
- input stream. */
- result = decoderSuccess
-
- s.buffer.u8[s.buffer_length] = (*next_in)[0]
- s.buffer_length++
- br.input_len = uint(s.buffer_length)
- *next_in = (*next_in)[1:]
- (*available_in)--
-
- /* Retry with more data in buffer. */
- continue
- }
-
- /* Can't finish reading and no more input. */
- break
- /* Input stream doesn't contain enough input. */
- } else {
- /* Copy tail to internal buffer and return. */
- *next_in = br.input[br.byte_pos:]
-
- *available_in = br.input_len - br.byte_pos
- for *available_in != 0 {
- s.buffer.u8[s.buffer_length] = (*next_in)[0]
- s.buffer_length++
- *next_in = (*next_in)[1:]
- (*available_in)--
- }
-
- break
- }
- }
-
- /* Unreachable. */
-
- /* Fail or needs more output. */
- if s.buffer_length != 0 {
- /* Just consumed the buffered input and produced some output. Otherwise
- it would result in "needs more input". Reset internal buffer. */
- s.buffer_length = 0
- } else {
- /* Using input stream in last iteration. When decoder switches to input
- stream it has less than 8 bits in accumulator, so it is safe to
- return unused accumulator bits there. */
- bitReaderUnload(br)
-
- *available_in = br.input_len - br.byte_pos
- *next_in = br.input[br.byte_pos:]
- }
-
- break
- }
-
- switch s.state {
- /* Prepare to the first read. */
- case stateUninited:
- if !warmupBitReader(br) {
- result = decoderNeedsMoreInput
- break
- }
-
- /* Decode window size. */
- result = decodeWindowBits(s, br) /* Reads 1..8 bits. */
- if result != decoderSuccess {
- break
- }
-
- if s.large_window {
- s.state = stateLargeWindowBits
- break
- }
-
- s.state = stateInitialize
-
- case stateLargeWindowBits:
- if !safeReadBits(br, 6, &s.window_bits) {
- result = decoderNeedsMoreInput
- break
- }
-
- if s.window_bits < largeMinWbits || s.window_bits > largeMaxWbits {
- result = decoderErrorFormatWindowBits
- break
- }
-
- s.state = stateInitialize
- fallthrough
-
- /* Maximum distance, see section 9.1. of the spec. */
- /* Fall through. */
- case stateInitialize:
- s.max_backward_distance = (1 << s.window_bits) - windowGap
-
- /* Allocate memory for both block_type_trees and block_len_trees. */
- s.block_type_trees = make([]huffmanCode, (3 * (huffmanMaxSize258 + huffmanMaxSize26)))
-
- if s.block_type_trees == nil {
- result = decoderErrorAllocBlockTypeTrees
- break
- }
-
- s.block_len_trees = s.block_type_trees[3*huffmanMaxSize258:]
-
- s.state = stateMetablockBegin
- fallthrough
-
- /* Fall through. */
- case stateMetablockBegin:
- decoderStateMetablockBegin(s)
-
- s.state = stateMetablockHeader
- fallthrough
-
- /* Fall through. */
- case stateMetablockHeader:
- result = decodeMetaBlockLength(s, br)
- /* Reads 2 - 31 bits. */
- if result != decoderSuccess {
- break
- }
-
- if s.is_metadata != 0 || s.is_uncompressed != 0 {
- if !bitReaderJumpToByteBoundary(br) {
- result = decoderErrorFormatPadding1
- break
- }
- }
-
- if s.is_metadata != 0 {
- s.state = stateMetadata
- break
- }
-
- if s.meta_block_remaining_len == 0 {
- s.state = stateMetablockDone
- break
- }
-
- calculateRingBufferSize(s)
- if s.is_uncompressed != 0 {
- s.state = stateUncompressed
- break
- }
-
- s.loop_counter = 0
- s.state = stateHuffmanCode0
-
- case stateUncompressed:
- result = copyUncompressedBlockToOutput(available_out, next_out, nil, s)
- if result == decoderSuccess {
- s.state = stateMetablockDone
- }
-
- case stateMetadata:
- for ; s.meta_block_remaining_len > 0; s.meta_block_remaining_len-- {
- var bits uint32
-
- /* Read one byte and ignore it. */
- if !safeReadBits(br, 8, &bits) {
- result = decoderNeedsMoreInput
- break
- }
- }
-
- if result == decoderSuccess {
- s.state = stateMetablockDone
- }
-
- case stateHuffmanCode0:
- if s.loop_counter >= 3 {
- s.state = stateMetablockHeader2
- break
- }
-
- /* Reads 1..11 bits. */
- result = decodeVarLenUint8(s, br, &s.num_block_types[s.loop_counter])
-
- if result != decoderSuccess {
- break
- }
-
- s.num_block_types[s.loop_counter]++
- if s.num_block_types[s.loop_counter] < 2 {
- s.loop_counter++
- break
- }
-
- s.state = stateHuffmanCode1
- fallthrough
-
- case stateHuffmanCode1:
- {
- var alphabet_size uint32 = s.num_block_types[s.loop_counter] + 2
- var tree_offset int = s.loop_counter * huffmanMaxSize258
- result = readHuffmanCode(alphabet_size, alphabet_size, s.block_type_trees[tree_offset:], nil, s)
- if result != decoderSuccess {
- break
- }
- s.state = stateHuffmanCode2
- }
- fallthrough
-
- case stateHuffmanCode2:
- {
- var alphabet_size uint32 = numBlockLenSymbols
- var tree_offset int = s.loop_counter * huffmanMaxSize26
- result = readHuffmanCode(alphabet_size, alphabet_size, s.block_len_trees[tree_offset:], nil, s)
- if result != decoderSuccess {
- break
- }
- s.state = stateHuffmanCode3
- }
- fallthrough
-
- case stateHuffmanCode3:
- var tree_offset int = s.loop_counter * huffmanMaxSize26
- if !safeReadBlockLength(s, &s.block_length[s.loop_counter], s.block_len_trees[tree_offset:], br) {
- result = decoderNeedsMoreInput
- break
- }
-
- s.loop_counter++
- s.state = stateHuffmanCode0
-
- case stateMetablockHeader2:
- {
- var bits uint32
- if !safeReadBits(br, 6, &bits) {
- result = decoderNeedsMoreInput
- break
- }
-
- s.distance_postfix_bits = bits & bitMask(2)
- bits >>= 2
- s.num_direct_distance_codes = numDistanceShortCodes + (bits << s.distance_postfix_bits)
- s.distance_postfix_mask = int(bitMask(s.distance_postfix_bits))
- s.context_modes = make([]byte, uint(s.num_block_types[0]))
- if s.context_modes == nil {
- result = decoderErrorAllocContextModes
- break
- }
-
- s.loop_counter = 0
- s.state = stateContextModes
- }
- fallthrough
-
- case stateContextModes:
- result = readContextModes(s)
-
- if result != decoderSuccess {
- break
- }
-
- s.state = stateContextMap1
- fallthrough
-
- case stateContextMap1:
- result = decodeContextMap(s.num_block_types[0]<= 3 {
- prepareLiteralDecoding(s)
- s.dist_context_map_slice = s.dist_context_map
- s.htree_command = []huffmanCode(s.insert_copy_hgroup.htrees[0])
- if !ensureRingBuffer(s) {
- result = decoderErrorAllocRingBuffer2
- break
- }
-
- s.state = stateCommandBegin
- }
-
- case stateCommandBegin, stateCommandInner, stateCommandPostDecodeLiterals, stateCommandPostWrapCopy:
- result = processCommands(s)
-
- if result == decoderNeedsMoreInput {
- result = safeProcessCommands(s)
- }
-
- case stateCommandInnerWrite, stateCommandPostWrite1, stateCommandPostWrite2:
- result = writeRingBuffer(s, available_out, next_out, nil, false)
-
- if result != decoderSuccess {
- break
- }
-
- wrapRingBuffer(s)
- if s.ringbuffer_size == 1<= uint64(block_size) {
- return 0
- }
- return block_size - uint(delta)
-}
-
-/* Wraps 64-bit input position to 32-bit ring-buffer position preserving
- "not-a-first-lap" feature. */
-func wrapPosition(position uint64) uint32 {
- var result uint32 = uint32(position)
- var gb uint64 = position >> 30
- if gb > 2 {
- /* Wrap every 2GiB; The first 3GB are continuous. */
- result = result&((1<<30)-1) | (uint32((gb-1)&1)+1)<<30
- }
-
- return result
-}
-
-func (s *Writer) getStorage(size int) []byte {
- if len(s.storage) < size {
- s.storage = make([]byte, size)
- }
-
- return s.storage
-}
-
-func hashTableSize(max_table_size uint, input_size uint) uint {
- var htsize uint = 256
- for htsize < max_table_size && htsize < input_size {
- htsize <<= 1
- }
-
- return htsize
-}
-
-func getHashTable(s *Writer, quality int, input_size uint, table_size *uint) []int {
- var max_table_size uint = maxHashTableSize(quality)
- var htsize uint = hashTableSize(max_table_size, input_size)
- /* Use smaller hash table when input.size() is smaller, since we
- fill the table, incurring O(hash table size) overhead for
- compression, and if the input is short, we won't need that
- many hash table entries anyway. */
-
- var table []int
- assert(max_table_size >= 256)
- if quality == fastOnePassCompressionQuality {
- /* Only odd shifts are supported by fast-one-pass. */
- if htsize&0xAAAAA == 0 {
- htsize <<= 1
- }
- }
-
- if htsize <= uint(len(s.small_table_)) {
- table = s.small_table_[:]
- } else {
- if htsize > s.large_table_size_ {
- s.large_table_size_ = htsize
- s.large_table_ = nil
- s.large_table_ = make([]int, htsize)
- }
-
- table = s.large_table_
- }
-
- *table_size = htsize
- for i := 0; i < int(htsize); i++ {
- table[i] = 0
- }
- return table
-}
-
-func encodeWindowBits(lgwin int, large_window bool, last_bytes *uint16, last_bytes_bits *byte) {
- if large_window {
- *last_bytes = uint16((lgwin&0x3F)<<8 | 0x11)
- *last_bytes_bits = 14
- } else {
- if lgwin == 16 {
- *last_bytes = 0
- *last_bytes_bits = 1
- } else if lgwin == 17 {
- *last_bytes = 1
- *last_bytes_bits = 7
- } else if lgwin > 17 {
- *last_bytes = uint16((lgwin-17)<<1 | 0x01)
- *last_bytes_bits = 4
- } else {
- *last_bytes = uint16((lgwin-8)<<4 | 0x01)
- *last_bytes_bits = 7
- }
- }
-}
-
-/* Decide about the context map based on the ability of the prediction
- ability of the previous byte UTF8-prefix on the next byte. The
- prediction ability is calculated as Shannon entropy. Here we need
- Shannon entropy instead of 'BitsEntropy' since the prefix will be
- encoded with the remaining 6 bits of the following byte, and
- BitsEntropy will assume that symbol to be stored alone using Huffman
- coding. */
-
-var kStaticContextMapContinuation = [64]uint32{
- 1, 1, 2, 2, 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, 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,
-}
-var kStaticContextMapSimpleUTF8 = [64]uint32{
- 0, 0, 1, 1, 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, 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,
-}
-
-func chooseContextMap(quality int, bigram_histo []uint32, num_literal_contexts *uint, literal_context_map *[]uint32) {
- var monogram_histo = [3]uint32{0}
- var two_prefix_histo = [6]uint32{0}
- var total uint
- var i uint
- var dummy uint
- var entropy [4]float64
- for i = 0; i < 9; i++ {
- monogram_histo[i%3] += bigram_histo[i]
- two_prefix_histo[i%6] += bigram_histo[i]
- }
-
- entropy[1] = shannonEntropy(monogram_histo[:], 3, &dummy)
- entropy[2] = (shannonEntropy(two_prefix_histo[:], 3, &dummy) + shannonEntropy(two_prefix_histo[3:], 3, &dummy))
- entropy[3] = 0
- for i = 0; i < 3; i++ {
- entropy[3] += shannonEntropy(bigram_histo[3*i:], 3, &dummy)
- }
-
- total = uint(monogram_histo[0] + monogram_histo[1] + monogram_histo[2])
- assert(total != 0)
- entropy[0] = 1.0 / float64(total)
- entropy[1] *= entropy[0]
- entropy[2] *= entropy[0]
- entropy[3] *= entropy[0]
-
- if quality < minQualityForHqContextModeling {
- /* 3 context models is a bit slower, don't use it at lower qualities. */
- entropy[3] = entropy[1] * 10
- }
-
- /* If expected savings by symbol are less than 0.2 bits, skip the
- context modeling -- in exchange for faster decoding speed. */
- if entropy[1]-entropy[2] < 0.2 && entropy[1]-entropy[3] < 0.2 {
- *num_literal_contexts = 1
- } else if entropy[2]-entropy[3] < 0.02 {
- *num_literal_contexts = 2
- *literal_context_map = kStaticContextMapSimpleUTF8[:]
- } else {
- *num_literal_contexts = 3
- *literal_context_map = kStaticContextMapContinuation[:]
- }
-}
-
-/* Decide if we want to use a more complex static context map containing 13
- context values, based on the entropy reduction of histograms over the
- first 5 bits of literals. */
-
-var kStaticContextMapComplexUTF8 = [64]uint32{
- 11, 11, 12, 12, /* 0 special */
- 0, 0, 0, 0, /* 4 lf */
- 1, 1, 9, 9, /* 8 space */
- 2, 2, 2, 2, /* !, first after space/lf and after something else. */
- 1, 1, 1, 1, /* " */
- 8, 3, 3, 3, /* % */
- 1, 1, 1, 1, /* ({[ */
- 2, 2, 2, 2, /* }]) */
- 8, 4, 4, 4, /* :; */
- 8, 7, 4, 4, /* . */
- 8, 0, 0, 0, /* > */
- 3, 3, 3, 3, /* [0..9] */
- 5, 5, 10, 5, /* [A-Z] */
- 5, 5, 10, 5,
- 6, 6, 6, 6, /* [a-z] */
- 6, 6, 6, 6,
-}
-
-func shouldUseComplexStaticContextMap(input []byte, start_pos uint, length uint, mask uint, quality int, size_hint uint, num_literal_contexts *uint, literal_context_map *[]uint32) bool {
- /* Try the more complex static context map only for long data. */
- if size_hint < 1<<20 {
- return false
- } else {
- var end_pos uint = start_pos + length
- var combined_histo = [32]uint32{0}
- var context_histo = [13][32]uint32{[32]uint32{0}}
- var total uint32 = 0
- var entropy [3]float64
- var dummy uint
- var i uint
- var utf8_lut contextLUT = getContextLUT(contextUTF8)
- /* To make entropy calculations faster and to fit on the stack, we collect
- histograms over the 5 most significant bits of literals. One histogram
- without context and 13 additional histograms for each context value. */
- for ; start_pos+64 <= end_pos; start_pos += 4096 {
- var stride_end_pos uint = start_pos + 64
- var prev2 byte = input[start_pos&mask]
- var prev1 byte = input[(start_pos+1)&mask]
- var pos uint
-
- /* To make the analysis of the data faster we only examine 64 byte long
- strides at every 4kB intervals. */
- for pos = start_pos + 2; pos < stride_end_pos; pos++ {
- var literal byte = input[pos&mask]
- var context byte = byte(kStaticContextMapComplexUTF8[getContext(prev1, prev2, utf8_lut)])
- total++
- combined_histo[literal>>3]++
- context_histo[context][literal>>3]++
- prev2 = prev1
- prev1 = literal
- }
- }
-
- entropy[1] = shannonEntropy(combined_histo[:], 32, &dummy)
- entropy[2] = 0
- for i = 0; i < 13; i++ {
- entropy[2] += shannonEntropy(context_histo[i][0:], 32, &dummy)
- }
-
- entropy[0] = 1.0 / float64(total)
- entropy[1] *= entropy[0]
- entropy[2] *= entropy[0]
-
- /* The triggering heuristics below were tuned by compressing the individual
- files of the silesia corpus. If we skip this kind of context modeling
- for not very well compressible input (i.e. entropy using context modeling
- is 60% of maximal entropy) or if expected savings by symbol are less
- than 0.2 bits, then in every case when it triggers, the final compression
- ratio is improved. Note however that this heuristics might be too strict
- for some cases and could be tuned further. */
- if entropy[2] > 3.0 || entropy[1]-entropy[2] < 0.2 {
- return false
- } else {
- *num_literal_contexts = 13
- *literal_context_map = kStaticContextMapComplexUTF8[:]
- return true
- }
- }
-}
-
-func decideOverLiteralContextModeling(input []byte, start_pos uint, length uint, mask uint, quality int, size_hint uint, num_literal_contexts *uint, literal_context_map *[]uint32) {
- if quality < minQualityForContextModeling || length < 64 {
- return
- } else if shouldUseComplexStaticContextMap(input, start_pos, length, mask, quality, size_hint, num_literal_contexts, literal_context_map) {
- } else /* Context map was already set, nothing else to do. */
- {
- var end_pos uint = start_pos + length
- /* Gather bi-gram data of the UTF8 byte prefixes. To make the analysis of
- UTF8 data faster we only examine 64 byte long strides at every 4kB
- intervals. */
-
- var bigram_prefix_histo = [9]uint32{0}
- for ; start_pos+64 <= end_pos; start_pos += 4096 {
- var lut = [4]int{0, 0, 1, 2}
- var stride_end_pos uint = start_pos + 64
- var prev int = lut[input[start_pos&mask]>>6] * 3
- var pos uint
- for pos = start_pos + 1; pos < stride_end_pos; pos++ {
- var literal byte = input[pos&mask]
- bigram_prefix_histo[prev+lut[literal>>6]]++
- prev = lut[literal>>6] * 3
- }
- }
-
- chooseContextMap(quality, bigram_prefix_histo[0:], num_literal_contexts, literal_context_map)
- }
-}
-
-func shouldCompress_encode(data []byte, mask uint, last_flush_pos uint64, bytes uint, num_literals uint, num_commands uint) bool {
- /* TODO: find more precise minimal block overhead. */
- if bytes <= 2 {
- return false
- }
- if num_commands < (bytes>>8)+2 {
- if float64(num_literals) > 0.99*float64(bytes) {
- var literal_histo = [256]uint32{0}
- const kSampleRate uint32 = 13
- const kMinEntropy float64 = 7.92
- var bit_cost_threshold float64 = float64(bytes) * kMinEntropy / float64(kSampleRate)
- var t uint = uint((uint32(bytes) + kSampleRate - 1) / kSampleRate)
- var pos uint32 = uint32(last_flush_pos)
- var i uint
- for i = 0; i < t; i++ {
- literal_histo[data[pos&uint32(mask)]]++
- pos += kSampleRate
- }
-
- if bitsEntropy(literal_histo[:], 256) > bit_cost_threshold {
- return false
- }
- }
- }
-
- return true
-}
-
-/* Chooses the literal context mode for a metablock */
-func chooseContextMode(params *encoderParams, data []byte, pos uint, mask uint, length uint) int {
- /* We only do the computation for the option of something else than
- CONTEXT_UTF8 for the highest qualities */
- if params.quality >= minQualityForHqBlockSplitting && !isMostlyUTF8(data, pos, mask, length, kMinUTF8Ratio) {
- return contextSigned
- }
-
- return contextUTF8
-}
-
-func writeMetaBlockInternal(data []byte, mask uint, last_flush_pos uint64, bytes uint, is_last bool, literal_context_mode int, params *encoderParams, prev_byte byte, prev_byte2 byte, num_literals uint, commands []command, saved_dist_cache []int, dist_cache []int, storage_ix *uint, storage []byte) {
- var wrapped_last_flush_pos uint32 = wrapPosition(last_flush_pos)
- var last_bytes uint16
- var last_bytes_bits byte
- var literal_context_lut contextLUT = getContextLUT(literal_context_mode)
- var block_params encoderParams = *params
-
- if bytes == 0 {
- /* Write the ISLAST and ISEMPTY bits. */
- writeBits(2, 3, storage_ix, storage)
-
- *storage_ix = (*storage_ix + 7) &^ 7
- return
- }
-
- if !shouldCompress_encode(data, mask, last_flush_pos, bytes, num_literals, uint(len(commands))) {
- /* Restore the distance cache, as its last update by
- CreateBackwardReferences is now unused. */
- copy(dist_cache, saved_dist_cache[:4])
-
- storeUncompressedMetaBlock(is_last, data, uint(wrapped_last_flush_pos), mask, bytes, storage_ix, storage)
- return
- }
-
- assert(*storage_ix <= 14)
- last_bytes = uint16(storage[1])<<8 | uint16(storage[0])
- last_bytes_bits = byte(*storage_ix)
- if params.quality <= maxQualityForStaticEntropyCodes {
- storeMetaBlockFast(data, uint(wrapped_last_flush_pos), bytes, mask, is_last, params, commands, storage_ix, storage)
- } else if params.quality < minQualityForBlockSplit {
- storeMetaBlockTrivial(data, uint(wrapped_last_flush_pos), bytes, mask, is_last, params, commands, storage_ix, storage)
- } else {
- mb := getMetaBlockSplit()
- if params.quality < minQualityForHqBlockSplitting {
- var num_literal_contexts uint = 1
- var literal_context_map []uint32 = nil
- if !params.disable_literal_context_modeling {
- decideOverLiteralContextModeling(data, uint(wrapped_last_flush_pos), bytes, mask, params.quality, params.size_hint, &num_literal_contexts, &literal_context_map)
- }
-
- buildMetaBlockGreedy(data, uint(wrapped_last_flush_pos), mask, prev_byte, prev_byte2, literal_context_lut, num_literal_contexts, literal_context_map, commands, mb)
- } else {
- buildMetaBlock(data, uint(wrapped_last_flush_pos), mask, &block_params, prev_byte, prev_byte2, commands, literal_context_mode, mb)
- }
-
- if params.quality >= minQualityForOptimizeHistograms {
- /* The number of distance symbols effectively used for distance
- histograms. It might be less than distance alphabet size
- for "Large Window Brotli" (32-bit). */
- var num_effective_dist_codes uint32 = block_params.dist.alphabet_size
- if num_effective_dist_codes > numHistogramDistanceSymbols {
- num_effective_dist_codes = numHistogramDistanceSymbols
- }
-
- optimizeHistograms(num_effective_dist_codes, mb)
- }
-
- storeMetaBlock(data, uint(wrapped_last_flush_pos), bytes, mask, prev_byte, prev_byte2, is_last, &block_params, literal_context_mode, commands, mb, storage_ix, storage)
- freeMetaBlockSplit(mb)
- }
-
- if bytes+4 < *storage_ix>>3 {
- /* Restore the distance cache and last byte. */
- copy(dist_cache, saved_dist_cache[:4])
-
- storage[0] = byte(last_bytes)
- storage[1] = byte(last_bytes >> 8)
- *storage_ix = uint(last_bytes_bits)
- storeUncompressedMetaBlock(is_last, data, uint(wrapped_last_flush_pos), mask, bytes, storage_ix, storage)
- }
-}
-
-func chooseDistanceParams(params *encoderParams) {
- var distance_postfix_bits uint32 = 0
- var num_direct_distance_codes uint32 = 0
-
- if params.quality >= minQualityForNonzeroDistanceParams {
- var ndirect_msb uint32
- if params.mode == modeFont {
- distance_postfix_bits = 1
- num_direct_distance_codes = 12
- } else {
- distance_postfix_bits = params.dist.distance_postfix_bits
- num_direct_distance_codes = params.dist.num_direct_distance_codes
- }
-
- ndirect_msb = (num_direct_distance_codes >> distance_postfix_bits) & 0x0F
- if distance_postfix_bits > maxNpostfix || num_direct_distance_codes > maxNdirect || ndirect_msb<>25)), (last_command.dist_prefix_&0x3FF == 0), &last_command.cmd_prefix_)
- }
-}
-
-/*
- Processes the accumulated input data and writes
- the new output meta-block to s.dest, if one has been
- created (otherwise the processed input data is buffered internally).
- If |is_last| or |force_flush| is true, an output meta-block is
- always created. However, until |is_last| is true encoder may retain up
- to 7 bits of the last byte of output. To force encoder to dump the remaining
- bits use WriteMetadata() to append an empty meta-data block.
- Returns false if the size of the input data is larger than
- input_block_size().
-*/
-func encodeData(s *Writer, is_last bool, force_flush bool) bool {
- var delta uint64 = unprocessedInputSize(s)
- var bytes uint32 = uint32(delta)
- var wrapped_last_processed_pos uint32 = wrapPosition(s.last_processed_pos_)
- var data []byte
- var mask uint32
- var literal_context_mode int
-
- data = s.ringbuffer_.buffer_
- mask = s.ringbuffer_.mask_
-
- /* Adding more blocks after "last" block is forbidden. */
- if s.is_last_block_emitted_ {
- return false
- }
- if is_last {
- s.is_last_block_emitted_ = true
- }
-
- if delta > uint64(inputBlockSize(s)) {
- return false
- }
-
- if s.params.quality == fastTwoPassCompressionQuality {
- if s.command_buf_ == nil || cap(s.command_buf_) < int(kCompressFragmentTwoPassBlockSize) {
- s.command_buf_ = make([]uint32, kCompressFragmentTwoPassBlockSize)
- s.literal_buf_ = make([]byte, kCompressFragmentTwoPassBlockSize)
- } else {
- s.command_buf_ = s.command_buf_[:kCompressFragmentTwoPassBlockSize]
- s.literal_buf_ = s.literal_buf_[:kCompressFragmentTwoPassBlockSize]
- }
- }
-
- if s.params.quality == fastOnePassCompressionQuality || s.params.quality == fastTwoPassCompressionQuality {
- var storage []byte
- var storage_ix uint = uint(s.last_bytes_bits_)
- var table_size uint
- var table []int
-
- if delta == 0 && !is_last {
- /* We have no new input data and we don't have to finish the stream, so
- nothing to do. */
- return true
- }
-
- storage = s.getStorage(int(2*bytes + 503))
- storage[0] = byte(s.last_bytes_)
- storage[1] = byte(s.last_bytes_ >> 8)
- table = getHashTable(s, s.params.quality, uint(bytes), &table_size)
- if s.params.quality == fastOnePassCompressionQuality {
- compressFragmentFast(data[wrapped_last_processed_pos&mask:], uint(bytes), is_last, table, table_size, s.cmd_depths_[:], s.cmd_bits_[:], &s.cmd_code_numbits_, s.cmd_code_[:], &storage_ix, storage)
- } else {
- compressFragmentTwoPass(data[wrapped_last_processed_pos&mask:], uint(bytes), is_last, s.command_buf_, s.literal_buf_, table, table_size, &storage_ix, storage)
- }
-
- s.last_bytes_ = uint16(storage[storage_ix>>3])
- s.last_bytes_bits_ = byte(storage_ix & 7)
- updateLastProcessedPos(s)
- s.writeOutput(storage[:storage_ix>>3])
- return true
- }
- {
- /* Theoretical max number of commands is 1 per 2 bytes. */
- newsize := len(s.commands) + int(bytes)/2 + 1
- if newsize > cap(s.commands) {
- /* Reserve a bit more memory to allow merging with a next block
- without reallocation: that would impact speed. */
- newsize += int(bytes/4) + 16
-
- new_commands := make([]command, len(s.commands), newsize)
- if s.commands != nil {
- copy(new_commands, s.commands)
- }
-
- s.commands = new_commands
- }
- }
-
- initOrStitchToPreviousBlock(&s.hasher_, data, uint(mask), &s.params, uint(wrapped_last_processed_pos), uint(bytes), is_last)
-
- literal_context_mode = chooseContextMode(&s.params, data, uint(wrapPosition(s.last_flush_pos_)), uint(mask), uint(s.input_pos_-s.last_flush_pos_))
-
- if len(s.commands) != 0 && s.last_insert_len_ == 0 {
- extendLastCommand(s, &bytes, &wrapped_last_processed_pos)
- }
-
- if s.params.quality == zopflificationQuality {
- assert(s.params.hasher.type_ == 10)
- createZopfliBackwardReferences(uint(bytes), uint(wrapped_last_processed_pos), data, uint(mask), &s.params, s.hasher_.(*h10), s.dist_cache_[:], &s.last_insert_len_, &s.commands, &s.num_literals_)
- } else if s.params.quality == hqZopflificationQuality {
- assert(s.params.hasher.type_ == 10)
- createHqZopfliBackwardReferences(uint(bytes), uint(wrapped_last_processed_pos), data, uint(mask), &s.params, s.hasher_, s.dist_cache_[:], &s.last_insert_len_, &s.commands, &s.num_literals_)
- } else {
- createBackwardReferences(uint(bytes), uint(wrapped_last_processed_pos), data, uint(mask), &s.params, s.hasher_, s.dist_cache_[:], &s.last_insert_len_, &s.commands, &s.num_literals_)
- }
- {
- var max_length uint = maxMetablockSize(&s.params)
- var max_literals uint = max_length / 8
- max_commands := int(max_length / 8)
- var processed_bytes uint = uint(s.input_pos_ - s.last_flush_pos_)
- var next_input_fits_metablock bool = (processed_bytes+inputBlockSize(s) <= max_length)
- var should_flush bool = (s.params.quality < minQualityForBlockSplit && s.num_literals_+uint(len(s.commands)) >= maxNumDelayedSymbols)
- /* If maximal possible additional block doesn't fit metablock, flush now. */
- /* TODO: Postpone decision until next block arrives? */
-
- /* If block splitting is not used, then flush as soon as there is some
- amount of commands / literals produced. */
- if !is_last && !force_flush && !should_flush && next_input_fits_metablock && s.num_literals_ < max_literals && len(s.commands) < max_commands {
- /* Merge with next input block. Everything will happen later. */
- if updateLastProcessedPos(s) {
- hasherReset(s.hasher_)
- }
-
- return true
- }
- }
-
- /* Create the last insert-only command. */
- if s.last_insert_len_ > 0 {
- s.commands = append(s.commands, makeInsertCommand(s.last_insert_len_))
- s.num_literals_ += s.last_insert_len_
- s.last_insert_len_ = 0
- }
-
- if !is_last && s.input_pos_ == s.last_flush_pos_ {
- /* We have no new input data and we don't have to finish the stream, so
- nothing to do. */
- return true
- }
-
- assert(s.input_pos_ >= s.last_flush_pos_)
- assert(s.input_pos_ > s.last_flush_pos_ || is_last)
- assert(s.input_pos_-s.last_flush_pos_ <= 1<<24)
- {
- var metablock_size uint32 = uint32(s.input_pos_ - s.last_flush_pos_)
- var storage []byte = s.getStorage(int(2*metablock_size + 503))
- var storage_ix uint = uint(s.last_bytes_bits_)
- storage[0] = byte(s.last_bytes_)
- storage[1] = byte(s.last_bytes_ >> 8)
- writeMetaBlockInternal(data, uint(mask), s.last_flush_pos_, uint(metablock_size), is_last, literal_context_mode, &s.params, s.prev_byte_, s.prev_byte2_, s.num_literals_, s.commands, s.saved_dist_cache_[:], s.dist_cache_[:], &storage_ix, storage)
- s.last_bytes_ = uint16(storage[storage_ix>>3])
- s.last_bytes_bits_ = byte(storage_ix & 7)
- s.last_flush_pos_ = s.input_pos_
- if updateLastProcessedPos(s) {
- hasherReset(s.hasher_)
- }
-
- if s.last_flush_pos_ > 0 {
- s.prev_byte_ = data[(uint32(s.last_flush_pos_)-1)&mask]
- }
-
- if s.last_flush_pos_ > 1 {
- s.prev_byte2_ = data[uint32(s.last_flush_pos_-2)&mask]
- }
-
- s.commands = s.commands[:0]
- s.num_literals_ = 0
-
- /* Save the state of the distance cache in case we need to restore it for
- emitting an uncompressed block. */
- copy(s.saved_dist_cache_[:], s.dist_cache_[:])
-
- s.writeOutput(storage[:storage_ix>>3])
- return true
- }
-}
-
-/* Dumps remaining output bits and metadata header to |header|.
- Returns number of produced bytes.
- REQUIRED: |header| should be 8-byte aligned and at least 16 bytes long.
- REQUIRED: |block_size| <= (1 << 24). */
-func writeMetadataHeader(s *Writer, block_size uint, header []byte) uint {
- storage_ix := uint(s.last_bytes_bits_)
- header[0] = byte(s.last_bytes_)
- header[1] = byte(s.last_bytes_ >> 8)
- s.last_bytes_ = 0
- s.last_bytes_bits_ = 0
-
- writeBits(1, 0, &storage_ix, header)
- writeBits(2, 3, &storage_ix, header)
- writeBits(1, 0, &storage_ix, header)
- if block_size == 0 {
- writeBits(2, 0, &storage_ix, header)
- } else {
- var nbits uint32
- if block_size == 1 {
- nbits = 0
- } else {
- nbits = log2FloorNonZero(uint(uint32(block_size)-1)) + 1
- }
- var nbytes uint32 = (nbits + 7) / 8
- writeBits(2, uint64(nbytes), &storage_ix, header)
- writeBits(uint(8*nbytes), uint64(block_size)-1, &storage_ix, header)
- }
-
- return (storage_ix + 7) >> 3
-}
-
-func injectBytePaddingBlock(s *Writer) {
- var seal uint32 = uint32(s.last_bytes_)
- var seal_bits uint = uint(s.last_bytes_bits_)
- s.last_bytes_ = 0
- s.last_bytes_bits_ = 0
-
- /* is_last = 0, data_nibbles = 11, reserved = 0, meta_nibbles = 00 */
- seal |= 0x6 << seal_bits
-
- seal_bits += 6
-
- destination := s.tiny_buf_.u8[:]
-
- destination[0] = byte(seal)
- if seal_bits > 8 {
- destination[1] = byte(seal >> 8)
- }
- if seal_bits > 16 {
- destination[2] = byte(seal >> 16)
- }
- s.writeOutput(destination[:(seal_bits+7)>>3])
-}
-
-func checkFlushComplete(s *Writer) {
- if s.stream_state_ == streamFlushRequested && s.err == nil {
- s.stream_state_ = streamProcessing
- }
-}
-
-func encoderCompressStreamFast(s *Writer, op int, available_in *uint, next_in *[]byte) bool {
- var block_size_limit uint = uint(1) << s.params.lgwin
- var buf_size uint = brotli_min_size_t(kCompressFragmentTwoPassBlockSize, brotli_min_size_t(*available_in, block_size_limit))
- var command_buf []uint32 = nil
- var literal_buf []byte = nil
- if s.params.quality != fastOnePassCompressionQuality && s.params.quality != fastTwoPassCompressionQuality {
- return false
- }
-
- if s.params.quality == fastTwoPassCompressionQuality {
- if s.command_buf_ == nil || cap(s.command_buf_) < int(buf_size) {
- s.command_buf_ = make([]uint32, buf_size)
- s.literal_buf_ = make([]byte, buf_size)
- } else {
- s.command_buf_ = s.command_buf_[:buf_size]
- s.literal_buf_ = s.literal_buf_[:buf_size]
- }
-
- command_buf = s.command_buf_
- literal_buf = s.literal_buf_
- }
-
- for {
- if s.stream_state_ == streamFlushRequested && s.last_bytes_bits_ != 0 {
- injectBytePaddingBlock(s)
- continue
- }
-
- /* Compress block only when stream is not
- finished, there is no pending flush request, and there is either
- additional input or pending operation. */
- if s.stream_state_ == streamProcessing && (*available_in != 0 || op != int(operationProcess)) {
- var block_size uint = brotli_min_size_t(block_size_limit, *available_in)
- var is_last bool = (*available_in == block_size) && (op == int(operationFinish))
- var force_flush bool = (*available_in == block_size) && (op == int(operationFlush))
- var max_out_size uint = 2*block_size + 503
- var storage []byte = nil
- var storage_ix uint = uint(s.last_bytes_bits_)
- var table_size uint
- var table []int
-
- if force_flush && block_size == 0 {
- s.stream_state_ = streamFlushRequested
- continue
- }
-
- storage = s.getStorage(int(max_out_size))
-
- storage[0] = byte(s.last_bytes_)
- storage[1] = byte(s.last_bytes_ >> 8)
- table = getHashTable(s, s.params.quality, block_size, &table_size)
-
- if s.params.quality == fastOnePassCompressionQuality {
- compressFragmentFast(*next_in, block_size, is_last, table, table_size, s.cmd_depths_[:], s.cmd_bits_[:], &s.cmd_code_numbits_, s.cmd_code_[:], &storage_ix, storage)
- } else {
- compressFragmentTwoPass(*next_in, block_size, is_last, command_buf, literal_buf, table, table_size, &storage_ix, storage)
- }
-
- *next_in = (*next_in)[block_size:]
- *available_in -= block_size
- var out_bytes uint = storage_ix >> 3
- s.writeOutput(storage[:out_bytes])
-
- s.last_bytes_ = uint16(storage[storage_ix>>3])
- s.last_bytes_bits_ = byte(storage_ix & 7)
-
- if force_flush {
- s.stream_state_ = streamFlushRequested
- }
- if is_last {
- s.stream_state_ = streamFinished
- }
- continue
- }
-
- break
- }
-
- checkFlushComplete(s)
- return true
-}
-
-func processMetadata(s *Writer, available_in *uint, next_in *[]byte) bool {
- if *available_in > 1<<24 {
- return false
- }
-
- /* Switch to metadata block workflow, if required. */
- if s.stream_state_ == streamProcessing {
- s.remaining_metadata_bytes_ = uint32(*available_in)
- s.stream_state_ = streamMetadataHead
- }
-
- if s.stream_state_ != streamMetadataHead && s.stream_state_ != streamMetadataBody {
- return false
- }
-
- for {
- if s.stream_state_ == streamFlushRequested && s.last_bytes_bits_ != 0 {
- injectBytePaddingBlock(s)
- continue
- }
-
- if s.input_pos_ != s.last_flush_pos_ {
- var result bool = encodeData(s, false, true)
- if !result {
- return false
- }
- continue
- }
-
- if s.stream_state_ == streamMetadataHead {
- n := writeMetadataHeader(s, uint(s.remaining_metadata_bytes_), s.tiny_buf_.u8[:])
- s.writeOutput(s.tiny_buf_.u8[:n])
- s.stream_state_ = streamMetadataBody
- continue
- } else {
- /* Exit workflow only when there is no more input and no more output.
- Otherwise client may continue producing empty metadata blocks. */
- if s.remaining_metadata_bytes_ == 0 {
- s.remaining_metadata_bytes_ = math.MaxUint32
- s.stream_state_ = streamProcessing
- break
- }
-
- /* This guarantees progress in "TakeOutput" workflow. */
- var c uint32 = brotli_min_uint32_t(s.remaining_metadata_bytes_, 16)
- copy(s.tiny_buf_.u8[:], (*next_in)[:c])
- *next_in = (*next_in)[c:]
- *available_in -= uint(c)
- s.remaining_metadata_bytes_ -= c
- s.writeOutput(s.tiny_buf_.u8[:c])
-
- continue
- }
- }
-
- return true
-}
-
-func updateSizeHint(s *Writer, available_in uint) {
- if s.params.size_hint == 0 {
- var delta uint64 = unprocessedInputSize(s)
- var tail uint64 = uint64(available_in)
- var limit uint32 = 1 << 30
- var total uint32
- if (delta >= uint64(limit)) || (tail >= uint64(limit)) || ((delta + tail) >= uint64(limit)) {
- total = limit
- } else {
- total = uint32(delta + tail)
- }
-
- s.params.size_hint = uint(total)
- }
-}
-
-func encoderCompressStream(s *Writer, op int, available_in *uint, next_in *[]byte) bool {
- if !ensureInitialized(s) {
- return false
- }
-
- /* Unfinished metadata block; check requirements. */
- if s.remaining_metadata_bytes_ != math.MaxUint32 {
- if uint32(*available_in) != s.remaining_metadata_bytes_ {
- return false
- }
- if op != int(operationEmitMetadata) {
- return false
- }
- }
-
- if op == int(operationEmitMetadata) {
- updateSizeHint(s, 0) /* First data metablock might be emitted here. */
- return processMetadata(s, available_in, next_in)
- }
-
- if s.stream_state_ == streamMetadataHead || s.stream_state_ == streamMetadataBody {
- return false
- }
-
- if s.stream_state_ != streamProcessing && *available_in != 0 {
- return false
- }
-
- if s.params.quality == fastOnePassCompressionQuality || s.params.quality == fastTwoPassCompressionQuality {
- return encoderCompressStreamFast(s, op, available_in, next_in)
- }
-
- for {
- var remaining_block_size uint = remainingInputBlockSize(s)
-
- if remaining_block_size != 0 && *available_in != 0 {
- var copy_input_size uint = brotli_min_size_t(remaining_block_size, *available_in)
- copyInputToRingBuffer(s, copy_input_size, *next_in)
- *next_in = (*next_in)[copy_input_size:]
- *available_in -= copy_input_size
- continue
- }
-
- if s.stream_state_ == streamFlushRequested && s.last_bytes_bits_ != 0 {
- injectBytePaddingBlock(s)
- continue
- }
-
- /* Compress data only when stream is not
- finished and there is no pending flush request. */
- if s.stream_state_ == streamProcessing {
- if remaining_block_size == 0 || op != int(operationProcess) {
- var is_last bool = ((*available_in == 0) && op == int(operationFinish))
- var force_flush bool = ((*available_in == 0) && op == int(operationFlush))
- var result bool
- updateSizeHint(s, *available_in)
- result = encodeData(s, is_last, force_flush)
- if !result {
- return false
- }
- if force_flush {
- s.stream_state_ = streamFlushRequested
- }
- if is_last {
- s.stream_state_ = streamFinished
- }
- continue
- }
- }
-
- break
- }
-
- checkFlushComplete(s)
- return true
-}
-
-func (w *Writer) writeOutput(data []byte) {
- if w.err != nil {
- return
- }
-
- _, w.err = w.dst.Write(data)
- if w.err == nil {
- checkFlushComplete(w)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/encoder_dict.go b/vendor/github.com/andybalholm/brotli/encoder_dict.go
deleted file mode 100644
index 55c051c6..00000000
--- a/vendor/github.com/andybalholm/brotli/encoder_dict.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package brotli
-
-/* Dictionary data (words and transforms) for 1 possible context */
-type encoderDictionary struct {
- words *dictionary
- cutoffTransformsCount uint32
- cutoffTransforms uint64
- hash_table []uint16
- buckets []uint16
- dict_words []dictWord
-}
-
-func initEncoderDictionary(dict *encoderDictionary) {
- dict.words = getDictionary()
-
- dict.hash_table = kStaticDictionaryHash[:]
- dict.buckets = kStaticDictionaryBuckets[:]
- dict.dict_words = kStaticDictionaryWords[:]
-
- dict.cutoffTransformsCount = kCutoffTransformsCount
- dict.cutoffTransforms = kCutoffTransforms
-}
diff --git a/vendor/github.com/andybalholm/brotli/entropy_encode.go b/vendor/github.com/andybalholm/brotli/entropy_encode.go
deleted file mode 100644
index 3f469a3d..00000000
--- a/vendor/github.com/andybalholm/brotli/entropy_encode.go
+++ /dev/null
@@ -1,592 +0,0 @@
-package brotli
-
-import "math"
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Entropy encoding (Huffman) utilities. */
-
-/* A node of a Huffman tree. */
-type huffmanTree struct {
- total_count_ uint32
- index_left_ int16
- index_right_or_value_ int16
-}
-
-func initHuffmanTree(self *huffmanTree, count uint32, left int16, right int16) {
- self.total_count_ = count
- self.index_left_ = left
- self.index_right_or_value_ = right
-}
-
-/* Input size optimized Shell sort. */
-type huffmanTreeComparator func(huffmanTree, huffmanTree) bool
-
-var sortHuffmanTreeItems_gaps = []uint{132, 57, 23, 10, 4, 1}
-
-func sortHuffmanTreeItems(items []huffmanTree, n uint, comparator huffmanTreeComparator) {
- if n < 13 {
- /* Insertion sort. */
- var i uint
- for i = 1; i < n; i++ {
- var tmp huffmanTree = items[i]
- var k uint = i
- var j uint = i - 1
- for comparator(tmp, items[j]) {
- items[k] = items[j]
- k = j
- if j == 0 {
- break
- }
- j--
- }
-
- items[k] = tmp
- }
-
- return
- } else {
- var g int
- if n < 57 {
- g = 2
- } else {
- g = 0
- }
- for ; g < 6; g++ {
- var gap uint = sortHuffmanTreeItems_gaps[g]
- var i uint
- for i = gap; i < n; i++ {
- var j uint = i
- var tmp huffmanTree = items[i]
- for ; j >= gap && comparator(tmp, items[j-gap]); j -= gap {
- items[j] = items[j-gap]
- }
-
- items[j] = tmp
- }
- }
- }
-}
-
-/* Returns 1 if assignment of depths succeeded, otherwise 0. */
-func setDepth(p0 int, pool []huffmanTree, depth []byte, max_depth int) bool {
- var stack [16]int
- var level int = 0
- var p int = p0
- assert(max_depth <= 15)
- stack[0] = -1
- for {
- if pool[p].index_left_ >= 0 {
- level++
- if level > max_depth {
- return false
- }
- stack[level] = int(pool[p].index_right_or_value_)
- p = int(pool[p].index_left_)
- continue
- } else {
- depth[pool[p].index_right_or_value_] = byte(level)
- }
-
- for level >= 0 && stack[level] == -1 {
- level--
- }
- if level < 0 {
- return true
- }
- p = stack[level]
- stack[level] = -1
- }
-}
-
-/* Sort the root nodes, least popular first. */
-func sortHuffmanTree(v0 huffmanTree, v1 huffmanTree) bool {
- if v0.total_count_ != v1.total_count_ {
- return v0.total_count_ < v1.total_count_
- }
-
- return v0.index_right_or_value_ > v1.index_right_or_value_
-}
-
-/* This function will create a Huffman tree.
-
- The catch here is that the tree cannot be arbitrarily deep.
- Brotli specifies a maximum depth of 15 bits for "code trees"
- and 7 bits for "code length code trees."
-
- count_limit is the value that is to be faked as the minimum value
- and this minimum value is raised until the tree matches the
- maximum length requirement.
-
- This algorithm is not of excellent performance for very long data blocks,
- especially when population counts are longer than 2**tree_limit, but
- we are not planning to use this with extremely long blocks.
-
- See http://en.wikipedia.org/wiki/Huffman_coding */
-func createHuffmanTree(data []uint32, length uint, tree_limit int, tree []huffmanTree, depth []byte) {
- var count_limit uint32
- var sentinel huffmanTree
- initHuffmanTree(&sentinel, math.MaxUint32, -1, -1)
-
- /* For block sizes below 64 kB, we never need to do a second iteration
- of this loop. Probably all of our block sizes will be smaller than
- that, so this loop is mostly of academic interest. If we actually
- would need this, we would be better off with the Katajainen algorithm. */
- for count_limit = 1; ; count_limit *= 2 {
- var n uint = 0
- var i uint
- var j uint
- var k uint
- for i = length; i != 0; {
- i--
- if data[i] != 0 {
- var count uint32 = brotli_max_uint32_t(data[i], count_limit)
- initHuffmanTree(&tree[n], count, -1, int16(i))
- n++
- }
- }
-
- if n == 1 {
- depth[tree[0].index_right_or_value_] = 1 /* Only one element. */
- break
- }
-
- sortHuffmanTreeItems(tree, n, huffmanTreeComparator(sortHuffmanTree))
-
- /* The nodes are:
- [0, n): the sorted leaf nodes that we start with.
- [n]: we add a sentinel here.
- [n + 1, 2n): new parent nodes are added here, starting from
- (n+1). These are naturally in ascending order.
- [2n]: we add a sentinel at the end as well.
- There will be (2n+1) elements at the end. */
- tree[n] = sentinel
-
- tree[n+1] = sentinel
-
- i = 0 /* Points to the next leaf node. */
- j = n + 1 /* Points to the next non-leaf node. */
- for k = n - 1; k != 0; k-- {
- var left uint
- var right uint
- if tree[i].total_count_ <= tree[j].total_count_ {
- left = i
- i++
- } else {
- left = j
- j++
- }
-
- if tree[i].total_count_ <= tree[j].total_count_ {
- right = i
- i++
- } else {
- right = j
- j++
- }
- {
- /* The sentinel node becomes the parent node. */
- var j_end uint = 2*n - k
- tree[j_end].total_count_ = tree[left].total_count_ + tree[right].total_count_
- tree[j_end].index_left_ = int16(left)
- tree[j_end].index_right_or_value_ = int16(right)
-
- /* Add back the last sentinel node. */
- tree[j_end+1] = sentinel
- }
- }
-
- if setDepth(int(2*n-1), tree[0:], depth, tree_limit) {
- /* We need to pack the Huffman tree in tree_limit bits. If this was not
- successful, add fake entities to the lowest values and retry. */
- break
- }
- }
-}
-
-func reverse(v []byte, start uint, end uint) {
- end--
- for start < end {
- var tmp byte = v[start]
- v[start] = v[end]
- v[end] = tmp
- start++
- end--
- }
-}
-
-func writeHuffmanTreeRepetitions(previous_value byte, value byte, repetitions uint, tree_size *uint, tree []byte, extra_bits_data []byte) {
- assert(repetitions > 0)
- if previous_value != value {
- tree[*tree_size] = value
- extra_bits_data[*tree_size] = 0
- (*tree_size)++
- repetitions--
- }
-
- if repetitions == 7 {
- tree[*tree_size] = value
- extra_bits_data[*tree_size] = 0
- (*tree_size)++
- repetitions--
- }
-
- if repetitions < 3 {
- var i uint
- for i = 0; i < repetitions; i++ {
- tree[*tree_size] = value
- extra_bits_data[*tree_size] = 0
- (*tree_size)++
- }
- } else {
- var start uint = *tree_size
- repetitions -= 3
- for {
- tree[*tree_size] = repeatPreviousCodeLength
- extra_bits_data[*tree_size] = byte(repetitions & 0x3)
- (*tree_size)++
- repetitions >>= 2
- if repetitions == 0 {
- break
- }
-
- repetitions--
- }
-
- reverse(tree, start, *tree_size)
- reverse(extra_bits_data, start, *tree_size)
- }
-}
-
-func writeHuffmanTreeRepetitionsZeros(repetitions uint, tree_size *uint, tree []byte, extra_bits_data []byte) {
- if repetitions == 11 {
- tree[*tree_size] = 0
- extra_bits_data[*tree_size] = 0
- (*tree_size)++
- repetitions--
- }
-
- if repetitions < 3 {
- var i uint
- for i = 0; i < repetitions; i++ {
- tree[*tree_size] = 0
- extra_bits_data[*tree_size] = 0
- (*tree_size)++
- }
- } else {
- var start uint = *tree_size
- repetitions -= 3
- for {
- tree[*tree_size] = repeatZeroCodeLength
- extra_bits_data[*tree_size] = byte(repetitions & 0x7)
- (*tree_size)++
- repetitions >>= 3
- if repetitions == 0 {
- break
- }
-
- repetitions--
- }
-
- reverse(tree, start, *tree_size)
- reverse(extra_bits_data, start, *tree_size)
- }
-}
-
-/* Change the population counts in a way that the consequent
- Huffman tree compression, especially its RLE-part will be more
- likely to compress this data more efficiently.
-
- length contains the size of the histogram.
- counts contains the population counts.
- good_for_rle is a buffer of at least length size */
-func optimizeHuffmanCountsForRLE(length uint, counts []uint32, good_for_rle []byte) {
- var nonzero_count uint = 0
- var stride uint
- var limit uint
- var sum uint
- var streak_limit uint = 1240
- var i uint
- /* Let's make the Huffman code more compatible with RLE encoding. */
- for i = 0; i < length; i++ {
- if counts[i] != 0 {
- nonzero_count++
- }
- }
-
- if nonzero_count < 16 {
- return
- }
-
- for length != 0 && counts[length-1] == 0 {
- length--
- }
-
- if length == 0 {
- return /* All zeros. */
- }
-
- /* Now counts[0..length - 1] does not have trailing zeros. */
- {
- var nonzeros uint = 0
- var smallest_nonzero uint32 = 1 << 30
- for i = 0; i < length; i++ {
- if counts[i] != 0 {
- nonzeros++
- if smallest_nonzero > counts[i] {
- smallest_nonzero = counts[i]
- }
- }
- }
-
- if nonzeros < 5 {
- /* Small histogram will model it well. */
- return
- }
-
- if smallest_nonzero < 4 {
- var zeros uint = length - nonzeros
- if zeros < 6 {
- for i = 1; i < length-1; i++ {
- if counts[i-1] != 0 && counts[i] == 0 && counts[i+1] != 0 {
- counts[i] = 1
- }
- }
- }
- }
-
- if nonzeros < 28 {
- return
- }
- }
-
- /* 2) Let's mark all population counts that already can be encoded
- with an RLE code. */
- for i := 0; i < int(length); i++ {
- good_for_rle[i] = 0
- }
- {
- var symbol uint32 = counts[0]
- /* Let's not spoil any of the existing good RLE codes.
- Mark any seq of 0's that is longer as 5 as a good_for_rle.
- Mark any seq of non-0's that is longer as 7 as a good_for_rle. */
-
- var step uint = 0
- for i = 0; i <= length; i++ {
- if i == length || counts[i] != symbol {
- if (symbol == 0 && step >= 5) || (symbol != 0 && step >= 7) {
- var k uint
- for k = 0; k < step; k++ {
- good_for_rle[i-k-1] = 1
- }
- }
-
- step = 1
- if i != length {
- symbol = counts[i]
- }
- } else {
- step++
- }
- }
- }
-
- /* 3) Let's replace those population counts that lead to more RLE codes.
- Math here is in 24.8 fixed point representation. */
- stride = 0
-
- limit = uint(256*(counts[0]+counts[1]+counts[2])/3 + 420)
- sum = 0
- for i = 0; i <= length; i++ {
- if i == length || good_for_rle[i] != 0 || (i != 0 && good_for_rle[i-1] != 0) || (256*counts[i]-uint32(limit)+uint32(streak_limit)) >= uint32(2*streak_limit) {
- if stride >= 4 || (stride >= 3 && sum == 0) {
- var k uint
- var count uint = (sum + stride/2) / stride
- /* The stride must end, collapse what we have, if we have enough (4). */
- if count == 0 {
- count = 1
- }
-
- if sum == 0 {
- /* Don't make an all zeros stride to be upgraded to ones. */
- count = 0
- }
-
- for k = 0; k < stride; k++ {
- /* We don't want to change value at counts[i],
- that is already belonging to the next stride. Thus - 1. */
- counts[i-k-1] = uint32(count)
- }
- }
-
- stride = 0
- sum = 0
- if i < length-2 {
- /* All interesting strides have a count of at least 4, */
- /* at least when non-zeros. */
- limit = uint(256*(counts[i]+counts[i+1]+counts[i+2])/3 + 420)
- } else if i < length {
- limit = uint(256 * counts[i])
- } else {
- limit = 0
- }
- }
-
- stride++
- if i != length {
- sum += uint(counts[i])
- if stride >= 4 {
- limit = (256*sum + stride/2) / stride
- }
-
- if stride == 4 {
- limit += 120
- }
- }
- }
-}
-
-func decideOverRLEUse(depth []byte, length uint, use_rle_for_non_zero *bool, use_rle_for_zero *bool) {
- var total_reps_zero uint = 0
- var total_reps_non_zero uint = 0
- var count_reps_zero uint = 1
- var count_reps_non_zero uint = 1
- var i uint
- for i = 0; i < length; {
- var value byte = depth[i]
- var reps uint = 1
- var k uint
- for k = i + 1; k < length && depth[k] == value; k++ {
- reps++
- }
-
- if reps >= 3 && value == 0 {
- total_reps_zero += reps
- count_reps_zero++
- }
-
- if reps >= 4 && value != 0 {
- total_reps_non_zero += reps
- count_reps_non_zero++
- }
-
- i += reps
- }
-
- *use_rle_for_non_zero = total_reps_non_zero > count_reps_non_zero*2
- *use_rle_for_zero = total_reps_zero > count_reps_zero*2
-}
-
-/* Write a Huffman tree from bit depths into the bit-stream representation
- of a Huffman tree. The generated Huffman tree is to be compressed once
- more using a Huffman tree */
-func writeHuffmanTree(depth []byte, length uint, tree_size *uint, tree []byte, extra_bits_data []byte) {
- var previous_value byte = initialRepeatedCodeLength
- var i uint
- var use_rle_for_non_zero bool = false
- var use_rle_for_zero bool = false
- var new_length uint = length
- /* Throw away trailing zeros. */
- for i = 0; i < length; i++ {
- if depth[length-i-1] == 0 {
- new_length--
- } else {
- break
- }
- }
-
- /* First gather statistics on if it is a good idea to do RLE. */
- if length > 50 {
- /* Find RLE coding for longer codes.
- Shorter codes seem not to benefit from RLE. */
- decideOverRLEUse(depth, new_length, &use_rle_for_non_zero, &use_rle_for_zero)
- }
-
- /* Actual RLE coding. */
- for i = 0; i < new_length; {
- var value byte = depth[i]
- var reps uint = 1
- if (value != 0 && use_rle_for_non_zero) || (value == 0 && use_rle_for_zero) {
- var k uint
- for k = i + 1; k < new_length && depth[k] == value; k++ {
- reps++
- }
- }
-
- if value == 0 {
- writeHuffmanTreeRepetitionsZeros(reps, tree_size, tree, extra_bits_data)
- } else {
- writeHuffmanTreeRepetitions(previous_value, value, reps, tree_size, tree, extra_bits_data)
- previous_value = value
- }
-
- i += reps
- }
-}
-
-var reverseBits_kLut = [16]uint{
- 0x00,
- 0x08,
- 0x04,
- 0x0C,
- 0x02,
- 0x0A,
- 0x06,
- 0x0E,
- 0x01,
- 0x09,
- 0x05,
- 0x0D,
- 0x03,
- 0x0B,
- 0x07,
- 0x0F,
-}
-
-func reverseBits(num_bits uint, bits uint16) uint16 {
- var retval uint = reverseBits_kLut[bits&0x0F]
- var i uint
- for i = 4; i < num_bits; i += 4 {
- retval <<= 4
- bits = uint16(bits >> 4)
- retval |= reverseBits_kLut[bits&0x0F]
- }
-
- retval >>= ((0 - num_bits) & 0x03)
- return uint16(retval)
-}
-
-/* 0..15 are values for bits */
-const maxHuffmanBits = 16
-
-/* Get the actual bit values for a tree of bit depths. */
-func convertBitDepthsToSymbols(depth []byte, len uint, bits []uint16) {
- var bl_count = [maxHuffmanBits]uint16{0}
- var next_code [maxHuffmanBits]uint16
- var i uint
- /* In Brotli, all bit depths are [1..15]
- 0 bit depth means that the symbol does not exist. */
-
- var code int = 0
- for i = 0; i < len; i++ {
- bl_count[depth[i]]++
- }
-
- bl_count[0] = 0
- next_code[0] = 0
- for i = 1; i < maxHuffmanBits; i++ {
- code = (code + int(bl_count[i-1])) << 1
- next_code[i] = uint16(code)
- }
-
- for i = 0; i < len; i++ {
- if depth[i] != 0 {
- bits[i] = reverseBits(uint(depth[i]), next_code[depth[i]])
- next_code[depth[i]]++
- }
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/entropy_encode_static.go b/vendor/github.com/andybalholm/brotli/entropy_encode_static.go
deleted file mode 100644
index 5ddf3fcb..00000000
--- a/vendor/github.com/andybalholm/brotli/entropy_encode_static.go
+++ /dev/null
@@ -1,4394 +0,0 @@
-package brotli
-
-var kCodeLengthDepth = [18]byte{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 0, 4, 4}
-
-var kStaticCommandCodeDepth = [numCommandSymbols]byte{
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 9,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
- 11,
-}
-
-var kStaticDistanceCodeDepth = [64]byte{
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
- 6,
-}
-
-var kCodeLengthBits = [18]uint32{0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 15, 31, 0, 11, 7}
-
-func storeStaticCodeLengthCode(storage_ix *uint, storage []byte) {
- writeBits(40, 0x0000FF55555554, storage_ix, storage)
-}
-
-var kZeroRepsBits = [numCommandSymbols]uint64{
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000007,
- 0x00000017,
- 0x00000027,
- 0x00000037,
- 0x00000047,
- 0x00000057,
- 0x00000067,
- 0x00000077,
- 0x00000770,
- 0x00000b87,
- 0x00001387,
- 0x00001b87,
- 0x00002387,
- 0x00002b87,
- 0x00003387,
- 0x00003b87,
- 0x00000397,
- 0x00000b97,
- 0x00001397,
- 0x00001b97,
- 0x00002397,
- 0x00002b97,
- 0x00003397,
- 0x00003b97,
- 0x000003a7,
- 0x00000ba7,
- 0x000013a7,
- 0x00001ba7,
- 0x000023a7,
- 0x00002ba7,
- 0x000033a7,
- 0x00003ba7,
- 0x000003b7,
- 0x00000bb7,
- 0x000013b7,
- 0x00001bb7,
- 0x000023b7,
- 0x00002bb7,
- 0x000033b7,
- 0x00003bb7,
- 0x000003c7,
- 0x00000bc7,
- 0x000013c7,
- 0x00001bc7,
- 0x000023c7,
- 0x00002bc7,
- 0x000033c7,
- 0x00003bc7,
- 0x000003d7,
- 0x00000bd7,
- 0x000013d7,
- 0x00001bd7,
- 0x000023d7,
- 0x00002bd7,
- 0x000033d7,
- 0x00003bd7,
- 0x000003e7,
- 0x00000be7,
- 0x000013e7,
- 0x00001be7,
- 0x000023e7,
- 0x00002be7,
- 0x000033e7,
- 0x00003be7,
- 0x000003f7,
- 0x00000bf7,
- 0x000013f7,
- 0x00001bf7,
- 0x000023f7,
- 0x00002bf7,
- 0x000033f7,
- 0x00003bf7,
- 0x0001c387,
- 0x0005c387,
- 0x0009c387,
- 0x000dc387,
- 0x0011c387,
- 0x0015c387,
- 0x0019c387,
- 0x001dc387,
- 0x0001cb87,
- 0x0005cb87,
- 0x0009cb87,
- 0x000dcb87,
- 0x0011cb87,
- 0x0015cb87,
- 0x0019cb87,
- 0x001dcb87,
- 0x0001d387,
- 0x0005d387,
- 0x0009d387,
- 0x000dd387,
- 0x0011d387,
- 0x0015d387,
- 0x0019d387,
- 0x001dd387,
- 0x0001db87,
- 0x0005db87,
- 0x0009db87,
- 0x000ddb87,
- 0x0011db87,
- 0x0015db87,
- 0x0019db87,
- 0x001ddb87,
- 0x0001e387,
- 0x0005e387,
- 0x0009e387,
- 0x000de387,
- 0x0011e387,
- 0x0015e387,
- 0x0019e387,
- 0x001de387,
- 0x0001eb87,
- 0x0005eb87,
- 0x0009eb87,
- 0x000deb87,
- 0x0011eb87,
- 0x0015eb87,
- 0x0019eb87,
- 0x001deb87,
- 0x0001f387,
- 0x0005f387,
- 0x0009f387,
- 0x000df387,
- 0x0011f387,
- 0x0015f387,
- 0x0019f387,
- 0x001df387,
- 0x0001fb87,
- 0x0005fb87,
- 0x0009fb87,
- 0x000dfb87,
- 0x0011fb87,
- 0x0015fb87,
- 0x0019fb87,
- 0x001dfb87,
- 0x0001c397,
- 0x0005c397,
- 0x0009c397,
- 0x000dc397,
- 0x0011c397,
- 0x0015c397,
- 0x0019c397,
- 0x001dc397,
- 0x0001cb97,
- 0x0005cb97,
- 0x0009cb97,
- 0x000dcb97,
- 0x0011cb97,
- 0x0015cb97,
- 0x0019cb97,
- 0x001dcb97,
- 0x0001d397,
- 0x0005d397,
- 0x0009d397,
- 0x000dd397,
- 0x0011d397,
- 0x0015d397,
- 0x0019d397,
- 0x001dd397,
- 0x0001db97,
- 0x0005db97,
- 0x0009db97,
- 0x000ddb97,
- 0x0011db97,
- 0x0015db97,
- 0x0019db97,
- 0x001ddb97,
- 0x0001e397,
- 0x0005e397,
- 0x0009e397,
- 0x000de397,
- 0x0011e397,
- 0x0015e397,
- 0x0019e397,
- 0x001de397,
- 0x0001eb97,
- 0x0005eb97,
- 0x0009eb97,
- 0x000deb97,
- 0x0011eb97,
- 0x0015eb97,
- 0x0019eb97,
- 0x001deb97,
- 0x0001f397,
- 0x0005f397,
- 0x0009f397,
- 0x000df397,
- 0x0011f397,
- 0x0015f397,
- 0x0019f397,
- 0x001df397,
- 0x0001fb97,
- 0x0005fb97,
- 0x0009fb97,
- 0x000dfb97,
- 0x0011fb97,
- 0x0015fb97,
- 0x0019fb97,
- 0x001dfb97,
- 0x0001c3a7,
- 0x0005c3a7,
- 0x0009c3a7,
- 0x000dc3a7,
- 0x0011c3a7,
- 0x0015c3a7,
- 0x0019c3a7,
- 0x001dc3a7,
- 0x0001cba7,
- 0x0005cba7,
- 0x0009cba7,
- 0x000dcba7,
- 0x0011cba7,
- 0x0015cba7,
- 0x0019cba7,
- 0x001dcba7,
- 0x0001d3a7,
- 0x0005d3a7,
- 0x0009d3a7,
- 0x000dd3a7,
- 0x0011d3a7,
- 0x0015d3a7,
- 0x0019d3a7,
- 0x001dd3a7,
- 0x0001dba7,
- 0x0005dba7,
- 0x0009dba7,
- 0x000ddba7,
- 0x0011dba7,
- 0x0015dba7,
- 0x0019dba7,
- 0x001ddba7,
- 0x0001e3a7,
- 0x0005e3a7,
- 0x0009e3a7,
- 0x000de3a7,
- 0x0011e3a7,
- 0x0015e3a7,
- 0x0019e3a7,
- 0x001de3a7,
- 0x0001eba7,
- 0x0005eba7,
- 0x0009eba7,
- 0x000deba7,
- 0x0011eba7,
- 0x0015eba7,
- 0x0019eba7,
- 0x001deba7,
- 0x0001f3a7,
- 0x0005f3a7,
- 0x0009f3a7,
- 0x000df3a7,
- 0x0011f3a7,
- 0x0015f3a7,
- 0x0019f3a7,
- 0x001df3a7,
- 0x0001fba7,
- 0x0005fba7,
- 0x0009fba7,
- 0x000dfba7,
- 0x0011fba7,
- 0x0015fba7,
- 0x0019fba7,
- 0x001dfba7,
- 0x0001c3b7,
- 0x0005c3b7,
- 0x0009c3b7,
- 0x000dc3b7,
- 0x0011c3b7,
- 0x0015c3b7,
- 0x0019c3b7,
- 0x001dc3b7,
- 0x0001cbb7,
- 0x0005cbb7,
- 0x0009cbb7,
- 0x000dcbb7,
- 0x0011cbb7,
- 0x0015cbb7,
- 0x0019cbb7,
- 0x001dcbb7,
- 0x0001d3b7,
- 0x0005d3b7,
- 0x0009d3b7,
- 0x000dd3b7,
- 0x0011d3b7,
- 0x0015d3b7,
- 0x0019d3b7,
- 0x001dd3b7,
- 0x0001dbb7,
- 0x0005dbb7,
- 0x0009dbb7,
- 0x000ddbb7,
- 0x0011dbb7,
- 0x0015dbb7,
- 0x0019dbb7,
- 0x001ddbb7,
- 0x0001e3b7,
- 0x0005e3b7,
- 0x0009e3b7,
- 0x000de3b7,
- 0x0011e3b7,
- 0x0015e3b7,
- 0x0019e3b7,
- 0x001de3b7,
- 0x0001ebb7,
- 0x0005ebb7,
- 0x0009ebb7,
- 0x000debb7,
- 0x0011ebb7,
- 0x0015ebb7,
- 0x0019ebb7,
- 0x001debb7,
- 0x0001f3b7,
- 0x0005f3b7,
- 0x0009f3b7,
- 0x000df3b7,
- 0x0011f3b7,
- 0x0015f3b7,
- 0x0019f3b7,
- 0x001df3b7,
- 0x0001fbb7,
- 0x0005fbb7,
- 0x0009fbb7,
- 0x000dfbb7,
- 0x0011fbb7,
- 0x0015fbb7,
- 0x0019fbb7,
- 0x001dfbb7,
- 0x0001c3c7,
- 0x0005c3c7,
- 0x0009c3c7,
- 0x000dc3c7,
- 0x0011c3c7,
- 0x0015c3c7,
- 0x0019c3c7,
- 0x001dc3c7,
- 0x0001cbc7,
- 0x0005cbc7,
- 0x0009cbc7,
- 0x000dcbc7,
- 0x0011cbc7,
- 0x0015cbc7,
- 0x0019cbc7,
- 0x001dcbc7,
- 0x0001d3c7,
- 0x0005d3c7,
- 0x0009d3c7,
- 0x000dd3c7,
- 0x0011d3c7,
- 0x0015d3c7,
- 0x0019d3c7,
- 0x001dd3c7,
- 0x0001dbc7,
- 0x0005dbc7,
- 0x0009dbc7,
- 0x000ddbc7,
- 0x0011dbc7,
- 0x0015dbc7,
- 0x0019dbc7,
- 0x001ddbc7,
- 0x0001e3c7,
- 0x0005e3c7,
- 0x0009e3c7,
- 0x000de3c7,
- 0x0011e3c7,
- 0x0015e3c7,
- 0x0019e3c7,
- 0x001de3c7,
- 0x0001ebc7,
- 0x0005ebc7,
- 0x0009ebc7,
- 0x000debc7,
- 0x0011ebc7,
- 0x0015ebc7,
- 0x0019ebc7,
- 0x001debc7,
- 0x0001f3c7,
- 0x0005f3c7,
- 0x0009f3c7,
- 0x000df3c7,
- 0x0011f3c7,
- 0x0015f3c7,
- 0x0019f3c7,
- 0x001df3c7,
- 0x0001fbc7,
- 0x0005fbc7,
- 0x0009fbc7,
- 0x000dfbc7,
- 0x0011fbc7,
- 0x0015fbc7,
- 0x0019fbc7,
- 0x001dfbc7,
- 0x0001c3d7,
- 0x0005c3d7,
- 0x0009c3d7,
- 0x000dc3d7,
- 0x0011c3d7,
- 0x0015c3d7,
- 0x0019c3d7,
- 0x001dc3d7,
- 0x0001cbd7,
- 0x0005cbd7,
- 0x0009cbd7,
- 0x000dcbd7,
- 0x0011cbd7,
- 0x0015cbd7,
- 0x0019cbd7,
- 0x001dcbd7,
- 0x0001d3d7,
- 0x0005d3d7,
- 0x0009d3d7,
- 0x000dd3d7,
- 0x0011d3d7,
- 0x0015d3d7,
- 0x0019d3d7,
- 0x001dd3d7,
- 0x0001dbd7,
- 0x0005dbd7,
- 0x0009dbd7,
- 0x000ddbd7,
- 0x0011dbd7,
- 0x0015dbd7,
- 0x0019dbd7,
- 0x001ddbd7,
- 0x0001e3d7,
- 0x0005e3d7,
- 0x0009e3d7,
- 0x000de3d7,
- 0x0011e3d7,
- 0x0015e3d7,
- 0x0019e3d7,
- 0x001de3d7,
- 0x0001ebd7,
- 0x0005ebd7,
- 0x0009ebd7,
- 0x000debd7,
- 0x0011ebd7,
- 0x0015ebd7,
- 0x0019ebd7,
- 0x001debd7,
- 0x0001f3d7,
- 0x0005f3d7,
- 0x0009f3d7,
- 0x000df3d7,
- 0x0011f3d7,
- 0x0015f3d7,
- 0x0019f3d7,
- 0x001df3d7,
- 0x0001fbd7,
- 0x0005fbd7,
- 0x0009fbd7,
- 0x000dfbd7,
- 0x0011fbd7,
- 0x0015fbd7,
- 0x0019fbd7,
- 0x001dfbd7,
- 0x0001c3e7,
- 0x0005c3e7,
- 0x0009c3e7,
- 0x000dc3e7,
- 0x0011c3e7,
- 0x0015c3e7,
- 0x0019c3e7,
- 0x001dc3e7,
- 0x0001cbe7,
- 0x0005cbe7,
- 0x0009cbe7,
- 0x000dcbe7,
- 0x0011cbe7,
- 0x0015cbe7,
- 0x0019cbe7,
- 0x001dcbe7,
- 0x0001d3e7,
- 0x0005d3e7,
- 0x0009d3e7,
- 0x000dd3e7,
- 0x0011d3e7,
- 0x0015d3e7,
- 0x0019d3e7,
- 0x001dd3e7,
- 0x0001dbe7,
- 0x0005dbe7,
- 0x0009dbe7,
- 0x000ddbe7,
- 0x0011dbe7,
- 0x0015dbe7,
- 0x0019dbe7,
- 0x001ddbe7,
- 0x0001e3e7,
- 0x0005e3e7,
- 0x0009e3e7,
- 0x000de3e7,
- 0x0011e3e7,
- 0x0015e3e7,
- 0x0019e3e7,
- 0x001de3e7,
- 0x0001ebe7,
- 0x0005ebe7,
- 0x0009ebe7,
- 0x000debe7,
- 0x0011ebe7,
- 0x0015ebe7,
- 0x0019ebe7,
- 0x001debe7,
- 0x0001f3e7,
- 0x0005f3e7,
- 0x0009f3e7,
- 0x000df3e7,
- 0x0011f3e7,
- 0x0015f3e7,
- 0x0019f3e7,
- 0x001df3e7,
- 0x0001fbe7,
- 0x0005fbe7,
- 0x0009fbe7,
- 0x000dfbe7,
- 0x0011fbe7,
- 0x0015fbe7,
- 0x0019fbe7,
- 0x001dfbe7,
- 0x0001c3f7,
- 0x0005c3f7,
- 0x0009c3f7,
- 0x000dc3f7,
- 0x0011c3f7,
- 0x0015c3f7,
- 0x0019c3f7,
- 0x001dc3f7,
- 0x0001cbf7,
- 0x0005cbf7,
- 0x0009cbf7,
- 0x000dcbf7,
- 0x0011cbf7,
- 0x0015cbf7,
- 0x0019cbf7,
- 0x001dcbf7,
- 0x0001d3f7,
- 0x0005d3f7,
- 0x0009d3f7,
- 0x000dd3f7,
- 0x0011d3f7,
- 0x0015d3f7,
- 0x0019d3f7,
- 0x001dd3f7,
- 0x0001dbf7,
- 0x0005dbf7,
- 0x0009dbf7,
- 0x000ddbf7,
- 0x0011dbf7,
- 0x0015dbf7,
- 0x0019dbf7,
- 0x001ddbf7,
- 0x0001e3f7,
- 0x0005e3f7,
- 0x0009e3f7,
- 0x000de3f7,
- 0x0011e3f7,
- 0x0015e3f7,
- 0x0019e3f7,
- 0x001de3f7,
- 0x0001ebf7,
- 0x0005ebf7,
- 0x0009ebf7,
- 0x000debf7,
- 0x0011ebf7,
- 0x0015ebf7,
- 0x0019ebf7,
- 0x001debf7,
- 0x0001f3f7,
- 0x0005f3f7,
- 0x0009f3f7,
- 0x000df3f7,
- 0x0011f3f7,
- 0x0015f3f7,
- 0x0019f3f7,
- 0x001df3f7,
- 0x0001fbf7,
- 0x0005fbf7,
- 0x0009fbf7,
- 0x000dfbf7,
- 0x0011fbf7,
- 0x0015fbf7,
- 0x0019fbf7,
- 0x001dfbf7,
- 0x00e1c387,
- 0x02e1c387,
- 0x04e1c387,
- 0x06e1c387,
- 0x08e1c387,
- 0x0ae1c387,
- 0x0ce1c387,
- 0x0ee1c387,
- 0x00e5c387,
- 0x02e5c387,
- 0x04e5c387,
- 0x06e5c387,
- 0x08e5c387,
- 0x0ae5c387,
- 0x0ce5c387,
- 0x0ee5c387,
- 0x00e9c387,
- 0x02e9c387,
- 0x04e9c387,
- 0x06e9c387,
- 0x08e9c387,
- 0x0ae9c387,
- 0x0ce9c387,
- 0x0ee9c387,
- 0x00edc387,
- 0x02edc387,
- 0x04edc387,
- 0x06edc387,
- 0x08edc387,
- 0x0aedc387,
- 0x0cedc387,
- 0x0eedc387,
- 0x00f1c387,
- 0x02f1c387,
- 0x04f1c387,
- 0x06f1c387,
- 0x08f1c387,
- 0x0af1c387,
- 0x0cf1c387,
- 0x0ef1c387,
- 0x00f5c387,
- 0x02f5c387,
- 0x04f5c387,
- 0x06f5c387,
- 0x08f5c387,
- 0x0af5c387,
- 0x0cf5c387,
- 0x0ef5c387,
- 0x00f9c387,
- 0x02f9c387,
- 0x04f9c387,
- 0x06f9c387,
- 0x08f9c387,
- 0x0af9c387,
- 0x0cf9c387,
- 0x0ef9c387,
- 0x00fdc387,
- 0x02fdc387,
- 0x04fdc387,
- 0x06fdc387,
- 0x08fdc387,
- 0x0afdc387,
- 0x0cfdc387,
- 0x0efdc387,
- 0x00e1cb87,
- 0x02e1cb87,
- 0x04e1cb87,
- 0x06e1cb87,
- 0x08e1cb87,
- 0x0ae1cb87,
- 0x0ce1cb87,
- 0x0ee1cb87,
- 0x00e5cb87,
- 0x02e5cb87,
- 0x04e5cb87,
- 0x06e5cb87,
- 0x08e5cb87,
- 0x0ae5cb87,
- 0x0ce5cb87,
- 0x0ee5cb87,
- 0x00e9cb87,
- 0x02e9cb87,
- 0x04e9cb87,
- 0x06e9cb87,
- 0x08e9cb87,
- 0x0ae9cb87,
- 0x0ce9cb87,
- 0x0ee9cb87,
- 0x00edcb87,
- 0x02edcb87,
- 0x04edcb87,
- 0x06edcb87,
- 0x08edcb87,
- 0x0aedcb87,
- 0x0cedcb87,
- 0x0eedcb87,
- 0x00f1cb87,
- 0x02f1cb87,
- 0x04f1cb87,
- 0x06f1cb87,
- 0x08f1cb87,
- 0x0af1cb87,
- 0x0cf1cb87,
- 0x0ef1cb87,
- 0x00f5cb87,
- 0x02f5cb87,
- 0x04f5cb87,
- 0x06f5cb87,
- 0x08f5cb87,
- 0x0af5cb87,
- 0x0cf5cb87,
- 0x0ef5cb87,
- 0x00f9cb87,
- 0x02f9cb87,
- 0x04f9cb87,
- 0x06f9cb87,
- 0x08f9cb87,
-}
-
-var kZeroRepsDepth = [numCommandSymbols]uint32{
- 0,
- 4,
- 8,
- 7,
- 7,
- 7,
- 7,
- 7,
- 7,
- 7,
- 7,
- 11,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 14,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 21,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
- 28,
-}
-
-var kNonZeroRepsBits = [numCommandSymbols]uint64{
- 0x0000000b,
- 0x0000001b,
- 0x0000002b,
- 0x0000003b,
- 0x000002cb,
- 0x000006cb,
- 0x00000acb,
- 0x00000ecb,
- 0x000002db,
- 0x000006db,
- 0x00000adb,
- 0x00000edb,
- 0x000002eb,
- 0x000006eb,
- 0x00000aeb,
- 0x00000eeb,
- 0x000002fb,
- 0x000006fb,
- 0x00000afb,
- 0x00000efb,
- 0x0000b2cb,
- 0x0001b2cb,
- 0x0002b2cb,
- 0x0003b2cb,
- 0x0000b6cb,
- 0x0001b6cb,
- 0x0002b6cb,
- 0x0003b6cb,
- 0x0000bacb,
- 0x0001bacb,
- 0x0002bacb,
- 0x0003bacb,
- 0x0000becb,
- 0x0001becb,
- 0x0002becb,
- 0x0003becb,
- 0x0000b2db,
- 0x0001b2db,
- 0x0002b2db,
- 0x0003b2db,
- 0x0000b6db,
- 0x0001b6db,
- 0x0002b6db,
- 0x0003b6db,
- 0x0000badb,
- 0x0001badb,
- 0x0002badb,
- 0x0003badb,
- 0x0000bedb,
- 0x0001bedb,
- 0x0002bedb,
- 0x0003bedb,
- 0x0000b2eb,
- 0x0001b2eb,
- 0x0002b2eb,
- 0x0003b2eb,
- 0x0000b6eb,
- 0x0001b6eb,
- 0x0002b6eb,
- 0x0003b6eb,
- 0x0000baeb,
- 0x0001baeb,
- 0x0002baeb,
- 0x0003baeb,
- 0x0000beeb,
- 0x0001beeb,
- 0x0002beeb,
- 0x0003beeb,
- 0x0000b2fb,
- 0x0001b2fb,
- 0x0002b2fb,
- 0x0003b2fb,
- 0x0000b6fb,
- 0x0001b6fb,
- 0x0002b6fb,
- 0x0003b6fb,
- 0x0000bafb,
- 0x0001bafb,
- 0x0002bafb,
- 0x0003bafb,
- 0x0000befb,
- 0x0001befb,
- 0x0002befb,
- 0x0003befb,
- 0x002cb2cb,
- 0x006cb2cb,
- 0x00acb2cb,
- 0x00ecb2cb,
- 0x002db2cb,
- 0x006db2cb,
- 0x00adb2cb,
- 0x00edb2cb,
- 0x002eb2cb,
- 0x006eb2cb,
- 0x00aeb2cb,
- 0x00eeb2cb,
- 0x002fb2cb,
- 0x006fb2cb,
- 0x00afb2cb,
- 0x00efb2cb,
- 0x002cb6cb,
- 0x006cb6cb,
- 0x00acb6cb,
- 0x00ecb6cb,
- 0x002db6cb,
- 0x006db6cb,
- 0x00adb6cb,
- 0x00edb6cb,
- 0x002eb6cb,
- 0x006eb6cb,
- 0x00aeb6cb,
- 0x00eeb6cb,
- 0x002fb6cb,
- 0x006fb6cb,
- 0x00afb6cb,
- 0x00efb6cb,
- 0x002cbacb,
- 0x006cbacb,
- 0x00acbacb,
- 0x00ecbacb,
- 0x002dbacb,
- 0x006dbacb,
- 0x00adbacb,
- 0x00edbacb,
- 0x002ebacb,
- 0x006ebacb,
- 0x00aebacb,
- 0x00eebacb,
- 0x002fbacb,
- 0x006fbacb,
- 0x00afbacb,
- 0x00efbacb,
- 0x002cbecb,
- 0x006cbecb,
- 0x00acbecb,
- 0x00ecbecb,
- 0x002dbecb,
- 0x006dbecb,
- 0x00adbecb,
- 0x00edbecb,
- 0x002ebecb,
- 0x006ebecb,
- 0x00aebecb,
- 0x00eebecb,
- 0x002fbecb,
- 0x006fbecb,
- 0x00afbecb,
- 0x00efbecb,
- 0x002cb2db,
- 0x006cb2db,
- 0x00acb2db,
- 0x00ecb2db,
- 0x002db2db,
- 0x006db2db,
- 0x00adb2db,
- 0x00edb2db,
- 0x002eb2db,
- 0x006eb2db,
- 0x00aeb2db,
- 0x00eeb2db,
- 0x002fb2db,
- 0x006fb2db,
- 0x00afb2db,
- 0x00efb2db,
- 0x002cb6db,
- 0x006cb6db,
- 0x00acb6db,
- 0x00ecb6db,
- 0x002db6db,
- 0x006db6db,
- 0x00adb6db,
- 0x00edb6db,
- 0x002eb6db,
- 0x006eb6db,
- 0x00aeb6db,
- 0x00eeb6db,
- 0x002fb6db,
- 0x006fb6db,
- 0x00afb6db,
- 0x00efb6db,
- 0x002cbadb,
- 0x006cbadb,
- 0x00acbadb,
- 0x00ecbadb,
- 0x002dbadb,
- 0x006dbadb,
- 0x00adbadb,
- 0x00edbadb,
- 0x002ebadb,
- 0x006ebadb,
- 0x00aebadb,
- 0x00eebadb,
- 0x002fbadb,
- 0x006fbadb,
- 0x00afbadb,
- 0x00efbadb,
- 0x002cbedb,
- 0x006cbedb,
- 0x00acbedb,
- 0x00ecbedb,
- 0x002dbedb,
- 0x006dbedb,
- 0x00adbedb,
- 0x00edbedb,
- 0x002ebedb,
- 0x006ebedb,
- 0x00aebedb,
- 0x00eebedb,
- 0x002fbedb,
- 0x006fbedb,
- 0x00afbedb,
- 0x00efbedb,
- 0x002cb2eb,
- 0x006cb2eb,
- 0x00acb2eb,
- 0x00ecb2eb,
- 0x002db2eb,
- 0x006db2eb,
- 0x00adb2eb,
- 0x00edb2eb,
- 0x002eb2eb,
- 0x006eb2eb,
- 0x00aeb2eb,
- 0x00eeb2eb,
- 0x002fb2eb,
- 0x006fb2eb,
- 0x00afb2eb,
- 0x00efb2eb,
- 0x002cb6eb,
- 0x006cb6eb,
- 0x00acb6eb,
- 0x00ecb6eb,
- 0x002db6eb,
- 0x006db6eb,
- 0x00adb6eb,
- 0x00edb6eb,
- 0x002eb6eb,
- 0x006eb6eb,
- 0x00aeb6eb,
- 0x00eeb6eb,
- 0x002fb6eb,
- 0x006fb6eb,
- 0x00afb6eb,
- 0x00efb6eb,
- 0x002cbaeb,
- 0x006cbaeb,
- 0x00acbaeb,
- 0x00ecbaeb,
- 0x002dbaeb,
- 0x006dbaeb,
- 0x00adbaeb,
- 0x00edbaeb,
- 0x002ebaeb,
- 0x006ebaeb,
- 0x00aebaeb,
- 0x00eebaeb,
- 0x002fbaeb,
- 0x006fbaeb,
- 0x00afbaeb,
- 0x00efbaeb,
- 0x002cbeeb,
- 0x006cbeeb,
- 0x00acbeeb,
- 0x00ecbeeb,
- 0x002dbeeb,
- 0x006dbeeb,
- 0x00adbeeb,
- 0x00edbeeb,
- 0x002ebeeb,
- 0x006ebeeb,
- 0x00aebeeb,
- 0x00eebeeb,
- 0x002fbeeb,
- 0x006fbeeb,
- 0x00afbeeb,
- 0x00efbeeb,
- 0x002cb2fb,
- 0x006cb2fb,
- 0x00acb2fb,
- 0x00ecb2fb,
- 0x002db2fb,
- 0x006db2fb,
- 0x00adb2fb,
- 0x00edb2fb,
- 0x002eb2fb,
- 0x006eb2fb,
- 0x00aeb2fb,
- 0x00eeb2fb,
- 0x002fb2fb,
- 0x006fb2fb,
- 0x00afb2fb,
- 0x00efb2fb,
- 0x002cb6fb,
- 0x006cb6fb,
- 0x00acb6fb,
- 0x00ecb6fb,
- 0x002db6fb,
- 0x006db6fb,
- 0x00adb6fb,
- 0x00edb6fb,
- 0x002eb6fb,
- 0x006eb6fb,
- 0x00aeb6fb,
- 0x00eeb6fb,
- 0x002fb6fb,
- 0x006fb6fb,
- 0x00afb6fb,
- 0x00efb6fb,
- 0x002cbafb,
- 0x006cbafb,
- 0x00acbafb,
- 0x00ecbafb,
- 0x002dbafb,
- 0x006dbafb,
- 0x00adbafb,
- 0x00edbafb,
- 0x002ebafb,
- 0x006ebafb,
- 0x00aebafb,
- 0x00eebafb,
- 0x002fbafb,
- 0x006fbafb,
- 0x00afbafb,
- 0x00efbafb,
- 0x002cbefb,
- 0x006cbefb,
- 0x00acbefb,
- 0x00ecbefb,
- 0x002dbefb,
- 0x006dbefb,
- 0x00adbefb,
- 0x00edbefb,
- 0x002ebefb,
- 0x006ebefb,
- 0x00aebefb,
- 0x00eebefb,
- 0x002fbefb,
- 0x006fbefb,
- 0x00afbefb,
- 0x00efbefb,
- 0x0b2cb2cb,
- 0x1b2cb2cb,
- 0x2b2cb2cb,
- 0x3b2cb2cb,
- 0x0b6cb2cb,
- 0x1b6cb2cb,
- 0x2b6cb2cb,
- 0x3b6cb2cb,
- 0x0bacb2cb,
- 0x1bacb2cb,
- 0x2bacb2cb,
- 0x3bacb2cb,
- 0x0becb2cb,
- 0x1becb2cb,
- 0x2becb2cb,
- 0x3becb2cb,
- 0x0b2db2cb,
- 0x1b2db2cb,
- 0x2b2db2cb,
- 0x3b2db2cb,
- 0x0b6db2cb,
- 0x1b6db2cb,
- 0x2b6db2cb,
- 0x3b6db2cb,
- 0x0badb2cb,
- 0x1badb2cb,
- 0x2badb2cb,
- 0x3badb2cb,
- 0x0bedb2cb,
- 0x1bedb2cb,
- 0x2bedb2cb,
- 0x3bedb2cb,
- 0x0b2eb2cb,
- 0x1b2eb2cb,
- 0x2b2eb2cb,
- 0x3b2eb2cb,
- 0x0b6eb2cb,
- 0x1b6eb2cb,
- 0x2b6eb2cb,
- 0x3b6eb2cb,
- 0x0baeb2cb,
- 0x1baeb2cb,
- 0x2baeb2cb,
- 0x3baeb2cb,
- 0x0beeb2cb,
- 0x1beeb2cb,
- 0x2beeb2cb,
- 0x3beeb2cb,
- 0x0b2fb2cb,
- 0x1b2fb2cb,
- 0x2b2fb2cb,
- 0x3b2fb2cb,
- 0x0b6fb2cb,
- 0x1b6fb2cb,
- 0x2b6fb2cb,
- 0x3b6fb2cb,
- 0x0bafb2cb,
- 0x1bafb2cb,
- 0x2bafb2cb,
- 0x3bafb2cb,
- 0x0befb2cb,
- 0x1befb2cb,
- 0x2befb2cb,
- 0x3befb2cb,
- 0x0b2cb6cb,
- 0x1b2cb6cb,
- 0x2b2cb6cb,
- 0x3b2cb6cb,
- 0x0b6cb6cb,
- 0x1b6cb6cb,
- 0x2b6cb6cb,
- 0x3b6cb6cb,
- 0x0bacb6cb,
- 0x1bacb6cb,
- 0x2bacb6cb,
- 0x3bacb6cb,
- 0x0becb6cb,
- 0x1becb6cb,
- 0x2becb6cb,
- 0x3becb6cb,
- 0x0b2db6cb,
- 0x1b2db6cb,
- 0x2b2db6cb,
- 0x3b2db6cb,
- 0x0b6db6cb,
- 0x1b6db6cb,
- 0x2b6db6cb,
- 0x3b6db6cb,
- 0x0badb6cb,
- 0x1badb6cb,
- 0x2badb6cb,
- 0x3badb6cb,
- 0x0bedb6cb,
- 0x1bedb6cb,
- 0x2bedb6cb,
- 0x3bedb6cb,
- 0x0b2eb6cb,
- 0x1b2eb6cb,
- 0x2b2eb6cb,
- 0x3b2eb6cb,
- 0x0b6eb6cb,
- 0x1b6eb6cb,
- 0x2b6eb6cb,
- 0x3b6eb6cb,
- 0x0baeb6cb,
- 0x1baeb6cb,
- 0x2baeb6cb,
- 0x3baeb6cb,
- 0x0beeb6cb,
- 0x1beeb6cb,
- 0x2beeb6cb,
- 0x3beeb6cb,
- 0x0b2fb6cb,
- 0x1b2fb6cb,
- 0x2b2fb6cb,
- 0x3b2fb6cb,
- 0x0b6fb6cb,
- 0x1b6fb6cb,
- 0x2b6fb6cb,
- 0x3b6fb6cb,
- 0x0bafb6cb,
- 0x1bafb6cb,
- 0x2bafb6cb,
- 0x3bafb6cb,
- 0x0befb6cb,
- 0x1befb6cb,
- 0x2befb6cb,
- 0x3befb6cb,
- 0x0b2cbacb,
- 0x1b2cbacb,
- 0x2b2cbacb,
- 0x3b2cbacb,
- 0x0b6cbacb,
- 0x1b6cbacb,
- 0x2b6cbacb,
- 0x3b6cbacb,
- 0x0bacbacb,
- 0x1bacbacb,
- 0x2bacbacb,
- 0x3bacbacb,
- 0x0becbacb,
- 0x1becbacb,
- 0x2becbacb,
- 0x3becbacb,
- 0x0b2dbacb,
- 0x1b2dbacb,
- 0x2b2dbacb,
- 0x3b2dbacb,
- 0x0b6dbacb,
- 0x1b6dbacb,
- 0x2b6dbacb,
- 0x3b6dbacb,
- 0x0badbacb,
- 0x1badbacb,
- 0x2badbacb,
- 0x3badbacb,
- 0x0bedbacb,
- 0x1bedbacb,
- 0x2bedbacb,
- 0x3bedbacb,
- 0x0b2ebacb,
- 0x1b2ebacb,
- 0x2b2ebacb,
- 0x3b2ebacb,
- 0x0b6ebacb,
- 0x1b6ebacb,
- 0x2b6ebacb,
- 0x3b6ebacb,
- 0x0baebacb,
- 0x1baebacb,
- 0x2baebacb,
- 0x3baebacb,
- 0x0beebacb,
- 0x1beebacb,
- 0x2beebacb,
- 0x3beebacb,
- 0x0b2fbacb,
- 0x1b2fbacb,
- 0x2b2fbacb,
- 0x3b2fbacb,
- 0x0b6fbacb,
- 0x1b6fbacb,
- 0x2b6fbacb,
- 0x3b6fbacb,
- 0x0bafbacb,
- 0x1bafbacb,
- 0x2bafbacb,
- 0x3bafbacb,
- 0x0befbacb,
- 0x1befbacb,
- 0x2befbacb,
- 0x3befbacb,
- 0x0b2cbecb,
- 0x1b2cbecb,
- 0x2b2cbecb,
- 0x3b2cbecb,
- 0x0b6cbecb,
- 0x1b6cbecb,
- 0x2b6cbecb,
- 0x3b6cbecb,
- 0x0bacbecb,
- 0x1bacbecb,
- 0x2bacbecb,
- 0x3bacbecb,
- 0x0becbecb,
- 0x1becbecb,
- 0x2becbecb,
- 0x3becbecb,
- 0x0b2dbecb,
- 0x1b2dbecb,
- 0x2b2dbecb,
- 0x3b2dbecb,
- 0x0b6dbecb,
- 0x1b6dbecb,
- 0x2b6dbecb,
- 0x3b6dbecb,
- 0x0badbecb,
- 0x1badbecb,
- 0x2badbecb,
- 0x3badbecb,
- 0x0bedbecb,
- 0x1bedbecb,
- 0x2bedbecb,
- 0x3bedbecb,
- 0x0b2ebecb,
- 0x1b2ebecb,
- 0x2b2ebecb,
- 0x3b2ebecb,
- 0x0b6ebecb,
- 0x1b6ebecb,
- 0x2b6ebecb,
- 0x3b6ebecb,
- 0x0baebecb,
- 0x1baebecb,
- 0x2baebecb,
- 0x3baebecb,
- 0x0beebecb,
- 0x1beebecb,
- 0x2beebecb,
- 0x3beebecb,
- 0x0b2fbecb,
- 0x1b2fbecb,
- 0x2b2fbecb,
- 0x3b2fbecb,
- 0x0b6fbecb,
- 0x1b6fbecb,
- 0x2b6fbecb,
- 0x3b6fbecb,
- 0x0bafbecb,
- 0x1bafbecb,
- 0x2bafbecb,
- 0x3bafbecb,
- 0x0befbecb,
- 0x1befbecb,
- 0x2befbecb,
- 0x3befbecb,
- 0x0b2cb2db,
- 0x1b2cb2db,
- 0x2b2cb2db,
- 0x3b2cb2db,
- 0x0b6cb2db,
- 0x1b6cb2db,
- 0x2b6cb2db,
- 0x3b6cb2db,
- 0x0bacb2db,
- 0x1bacb2db,
- 0x2bacb2db,
- 0x3bacb2db,
- 0x0becb2db,
- 0x1becb2db,
- 0x2becb2db,
- 0x3becb2db,
- 0x0b2db2db,
- 0x1b2db2db,
- 0x2b2db2db,
- 0x3b2db2db,
- 0x0b6db2db,
- 0x1b6db2db,
- 0x2b6db2db,
- 0x3b6db2db,
- 0x0badb2db,
- 0x1badb2db,
- 0x2badb2db,
- 0x3badb2db,
- 0x0bedb2db,
- 0x1bedb2db,
- 0x2bedb2db,
- 0x3bedb2db,
- 0x0b2eb2db,
- 0x1b2eb2db,
- 0x2b2eb2db,
- 0x3b2eb2db,
- 0x0b6eb2db,
- 0x1b6eb2db,
- 0x2b6eb2db,
- 0x3b6eb2db,
- 0x0baeb2db,
- 0x1baeb2db,
- 0x2baeb2db,
- 0x3baeb2db,
- 0x0beeb2db,
- 0x1beeb2db,
- 0x2beeb2db,
- 0x3beeb2db,
- 0x0b2fb2db,
- 0x1b2fb2db,
- 0x2b2fb2db,
- 0x3b2fb2db,
- 0x0b6fb2db,
- 0x1b6fb2db,
- 0x2b6fb2db,
- 0x3b6fb2db,
- 0x0bafb2db,
- 0x1bafb2db,
- 0x2bafb2db,
- 0x3bafb2db,
- 0x0befb2db,
- 0x1befb2db,
- 0x2befb2db,
- 0x3befb2db,
- 0x0b2cb6db,
- 0x1b2cb6db,
- 0x2b2cb6db,
- 0x3b2cb6db,
- 0x0b6cb6db,
- 0x1b6cb6db,
- 0x2b6cb6db,
- 0x3b6cb6db,
- 0x0bacb6db,
- 0x1bacb6db,
- 0x2bacb6db,
- 0x3bacb6db,
- 0x0becb6db,
- 0x1becb6db,
- 0x2becb6db,
- 0x3becb6db,
- 0x0b2db6db,
- 0x1b2db6db,
- 0x2b2db6db,
- 0x3b2db6db,
- 0x0b6db6db,
- 0x1b6db6db,
- 0x2b6db6db,
- 0x3b6db6db,
- 0x0badb6db,
- 0x1badb6db,
- 0x2badb6db,
- 0x3badb6db,
- 0x0bedb6db,
- 0x1bedb6db,
- 0x2bedb6db,
- 0x3bedb6db,
- 0x0b2eb6db,
- 0x1b2eb6db,
- 0x2b2eb6db,
- 0x3b2eb6db,
- 0x0b6eb6db,
- 0x1b6eb6db,
- 0x2b6eb6db,
- 0x3b6eb6db,
- 0x0baeb6db,
- 0x1baeb6db,
- 0x2baeb6db,
- 0x3baeb6db,
-}
-
-var kNonZeroRepsDepth = [numCommandSymbols]uint32{
- 6,
- 6,
- 6,
- 6,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 12,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 18,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 24,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
- 30,
-}
-
-var kStaticCommandCodeBits = [numCommandSymbols]uint16{
- 0,
- 256,
- 128,
- 384,
- 64,
- 320,
- 192,
- 448,
- 32,
- 288,
- 160,
- 416,
- 96,
- 352,
- 224,
- 480,
- 16,
- 272,
- 144,
- 400,
- 80,
- 336,
- 208,
- 464,
- 48,
- 304,
- 176,
- 432,
- 112,
- 368,
- 240,
- 496,
- 8,
- 264,
- 136,
- 392,
- 72,
- 328,
- 200,
- 456,
- 40,
- 296,
- 168,
- 424,
- 104,
- 360,
- 232,
- 488,
- 24,
- 280,
- 152,
- 408,
- 88,
- 344,
- 216,
- 472,
- 56,
- 312,
- 184,
- 440,
- 120,
- 376,
- 248,
- 504,
- 4,
- 260,
- 132,
- 388,
- 68,
- 324,
- 196,
- 452,
- 36,
- 292,
- 164,
- 420,
- 100,
- 356,
- 228,
- 484,
- 20,
- 276,
- 148,
- 404,
- 84,
- 340,
- 212,
- 468,
- 52,
- 308,
- 180,
- 436,
- 116,
- 372,
- 244,
- 500,
- 12,
- 268,
- 140,
- 396,
- 76,
- 332,
- 204,
- 460,
- 44,
- 300,
- 172,
- 428,
- 108,
- 364,
- 236,
- 492,
- 28,
- 284,
- 156,
- 412,
- 92,
- 348,
- 220,
- 476,
- 60,
- 316,
- 188,
- 444,
- 124,
- 380,
- 252,
- 508,
- 2,
- 258,
- 130,
- 386,
- 66,
- 322,
- 194,
- 450,
- 34,
- 290,
- 162,
- 418,
- 98,
- 354,
- 226,
- 482,
- 18,
- 274,
- 146,
- 402,
- 82,
- 338,
- 210,
- 466,
- 50,
- 306,
- 178,
- 434,
- 114,
- 370,
- 242,
- 498,
- 10,
- 266,
- 138,
- 394,
- 74,
- 330,
- 202,
- 458,
- 42,
- 298,
- 170,
- 426,
- 106,
- 362,
- 234,
- 490,
- 26,
- 282,
- 154,
- 410,
- 90,
- 346,
- 218,
- 474,
- 58,
- 314,
- 186,
- 442,
- 122,
- 378,
- 250,
- 506,
- 6,
- 262,
- 134,
- 390,
- 70,
- 326,
- 198,
- 454,
- 38,
- 294,
- 166,
- 422,
- 102,
- 358,
- 230,
- 486,
- 22,
- 278,
- 150,
- 406,
- 86,
- 342,
- 214,
- 470,
- 54,
- 310,
- 182,
- 438,
- 118,
- 374,
- 246,
- 502,
- 14,
- 270,
- 142,
- 398,
- 78,
- 334,
- 206,
- 462,
- 46,
- 302,
- 174,
- 430,
- 110,
- 366,
- 238,
- 494,
- 30,
- 286,
- 158,
- 414,
- 94,
- 350,
- 222,
- 478,
- 62,
- 318,
- 190,
- 446,
- 126,
- 382,
- 254,
- 510,
- 1,
- 257,
- 129,
- 385,
- 65,
- 321,
- 193,
- 449,
- 33,
- 289,
- 161,
- 417,
- 97,
- 353,
- 225,
- 481,
- 17,
- 273,
- 145,
- 401,
- 81,
- 337,
- 209,
- 465,
- 49,
- 305,
- 177,
- 433,
- 113,
- 369,
- 241,
- 497,
- 9,
- 265,
- 137,
- 393,
- 73,
- 329,
- 201,
- 457,
- 41,
- 297,
- 169,
- 425,
- 105,
- 361,
- 233,
- 489,
- 25,
- 281,
- 153,
- 409,
- 89,
- 345,
- 217,
- 473,
- 57,
- 313,
- 185,
- 441,
- 121,
- 377,
- 249,
- 505,
- 5,
- 261,
- 133,
- 389,
- 69,
- 325,
- 197,
- 453,
- 37,
- 293,
- 165,
- 421,
- 101,
- 357,
- 229,
- 485,
- 21,
- 277,
- 149,
- 405,
- 85,
- 341,
- 213,
- 469,
- 53,
- 309,
- 181,
- 437,
- 117,
- 373,
- 245,
- 501,
- 13,
- 269,
- 141,
- 397,
- 77,
- 333,
- 205,
- 461,
- 45,
- 301,
- 173,
- 429,
- 109,
- 365,
- 237,
- 493,
- 29,
- 285,
- 157,
- 413,
- 93,
- 349,
- 221,
- 477,
- 61,
- 317,
- 189,
- 445,
- 125,
- 381,
- 253,
- 509,
- 3,
- 259,
- 131,
- 387,
- 67,
- 323,
- 195,
- 451,
- 35,
- 291,
- 163,
- 419,
- 99,
- 355,
- 227,
- 483,
- 19,
- 275,
- 147,
- 403,
- 83,
- 339,
- 211,
- 467,
- 51,
- 307,
- 179,
- 435,
- 115,
- 371,
- 243,
- 499,
- 11,
- 267,
- 139,
- 395,
- 75,
- 331,
- 203,
- 459,
- 43,
- 299,
- 171,
- 427,
- 107,
- 363,
- 235,
- 491,
- 27,
- 283,
- 155,
- 411,
- 91,
- 347,
- 219,
- 475,
- 59,
- 315,
- 187,
- 443,
- 123,
- 379,
- 251,
- 507,
- 7,
- 1031,
- 519,
- 1543,
- 263,
- 1287,
- 775,
- 1799,
- 135,
- 1159,
- 647,
- 1671,
- 391,
- 1415,
- 903,
- 1927,
- 71,
- 1095,
- 583,
- 1607,
- 327,
- 1351,
- 839,
- 1863,
- 199,
- 1223,
- 711,
- 1735,
- 455,
- 1479,
- 967,
- 1991,
- 39,
- 1063,
- 551,
- 1575,
- 295,
- 1319,
- 807,
- 1831,
- 167,
- 1191,
- 679,
- 1703,
- 423,
- 1447,
- 935,
- 1959,
- 103,
- 1127,
- 615,
- 1639,
- 359,
- 1383,
- 871,
- 1895,
- 231,
- 1255,
- 743,
- 1767,
- 487,
- 1511,
- 999,
- 2023,
- 23,
- 1047,
- 535,
- 1559,
- 279,
- 1303,
- 791,
- 1815,
- 151,
- 1175,
- 663,
- 1687,
- 407,
- 1431,
- 919,
- 1943,
- 87,
- 1111,
- 599,
- 1623,
- 343,
- 1367,
- 855,
- 1879,
- 215,
- 1239,
- 727,
- 1751,
- 471,
- 1495,
- 983,
- 2007,
- 55,
- 1079,
- 567,
- 1591,
- 311,
- 1335,
- 823,
- 1847,
- 183,
- 1207,
- 695,
- 1719,
- 439,
- 1463,
- 951,
- 1975,
- 119,
- 1143,
- 631,
- 1655,
- 375,
- 1399,
- 887,
- 1911,
- 247,
- 1271,
- 759,
- 1783,
- 503,
- 1527,
- 1015,
- 2039,
- 15,
- 1039,
- 527,
- 1551,
- 271,
- 1295,
- 783,
- 1807,
- 143,
- 1167,
- 655,
- 1679,
- 399,
- 1423,
- 911,
- 1935,
- 79,
- 1103,
- 591,
- 1615,
- 335,
- 1359,
- 847,
- 1871,
- 207,
- 1231,
- 719,
- 1743,
- 463,
- 1487,
- 975,
- 1999,
- 47,
- 1071,
- 559,
- 1583,
- 303,
- 1327,
- 815,
- 1839,
- 175,
- 1199,
- 687,
- 1711,
- 431,
- 1455,
- 943,
- 1967,
- 111,
- 1135,
- 623,
- 1647,
- 367,
- 1391,
- 879,
- 1903,
- 239,
- 1263,
- 751,
- 1775,
- 495,
- 1519,
- 1007,
- 2031,
- 31,
- 1055,
- 543,
- 1567,
- 287,
- 1311,
- 799,
- 1823,
- 159,
- 1183,
- 671,
- 1695,
- 415,
- 1439,
- 927,
- 1951,
- 95,
- 1119,
- 607,
- 1631,
- 351,
- 1375,
- 863,
- 1887,
- 223,
- 1247,
- 735,
- 1759,
- 479,
- 1503,
- 991,
- 2015,
- 63,
- 1087,
- 575,
- 1599,
- 319,
- 1343,
- 831,
- 1855,
- 191,
- 1215,
- 703,
- 1727,
- 447,
- 1471,
- 959,
- 1983,
- 127,
- 1151,
- 639,
- 1663,
- 383,
- 1407,
- 895,
- 1919,
- 255,
- 1279,
- 767,
- 1791,
- 511,
- 1535,
- 1023,
- 2047,
-}
-
-func storeStaticCommandHuffmanTree(storage_ix *uint, storage []byte) {
- writeBits(56, 0x92624416307003, storage_ix, storage)
- writeBits(3, 0x00000000, storage_ix, storage)
-}
-
-var kStaticDistanceCodeBits = [64]uint16{
- 0,
- 32,
- 16,
- 48,
- 8,
- 40,
- 24,
- 56,
- 4,
- 36,
- 20,
- 52,
- 12,
- 44,
- 28,
- 60,
- 2,
- 34,
- 18,
- 50,
- 10,
- 42,
- 26,
- 58,
- 6,
- 38,
- 22,
- 54,
- 14,
- 46,
- 30,
- 62,
- 1,
- 33,
- 17,
- 49,
- 9,
- 41,
- 25,
- 57,
- 5,
- 37,
- 21,
- 53,
- 13,
- 45,
- 29,
- 61,
- 3,
- 35,
- 19,
- 51,
- 11,
- 43,
- 27,
- 59,
- 7,
- 39,
- 23,
- 55,
- 15,
- 47,
- 31,
- 63,
-}
-
-func storeStaticDistanceHuffmanTree(storage_ix *uint, storage []byte) {
- writeBits(28, 0x0369DC03, storage_ix, storage)
-}
diff --git a/vendor/github.com/andybalholm/brotli/fast_log.go b/vendor/github.com/andybalholm/brotli/fast_log.go
deleted file mode 100644
index 9d6607f7..00000000
--- a/vendor/github.com/andybalholm/brotli/fast_log.go
+++ /dev/null
@@ -1,290 +0,0 @@
-package brotli
-
-import (
- "math"
- "math/bits"
-)
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Utilities for fast computation of logarithms. */
-
-func log2FloorNonZero(n uint) uint32 {
- return uint32(bits.Len(n)) - 1
-}
-
-/* A lookup table for small values of log2(int) to be used in entropy
- computation.
-
- ", ".join(["%.16ff" % x for x in [0.0]+[log2(x) for x in range(1, 256)]]) */
-var kLog2Table = []float32{
- 0.0000000000000000,
- 0.0000000000000000,
- 1.0000000000000000,
- 1.5849625007211563,
- 2.0000000000000000,
- 2.3219280948873622,
- 2.5849625007211561,
- 2.8073549220576042,
- 3.0000000000000000,
- 3.1699250014423126,
- 3.3219280948873626,
- 3.4594316186372978,
- 3.5849625007211565,
- 3.7004397181410922,
- 3.8073549220576037,
- 3.9068905956085187,
- 4.0000000000000000,
- 4.0874628412503400,
- 4.1699250014423122,
- 4.2479275134435852,
- 4.3219280948873626,
- 4.3923174227787607,
- 4.4594316186372973,
- 4.5235619560570131,
- 4.5849625007211570,
- 4.6438561897747244,
- 4.7004397181410926,
- 4.7548875021634691,
- 4.8073549220576037,
- 4.8579809951275728,
- 4.9068905956085187,
- 4.9541963103868758,
- 5.0000000000000000,
- 5.0443941193584534,
- 5.0874628412503400,
- 5.1292830169449664,
- 5.1699250014423122,
- 5.2094533656289501,
- 5.2479275134435852,
- 5.2854022188622487,
- 5.3219280948873626,
- 5.3575520046180838,
- 5.3923174227787607,
- 5.4262647547020979,
- 5.4594316186372973,
- 5.4918530963296748,
- 5.5235619560570131,
- 5.5545888516776376,
- 5.5849625007211570,
- 5.6147098441152083,
- 5.6438561897747244,
- 5.6724253419714961,
- 5.7004397181410926,
- 5.7279204545631996,
- 5.7548875021634691,
- 5.7813597135246599,
- 5.8073549220576046,
- 5.8328900141647422,
- 5.8579809951275719,
- 5.8826430493618416,
- 5.9068905956085187,
- 5.9307373375628867,
- 5.9541963103868758,
- 5.9772799234999168,
- 6.0000000000000000,
- 6.0223678130284544,
- 6.0443941193584534,
- 6.0660891904577721,
- 6.0874628412503400,
- 6.1085244567781700,
- 6.1292830169449672,
- 6.1497471195046822,
- 6.1699250014423122,
- 6.1898245588800176,
- 6.2094533656289510,
- 6.2288186904958804,
- 6.2479275134435861,
- 6.2667865406949019,
- 6.2854022188622487,
- 6.3037807481771031,
- 6.3219280948873617,
- 6.3398500028846252,
- 6.3575520046180847,
- 6.3750394313469254,
- 6.3923174227787598,
- 6.4093909361377026,
- 6.4262647547020979,
- 6.4429434958487288,
- 6.4594316186372982,
- 6.4757334309663976,
- 6.4918530963296748,
- 6.5077946401986964,
- 6.5235619560570131,
- 6.5391588111080319,
- 6.5545888516776376,
- 6.5698556083309478,
- 6.5849625007211561,
- 6.5999128421871278,
- 6.6147098441152092,
- 6.6293566200796095,
- 6.6438561897747253,
- 6.6582114827517955,
- 6.6724253419714952,
- 6.6865005271832185,
- 6.7004397181410917,
- 6.7142455176661224,
- 6.7279204545631988,
- 6.7414669864011465,
- 6.7548875021634691,
- 6.7681843247769260,
- 6.7813597135246599,
- 6.7944158663501062,
- 6.8073549220576037,
- 6.8201789624151887,
- 6.8328900141647422,
- 6.8454900509443757,
- 6.8579809951275719,
- 6.8703647195834048,
- 6.8826430493618416,
- 6.8948177633079437,
- 6.9068905956085187,
- 6.9188632372745955,
- 6.9307373375628867,
- 6.9425145053392399,
- 6.9541963103868758,
- 6.9657842846620879,
- 6.9772799234999168,
- 6.9886846867721664,
- 7.0000000000000000,
- 7.0112272554232540,
- 7.0223678130284544,
- 7.0334230015374501,
- 7.0443941193584534,
- 7.0552824355011898,
- 7.0660891904577721,
- 7.0768155970508317,
- 7.0874628412503400,
- 7.0980320829605272,
- 7.1085244567781700,
- 7.1189410727235076,
- 7.1292830169449664,
- 7.1395513523987937,
- 7.1497471195046822,
- 7.1598713367783891,
- 7.1699250014423130,
- 7.1799090900149345,
- 7.1898245588800176,
- 7.1996723448363644,
- 7.2094533656289492,
- 7.2191685204621621,
- 7.2288186904958804,
- 7.2384047393250794,
- 7.2479275134435861,
- 7.2573878426926521,
- 7.2667865406949019,
- 7.2761244052742384,
- 7.2854022188622487,
- 7.2946207488916270,
- 7.3037807481771031,
- 7.3128829552843557,
- 7.3219280948873617,
- 7.3309168781146177,
- 7.3398500028846243,
- 7.3487281542310781,
- 7.3575520046180847,
- 7.3663222142458151,
- 7.3750394313469254,
- 7.3837042924740528,
- 7.3923174227787607,
- 7.4008794362821844,
- 7.4093909361377026,
- 7.4178525148858991,
- 7.4262647547020979,
- 7.4346282276367255,
- 7.4429434958487288,
- 7.4512111118323299,
- 7.4594316186372973,
- 7.4676055500829976,
- 7.4757334309663976,
- 7.4838157772642564,
- 7.4918530963296748,
- 7.4998458870832057,
- 7.5077946401986964,
- 7.5156998382840436,
- 7.5235619560570131,
- 7.5313814605163119,
- 7.5391588111080319,
- 7.5468944598876373,
- 7.5545888516776376,
- 7.5622424242210728,
- 7.5698556083309478,
- 7.5774288280357487,
- 7.5849625007211561,
- 7.5924570372680806,
- 7.5999128421871278,
- 7.6073303137496113,
- 7.6147098441152075,
- 7.6220518194563764,
- 7.6293566200796095,
- 7.6366246205436488,
- 7.6438561897747244,
- 7.6510516911789290,
- 7.6582114827517955,
- 7.6653359171851765,
- 7.6724253419714952,
- 7.6794800995054464,
- 7.6865005271832185,
- 7.6934869574993252,
- 7.7004397181410926,
- 7.7073591320808825,
- 7.7142455176661224,
- 7.7210991887071856,
- 7.7279204545631996,
- 7.7347096202258392,
- 7.7414669864011465,
- 7.7481928495894596,
- 7.7548875021634691,
- 7.7615512324444795,
- 7.7681843247769260,
- 7.7747870596011737,
- 7.7813597135246608,
- 7.7879025593914317,
- 7.7944158663501062,
- 7.8008998999203047,
- 7.8073549220576037,
- 7.8137811912170374,
- 7.8201789624151887,
- 7.8265484872909159,
- 7.8328900141647422,
- 7.8392037880969445,
- 7.8454900509443757,
- 7.8517490414160571,
- 7.8579809951275719,
- 7.8641861446542798,
- 7.8703647195834048,
- 7.8765169465650002,
- 7.8826430493618425,
- 7.8887432488982601,
- 7.8948177633079446,
- 7.9008668079807496,
- 7.9068905956085187,
- 7.9128893362299619,
- 7.9188632372745955,
- 7.9248125036057813,
- 7.9307373375628867,
- 7.9366379390025719,
- 7.9425145053392399,
- 7.9483672315846778,
- 7.9541963103868758,
- 7.9600019320680806,
- 7.9657842846620870,
- 7.9715435539507720,
- 7.9772799234999168,
- 7.9829935746943104,
- 7.9886846867721664,
- 7.9943534368588578,
-}
-
-/* Faster logarithm for small integers, with the property of log2(0) == 0. */
-func fastLog2(v uint) float64 {
- if v < uint(len(kLog2Table)) {
- return float64(kLog2Table[v])
- }
-
- return math.Log2(float64(v))
-}
diff --git a/vendor/github.com/andybalholm/brotli/find_match_length.go b/vendor/github.com/andybalholm/brotli/find_match_length.go
deleted file mode 100644
index 09d2ae67..00000000
--- a/vendor/github.com/andybalholm/brotli/find_match_length.go
+++ /dev/null
@@ -1,45 +0,0 @@
-package brotli
-
-import (
- "encoding/binary"
- "math/bits"
- "runtime"
-)
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Function to find maximal matching prefixes of strings. */
-func findMatchLengthWithLimit(s1 []byte, s2 []byte, limit uint) uint {
- var matched uint = 0
- _, _ = s1[limit-1], s2[limit-1] // bounds check
- switch runtime.GOARCH {
- case "amd64":
- // Compare 8 bytes at at time.
- for matched+8 <= limit {
- w1 := binary.LittleEndian.Uint64(s1[matched:])
- w2 := binary.LittleEndian.Uint64(s2[matched:])
- if w1 != w2 {
- return matched + uint(bits.TrailingZeros64(w1^w2)>>3)
- }
- matched += 8
- }
- case "386":
- // Compare 4 bytes at at time.
- for matched+4 <= limit {
- w1 := binary.LittleEndian.Uint32(s1[matched:])
- w2 := binary.LittleEndian.Uint32(s2[matched:])
- if w1 != w2 {
- return matched + uint(bits.TrailingZeros32(w1^w2)>>3)
- }
- matched += 4
- }
- }
- for matched < limit && s1[matched] == s2[matched] {
- matched++
- }
- return matched
-}
diff --git a/vendor/github.com/andybalholm/brotli/h10.go b/vendor/github.com/andybalholm/brotli/h10.go
deleted file mode 100644
index 5662fbbb..00000000
--- a/vendor/github.com/andybalholm/brotli/h10.go
+++ /dev/null
@@ -1,287 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func (*h10) HashTypeLength() uint {
- return 4
-}
-
-func (*h10) StoreLookahead() uint {
- return 128
-}
-
-func hashBytesH10(data []byte) uint32 {
- var h uint32 = binary.LittleEndian.Uint32(data) * kHashMul32
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return h >> (32 - 17)
-}
-
-/* A (forgetful) hash table where each hash bucket contains a binary tree of
- sequences whose first 4 bytes share the same hash code.
- Each sequence is 128 long and is identified by its starting
- position in the input data. The binary tree is sorted by the lexicographic
- order of the sequences, and it is also a max-heap with respect to the
- starting positions. */
-type h10 struct {
- hasherCommon
- window_mask_ uint
- buckets_ [1 << 17]uint32
- invalid_pos_ uint32
- forest []uint32
-}
-
-func (h *h10) Initialize(params *encoderParams) {
- h.window_mask_ = (1 << params.lgwin) - 1
- h.invalid_pos_ = uint32(0 - h.window_mask_)
- var num_nodes uint = uint(1) << params.lgwin
- h.forest = make([]uint32, 2*num_nodes)
-}
-
-func (h *h10) Prepare(one_shot bool, input_size uint, data []byte) {
- var invalid_pos uint32 = h.invalid_pos_
- var i uint32
- for i = 0; i < 1<<17; i++ {
- h.buckets_[i] = invalid_pos
- }
-}
-
-func leftChildIndexH10(self *h10, pos uint) uint {
- return 2 * (pos & self.window_mask_)
-}
-
-func rightChildIndexH10(self *h10, pos uint) uint {
- return 2*(pos&self.window_mask_) + 1
-}
-
-/* Stores the hash of the next 4 bytes and in a single tree-traversal, the
- hash bucket's binary tree is searched for matches and is re-rooted at the
- current position.
-
- If less than 128 data is available, the hash bucket of the
- current position is searched for matches, but the state of the hash table
- is not changed, since we can not know the final sorting order of the
- current (incomplete) sequence.
-
- This function must be called with increasing cur_ix positions. */
-func storeAndFindMatchesH10(self *h10, data []byte, cur_ix uint, ring_buffer_mask uint, max_length uint, max_backward uint, best_len *uint, matches []backwardMatch) []backwardMatch {
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var max_comp_len uint = brotli_min_size_t(max_length, 128)
- var should_reroot_tree bool = (max_length >= 128)
- var key uint32 = hashBytesH10(data[cur_ix_masked:])
- var forest []uint32 = self.forest
- var prev_ix uint = uint(self.buckets_[key])
- var node_left uint = leftChildIndexH10(self, cur_ix)
- var node_right uint = rightChildIndexH10(self, cur_ix)
- var best_len_left uint = 0
- var best_len_right uint = 0
- var depth_remaining uint
- /* The forest index of the rightmost node of the left subtree of the new
- root, updated as we traverse and re-root the tree of the hash bucket. */
-
- /* The forest index of the leftmost node of the right subtree of the new
- root, updated as we traverse and re-root the tree of the hash bucket. */
-
- /* The match length of the rightmost node of the left subtree of the new
- root, updated as we traverse and re-root the tree of the hash bucket. */
-
- /* The match length of the leftmost node of the right subtree of the new
- root, updated as we traverse and re-root the tree of the hash bucket. */
- if should_reroot_tree {
- self.buckets_[key] = uint32(cur_ix)
- }
-
- for depth_remaining = 64; ; depth_remaining-- {
- var backward uint = cur_ix - prev_ix
- var prev_ix_masked uint = prev_ix & ring_buffer_mask
- if backward == 0 || backward > max_backward || depth_remaining == 0 {
- if should_reroot_tree {
- forest[node_left] = self.invalid_pos_
- forest[node_right] = self.invalid_pos_
- }
-
- break
- }
- {
- var cur_len uint = brotli_min_size_t(best_len_left, best_len_right)
- var len uint
- assert(cur_len <= 128)
- len = cur_len + findMatchLengthWithLimit(data[cur_ix_masked+cur_len:], data[prev_ix_masked+cur_len:], max_length-cur_len)
- if matches != nil && len > *best_len {
- *best_len = uint(len)
- initBackwardMatch(&matches[0], backward, uint(len))
- matches = matches[1:]
- }
-
- if len >= max_comp_len {
- if should_reroot_tree {
- forest[node_left] = forest[leftChildIndexH10(self, prev_ix)]
- forest[node_right] = forest[rightChildIndexH10(self, prev_ix)]
- }
-
- break
- }
-
- if data[cur_ix_masked+len] > data[prev_ix_masked+len] {
- best_len_left = uint(len)
- if should_reroot_tree {
- forest[node_left] = uint32(prev_ix)
- }
-
- node_left = rightChildIndexH10(self, prev_ix)
- prev_ix = uint(forest[node_left])
- } else {
- best_len_right = uint(len)
- if should_reroot_tree {
- forest[node_right] = uint32(prev_ix)
- }
-
- node_right = leftChildIndexH10(self, prev_ix)
- prev_ix = uint(forest[node_right])
- }
- }
- }
-
- return matches
-}
-
-/* Finds all backward matches of &data[cur_ix & ring_buffer_mask] up to the
- length of max_length and stores the position cur_ix in the hash table.
-
- Sets *num_matches to the number of matches found, and stores the found
- matches in matches[0] to matches[*num_matches - 1]. The matches will be
- sorted by strictly increasing length and (non-strictly) increasing
- distance. */
-func findAllMatchesH10(handle *h10, dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, cur_ix uint, max_length uint, max_backward uint, gap uint, params *encoderParams, matches []backwardMatch) uint {
- var orig_matches []backwardMatch = matches
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var best_len uint = 1
- var short_match_max_backward uint
- if params.quality != hqZopflificationQuality {
- short_match_max_backward = 16
- } else {
- short_match_max_backward = 64
- }
- var stop uint = cur_ix - short_match_max_backward
- var dict_matches [maxStaticDictionaryMatchLen + 1]uint32
- var i uint
- if cur_ix < short_match_max_backward {
- stop = 0
- }
- for i = cur_ix - 1; i > stop && best_len <= 2; i-- {
- var prev_ix uint = i
- var backward uint = cur_ix - prev_ix
- if backward > max_backward {
- break
- }
-
- prev_ix &= ring_buffer_mask
- if data[cur_ix_masked] != data[prev_ix] || data[cur_ix_masked+1] != data[prev_ix+1] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len > best_len {
- best_len = uint(len)
- initBackwardMatch(&matches[0], backward, uint(len))
- matches = matches[1:]
- }
- }
- }
-
- if best_len < max_length {
- matches = storeAndFindMatchesH10(handle, data, cur_ix, ring_buffer_mask, max_length, max_backward, &best_len, matches)
- }
-
- for i = 0; i <= maxStaticDictionaryMatchLen; i++ {
- dict_matches[i] = kInvalidMatch
- }
- {
- var minlen uint = brotli_max_size_t(4, best_len+1)
- if findAllStaticDictionaryMatches(dictionary, data[cur_ix_masked:], minlen, max_length, dict_matches[0:]) {
- var maxlen uint = brotli_min_size_t(maxStaticDictionaryMatchLen, max_length)
- var l uint
- for l = minlen; l <= maxlen; l++ {
- var dict_id uint32 = dict_matches[l]
- if dict_id < kInvalidMatch {
- var distance uint = max_backward + gap + uint(dict_id>>5) + 1
- if distance <= params.dist.max_distance {
- initDictionaryBackwardMatch(&matches[0], distance, l, uint(dict_id&31))
- matches = matches[1:]
- }
- }
- }
- }
- }
-
- return uint(-cap(matches) + cap(orig_matches))
-}
-
-/* Stores the hash of the next 4 bytes and re-roots the binary tree at the
- current sequence, without returning any matches.
- REQUIRES: ix + 128 <= end-of-current-block */
-func (h *h10) Store(data []byte, mask uint, ix uint) {
- var max_backward uint = h.window_mask_ - windowGap + 1
- /* Maximum distance is window size - 16, see section 9.1. of the spec. */
- storeAndFindMatchesH10(h, data, ix, mask, 128, max_backward, nil, nil)
-}
-
-func (h *h10) StoreRange(data []byte, mask uint, ix_start uint, ix_end uint) {
- var i uint = ix_start
- var j uint = ix_start
- if ix_start+63 <= ix_end {
- i = ix_end - 63
- }
-
- if ix_start+512 <= i {
- for ; j < i; j += 8 {
- h.Store(data, mask, j)
- }
- }
-
- for ; i < ix_end; i++ {
- h.Store(data, mask, i)
- }
-}
-
-func (h *h10) StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint) {
- if num_bytes >= h.HashTypeLength()-1 && position >= 128 {
- var i_start uint = position - 128 + 1
- var i_end uint = brotli_min_size_t(position, i_start+num_bytes)
- /* Store the last `128 - 1` positions in the hasher.
- These could not be calculated before, since they require knowledge
- of both the previous and the current block. */
-
- var i uint
- for i = i_start; i < i_end; i++ {
- /* Maximum distance is window size - 16, see section 9.1. of the spec.
- Furthermore, we have to make sure that we don't look further back
- from the start of the next block than the window size, otherwise we
- could access already overwritten areas of the ring-buffer. */
- var max_backward uint = h.window_mask_ - brotli_max_size_t(windowGap-1, position-i)
-
- /* We know that i + 128 <= position + num_bytes, i.e. the
- end of the current block and that we have at least
- 128 tail in the ring-buffer. */
- storeAndFindMatchesH10(h, ringbuffer, i, ringbuffer_mask, 128, max_backward, nil, nil)
- }
- }
-}
-
-/* MAX_NUM_MATCHES == 64 + MAX_TREE_SEARCH_DEPTH */
-const maxNumMatchesH10 = 128
-
-func (*h10) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- panic("unimplemented")
-}
-
-func (*h10) PrepareDistanceCache(distance_cache []int) {
- panic("unimplemented")
-}
diff --git a/vendor/github.com/andybalholm/brotli/h5.go b/vendor/github.com/andybalholm/brotli/h5.go
deleted file mode 100644
index f391b73f..00000000
--- a/vendor/github.com/andybalholm/brotli/h5.go
+++ /dev/null
@@ -1,214 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* A (forgetful) hash table to the data seen by the compressor, to
- help create backward references to previous data.
-
- This is a hash map of fixed size (bucket_size_) to a ring buffer of
- fixed size (block_size_). The ring buffer contains the last block_size_
- index positions of the given hash key in the compressed data. */
-func (*h5) HashTypeLength() uint {
- return 4
-}
-
-func (*h5) StoreLookahead() uint {
- return 4
-}
-
-/* HashBytes is the function that chooses the bucket to place the address in. */
-func hashBytesH5(data []byte, shift int) uint32 {
- var h uint32 = binary.LittleEndian.Uint32(data) * kHashMul32
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return uint32(h >> uint(shift))
-}
-
-type h5 struct {
- hasherCommon
- bucket_size_ uint
- block_size_ uint
- hash_shift_ int
- block_mask_ uint32
- num []uint16
- buckets []uint32
-}
-
-func (h *h5) Initialize(params *encoderParams) {
- h.hash_shift_ = 32 - h.params.bucket_bits
- h.bucket_size_ = uint(1) << uint(h.params.bucket_bits)
- h.block_size_ = uint(1) << uint(h.params.block_bits)
- h.block_mask_ = uint32(h.block_size_ - 1)
- h.num = make([]uint16, h.bucket_size_)
- h.buckets = make([]uint32, h.block_size_*h.bucket_size_)
-}
-
-func (h *h5) Prepare(one_shot bool, input_size uint, data []byte) {
- var num []uint16 = h.num
- var partial_prepare_threshold uint = h.bucket_size_ >> 6
- /* Partial preparation is 100 times slower (per socket). */
- if one_shot && input_size <= partial_prepare_threshold {
- var i uint
- for i = 0; i < input_size; i++ {
- var key uint32 = hashBytesH5(data[i:], h.hash_shift_)
- num[key] = 0
- }
- } else {
- for i := 0; i < int(h.bucket_size_); i++ {
- num[i] = 0
- }
- }
-}
-
-/* Look at 4 bytes at &data[ix & mask].
- Compute a hash from these, and store the value of ix at that position. */
-func (h *h5) Store(data []byte, mask uint, ix uint) {
- var num []uint16 = h.num
- var key uint32 = hashBytesH5(data[ix&mask:], h.hash_shift_)
- var minor_ix uint = uint(num[key]) & uint(h.block_mask_)
- var offset uint = minor_ix + uint(key<= h.HashTypeLength()-1 && position >= 3 {
- /* Prepare the hashes for three last bytes of the last write.
- These could not be calculated before, since they require knowledge
- of both the previous and the current block. */
- h.Store(ringbuffer, ringbuffer_mask, position-3)
- h.Store(ringbuffer, ringbuffer_mask, position-2)
- h.Store(ringbuffer, ringbuffer_mask, position-1)
- }
-}
-
-func (h *h5) PrepareDistanceCache(distance_cache []int) {
- prepareDistanceCache(distance_cache, h.params.num_last_distances_to_check)
-}
-
-/* Find a longest backward match of &data[cur_ix] up to the length of
- max_length and stores the position cur_ix in the hash table.
-
- REQUIRES: PrepareDistanceCacheH5 must be invoked for current distance cache
- values; if this method is invoked repeatedly with the same distance
- cache values, it is enough to invoke PrepareDistanceCacheH5 once.
-
- Does not look for matches longer than max_length.
- Does not look for matches further away than max_backward.
- Writes the best match into |out|.
- |out|->score is updated only if a better match is found. */
-func (h *h5) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- var num []uint16 = h.num
- var buckets []uint32 = h.buckets
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var min_score uint = out.score
- var best_score uint = out.score
- var best_len uint = out.len
- var i uint
- var bucket []uint32
- /* Don't accept a short copy from far away. */
- out.len = 0
-
- out.len_code_delta = 0
-
- /* Try last distance first. */
- for i = 0; i < uint(h.params.num_last_distances_to_check); i++ {
- var backward uint = uint(distance_cache[i])
- var prev_ix uint = uint(cur_ix - backward)
- if prev_ix >= cur_ix {
- continue
- }
-
- if backward > max_backward {
- continue
- }
-
- prev_ix &= ring_buffer_mask
-
- if cur_ix_masked+best_len > ring_buffer_mask || prev_ix+best_len > ring_buffer_mask || data[cur_ix_masked+best_len] != data[prev_ix+best_len] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 3 || (len == 2 && i < 2) {
- /* Comparing for >= 2 does not change the semantics, but just saves for
- a few unnecessary binary logarithms in backward reference score,
- since we are not interested in such short matches. */
- var score uint = backwardReferenceScoreUsingLastDistance(uint(len))
- if best_score < score {
- if i != 0 {
- score -= backwardReferencePenaltyUsingLastDistance(i)
- }
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
- }
- {
- var key uint32 = hashBytesH5(data[cur_ix_masked:], h.hash_shift_)
- bucket = buckets[key< h.block_size_ {
- down = uint(num[key]) - h.block_size_
- } else {
- down = 0
- }
- for i = uint(num[key]); i > down; {
- var prev_ix uint
- i--
- prev_ix = uint(bucket[uint32(i)&h.block_mask_])
- var backward uint = cur_ix - prev_ix
- if backward > max_backward {
- break
- }
-
- prev_ix &= ring_buffer_mask
- if cur_ix_masked+best_len > ring_buffer_mask || prev_ix+best_len > ring_buffer_mask || data[cur_ix_masked+best_len] != data[prev_ix+best_len] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- /* Comparing for >= 3 does not change the semantics, but just saves
- for a few unnecessary binary logarithms in backward reference
- score, since we are not interested in such short matches. */
- var score uint = backwardReferenceScore(uint(len), backward)
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
-
- bucket[uint32(num[key])&h.block_mask_] = uint32(cur_ix)
- num[key]++
- }
-
- if min_score == out.score {
- searchInStaticDictionary(dictionary, h, data[cur_ix_masked:], max_length, max_backward+gap, max_distance, out, false)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/h6.go b/vendor/github.com/andybalholm/brotli/h6.go
deleted file mode 100644
index 80bb224a..00000000
--- a/vendor/github.com/andybalholm/brotli/h6.go
+++ /dev/null
@@ -1,216 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* A (forgetful) hash table to the data seen by the compressor, to
- help create backward references to previous data.
-
- This is a hash map of fixed size (bucket_size_) to a ring buffer of
- fixed size (block_size_). The ring buffer contains the last block_size_
- index positions of the given hash key in the compressed data. */
-func (*h6) HashTypeLength() uint {
- return 8
-}
-
-func (*h6) StoreLookahead() uint {
- return 8
-}
-
-/* HashBytes is the function that chooses the bucket to place the address in. */
-func hashBytesH6(data []byte, mask uint64, shift int) uint32 {
- var h uint64 = (binary.LittleEndian.Uint64(data) & mask) * kHashMul64Long
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return uint32(h >> uint(shift))
-}
-
-type h6 struct {
- hasherCommon
- bucket_size_ uint
- block_size_ uint
- hash_shift_ int
- hash_mask_ uint64
- block_mask_ uint32
- num []uint16
- buckets []uint32
-}
-
-func (h *h6) Initialize(params *encoderParams) {
- h.hash_shift_ = 64 - h.params.bucket_bits
- h.hash_mask_ = (^(uint64(0))) >> uint(64-8*h.params.hash_len)
- h.bucket_size_ = uint(1) << uint(h.params.bucket_bits)
- h.block_size_ = uint(1) << uint(h.params.block_bits)
- h.block_mask_ = uint32(h.block_size_ - 1)
- h.num = make([]uint16, h.bucket_size_)
- h.buckets = make([]uint32, h.block_size_*h.bucket_size_)
-}
-
-func (h *h6) Prepare(one_shot bool, input_size uint, data []byte) {
- var num []uint16 = h.num
- var partial_prepare_threshold uint = h.bucket_size_ >> 6
- /* Partial preparation is 100 times slower (per socket). */
- if one_shot && input_size <= partial_prepare_threshold {
- var i uint
- for i = 0; i < input_size; i++ {
- var key uint32 = hashBytesH6(data[i:], h.hash_mask_, h.hash_shift_)
- num[key] = 0
- }
- } else {
- for i := 0; i < int(h.bucket_size_); i++ {
- num[i] = 0
- }
- }
-}
-
-/* Look at 4 bytes at &data[ix & mask].
- Compute a hash from these, and store the value of ix at that position. */
-func (h *h6) Store(data []byte, mask uint, ix uint) {
- var num []uint16 = h.num
- var key uint32 = hashBytesH6(data[ix&mask:], h.hash_mask_, h.hash_shift_)
- var minor_ix uint = uint(num[key]) & uint(h.block_mask_)
- var offset uint = minor_ix + uint(key<= h.HashTypeLength()-1 && position >= 3 {
- /* Prepare the hashes for three last bytes of the last write.
- These could not be calculated before, since they require knowledge
- of both the previous and the current block. */
- h.Store(ringbuffer, ringbuffer_mask, position-3)
- h.Store(ringbuffer, ringbuffer_mask, position-2)
- h.Store(ringbuffer, ringbuffer_mask, position-1)
- }
-}
-
-func (h *h6) PrepareDistanceCache(distance_cache []int) {
- prepareDistanceCache(distance_cache, h.params.num_last_distances_to_check)
-}
-
-/* Find a longest backward match of &data[cur_ix] up to the length of
- max_length and stores the position cur_ix in the hash table.
-
- REQUIRES: PrepareDistanceCacheH6 must be invoked for current distance cache
- values; if this method is invoked repeatedly with the same distance
- cache values, it is enough to invoke PrepareDistanceCacheH6 once.
-
- Does not look for matches longer than max_length.
- Does not look for matches further away than max_backward.
- Writes the best match into |out|.
- |out|->score is updated only if a better match is found. */
-func (h *h6) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- var num []uint16 = h.num
- var buckets []uint32 = h.buckets
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var min_score uint = out.score
- var best_score uint = out.score
- var best_len uint = out.len
- var i uint
- var bucket []uint32
- /* Don't accept a short copy from far away. */
- out.len = 0
-
- out.len_code_delta = 0
-
- /* Try last distance first. */
- for i = 0; i < uint(h.params.num_last_distances_to_check); i++ {
- var backward uint = uint(distance_cache[i])
- var prev_ix uint = uint(cur_ix - backward)
- if prev_ix >= cur_ix {
- continue
- }
-
- if backward > max_backward {
- continue
- }
-
- prev_ix &= ring_buffer_mask
-
- if cur_ix_masked+best_len > ring_buffer_mask || prev_ix+best_len > ring_buffer_mask || data[cur_ix_masked+best_len] != data[prev_ix+best_len] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 3 || (len == 2 && i < 2) {
- /* Comparing for >= 2 does not change the semantics, but just saves for
- a few unnecessary binary logarithms in backward reference score,
- since we are not interested in such short matches. */
- var score uint = backwardReferenceScoreUsingLastDistance(uint(len))
- if best_score < score {
- if i != 0 {
- score -= backwardReferencePenaltyUsingLastDistance(i)
- }
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
- }
- {
- var key uint32 = hashBytesH6(data[cur_ix_masked:], h.hash_mask_, h.hash_shift_)
- bucket = buckets[key< h.block_size_ {
- down = uint(num[key]) - h.block_size_
- } else {
- down = 0
- }
- for i = uint(num[key]); i > down; {
- var prev_ix uint
- i--
- prev_ix = uint(bucket[uint32(i)&h.block_mask_])
- var backward uint = cur_ix - prev_ix
- if backward > max_backward {
- break
- }
-
- prev_ix &= ring_buffer_mask
- if cur_ix_masked+best_len > ring_buffer_mask || prev_ix+best_len > ring_buffer_mask || data[cur_ix_masked+best_len] != data[prev_ix+best_len] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- /* Comparing for >= 3 does not change the semantics, but just saves
- for a few unnecessary binary logarithms in backward reference
- score, since we are not interested in such short matches. */
- var score uint = backwardReferenceScore(uint(len), backward)
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
-
- bucket[uint32(num[key])&h.block_mask_] = uint32(cur_ix)
- num[key]++
- }
-
- if min_score == out.score {
- searchInStaticDictionary(dictionary, h, data[cur_ix_masked:], max_length, max_backward+gap, max_distance, out, false)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/hash.go b/vendor/github.com/andybalholm/brotli/hash.go
deleted file mode 100644
index 00f812e8..00000000
--- a/vendor/github.com/andybalholm/brotli/hash.go
+++ /dev/null
@@ -1,342 +0,0 @@
-package brotli
-
-import (
- "encoding/binary"
- "fmt"
-)
-
-type hasherCommon struct {
- params hasherParams
- is_prepared_ bool
- dict_num_lookups uint
- dict_num_matches uint
-}
-
-func (h *hasherCommon) Common() *hasherCommon {
- return h
-}
-
-type hasherHandle interface {
- Common() *hasherCommon
- Initialize(params *encoderParams)
- Prepare(one_shot bool, input_size uint, data []byte)
- StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint)
- HashTypeLength() uint
- StoreLookahead() uint
- PrepareDistanceCache(distance_cache []int)
- FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult)
- StoreRange(data []byte, mask uint, ix_start uint, ix_end uint)
- Store(data []byte, mask uint, ix uint)
-}
-
-const kCutoffTransformsCount uint32 = 10
-
-/* 0, 12, 27, 23, 42, 63, 56, 48, 59, 64 */
-/* 0+0, 4+8, 8+19, 12+11, 16+26, 20+43, 24+32, 28+20, 32+27, 36+28 */
-const kCutoffTransforms uint64 = 0x071B520ADA2D3200
-
-type hasherSearchResult struct {
- len uint
- distance uint
- score uint
- len_code_delta int
-}
-
-/* kHashMul32 multiplier has these properties:
- * The multiplier must be odd. Otherwise we may lose the highest bit.
- * No long streaks of ones or zeros.
- * There is no effort to ensure that it is a prime, the oddity is enough
- for this use.
- * The number has been tuned heuristically against compression benchmarks. */
-const kHashMul32 uint32 = 0x1E35A7BD
-
-const kHashMul64 uint64 = 0x1E35A7BD1E35A7BD
-
-const kHashMul64Long uint64 = 0x1FE35A7BD3579BD3
-
-func hash14(data []byte) uint32 {
- var h uint32 = binary.LittleEndian.Uint32(data) * kHashMul32
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return h >> (32 - 14)
-}
-
-func prepareDistanceCache(distance_cache []int, num_distances int) {
- if num_distances > 4 {
- var last_distance int = distance_cache[0]
- distance_cache[4] = last_distance - 1
- distance_cache[5] = last_distance + 1
- distance_cache[6] = last_distance - 2
- distance_cache[7] = last_distance + 2
- distance_cache[8] = last_distance - 3
- distance_cache[9] = last_distance + 3
- if num_distances > 10 {
- var next_last_distance int = distance_cache[1]
- distance_cache[10] = next_last_distance - 1
- distance_cache[11] = next_last_distance + 1
- distance_cache[12] = next_last_distance - 2
- distance_cache[13] = next_last_distance + 2
- distance_cache[14] = next_last_distance - 3
- distance_cache[15] = next_last_distance + 3
- }
- }
-}
-
-const literalByteScore = 135
-
-const distanceBitPenalty = 30
-
-/* Score must be positive after applying maximal penalty. */
-const scoreBase = (distanceBitPenalty * 8 * 8)
-
-/* Usually, we always choose the longest backward reference. This function
- allows for the exception of that rule.
-
- If we choose a backward reference that is further away, it will
- usually be coded with more bits. We approximate this by assuming
- log2(distance). If the distance can be expressed in terms of the
- last four distances, we use some heuristic constants to estimate
- the bits cost. For the first up to four literals we use the bit
- cost of the literals from the literal cost model, after that we
- use the average bit cost of the cost model.
-
- This function is used to sometimes discard a longer backward reference
- when it is not much longer and the bit cost for encoding it is more
- than the saved literals.
-
- backward_reference_offset MUST be positive. */
-func backwardReferenceScore(copy_length uint, backward_reference_offset uint) uint {
- return scoreBase + literalByteScore*uint(copy_length) - distanceBitPenalty*uint(log2FloorNonZero(backward_reference_offset))
-}
-
-func backwardReferenceScoreUsingLastDistance(copy_length uint) uint {
- return literalByteScore*uint(copy_length) + scoreBase + 15
-}
-
-func backwardReferencePenaltyUsingLastDistance(distance_short_code uint) uint {
- return uint(39) + ((0x1CA10 >> (distance_short_code & 0xE)) & 0xE)
-}
-
-func testStaticDictionaryItem(dictionary *encoderDictionary, item uint, data []byte, max_length uint, max_backward uint, max_distance uint, out *hasherSearchResult) bool {
- var len uint
- var word_idx uint
- var offset uint
- var matchlen uint
- var backward uint
- var score uint
- len = item & 0x1F
- word_idx = item >> 5
- offset = uint(dictionary.words.offsets_by_length[len]) + len*word_idx
- if len > max_length {
- return false
- }
-
- matchlen = findMatchLengthWithLimit(data, dictionary.words.data[offset:], uint(len))
- if matchlen+uint(dictionary.cutoffTransformsCount) <= len || matchlen == 0 {
- return false
- }
- {
- var cut uint = len - matchlen
- var transform_id uint = (cut << 2) + uint((dictionary.cutoffTransforms>>(cut*6))&0x3F)
- backward = max_backward + 1 + word_idx + (transform_id << dictionary.words.size_bits_by_length[len])
- }
-
- if backward > max_distance {
- return false
- }
-
- score = backwardReferenceScore(matchlen, backward)
- if score < out.score {
- return false
- }
-
- out.len = matchlen
- out.len_code_delta = int(len) - int(matchlen)
- out.distance = backward
- out.score = score
- return true
-}
-
-func searchInStaticDictionary(dictionary *encoderDictionary, handle hasherHandle, data []byte, max_length uint, max_backward uint, max_distance uint, out *hasherSearchResult, shallow bool) {
- var key uint
- var i uint
- var self *hasherCommon = handle.Common()
- if self.dict_num_matches < self.dict_num_lookups>>7 {
- return
- }
-
- key = uint(hash14(data) << 1)
- for i = 0; ; (func() { i++; key++ })() {
- var tmp uint
- if shallow {
- tmp = 1
- } else {
- tmp = 2
- }
- if i >= tmp {
- break
- }
- var item uint = uint(dictionary.hash_table[key])
- self.dict_num_lookups++
- if item != 0 {
- var item_matches bool = testStaticDictionaryItem(dictionary, item, data, max_length, max_backward, max_distance, out)
- if item_matches {
- self.dict_num_matches++
- }
- }
- }
-}
-
-type backwardMatch struct {
- distance uint32
- length_and_code uint32
-}
-
-func initBackwardMatch(self *backwardMatch, dist uint, len uint) {
- self.distance = uint32(dist)
- self.length_and_code = uint32(len << 5)
-}
-
-func initDictionaryBackwardMatch(self *backwardMatch, dist uint, len uint, len_code uint) {
- self.distance = uint32(dist)
- var tmp uint
- if len == len_code {
- tmp = 0
- } else {
- tmp = len_code
- }
- self.length_and_code = uint32(len<<5 | tmp)
-}
-
-func backwardMatchLength(self *backwardMatch) uint {
- return uint(self.length_and_code >> 5)
-}
-
-func backwardMatchLengthCode(self *backwardMatch) uint {
- var code uint = uint(self.length_and_code) & 31
- if code != 0 {
- return code
- } else {
- return backwardMatchLength(self)
- }
-}
-
-func hasherReset(handle hasherHandle) {
- if handle == nil {
- return
- }
- handle.Common().is_prepared_ = false
-}
-
-func newHasher(typ int) hasherHandle {
- switch typ {
- case 2:
- return &hashLongestMatchQuickly{
- bucketBits: 16,
- bucketSweep: 1,
- hashLen: 5,
- useDictionary: true,
- }
- case 3:
- return &hashLongestMatchQuickly{
- bucketBits: 16,
- bucketSweep: 2,
- hashLen: 5,
- useDictionary: false,
- }
- case 4:
- return &hashLongestMatchQuickly{
- bucketBits: 17,
- bucketSweep: 4,
- hashLen: 5,
- useDictionary: true,
- }
- case 5:
- return new(h5)
- case 6:
- return new(h6)
- case 10:
- return new(h10)
- case 35:
- return &hashComposite{
- ha: newHasher(3),
- hb: &hashRolling{jump: 4},
- }
- case 40:
- return &hashForgetfulChain{
- bucketBits: 15,
- numBanks: 1,
- bankBits: 16,
- numLastDistancesToCheck: 4,
- }
- case 41:
- return &hashForgetfulChain{
- bucketBits: 15,
- numBanks: 1,
- bankBits: 16,
- numLastDistancesToCheck: 10,
- }
- case 42:
- return &hashForgetfulChain{
- bucketBits: 15,
- numBanks: 512,
- bankBits: 9,
- numLastDistancesToCheck: 16,
- }
- case 54:
- return &hashLongestMatchQuickly{
- bucketBits: 20,
- bucketSweep: 4,
- hashLen: 7,
- useDictionary: false,
- }
- case 55:
- return &hashComposite{
- ha: newHasher(54),
- hb: &hashRolling{jump: 4},
- }
- case 65:
- return &hashComposite{
- ha: newHasher(6),
- hb: &hashRolling{jump: 1},
- }
- }
-
- panic(fmt.Sprintf("unknown hasher type: %d", typ))
-}
-
-func hasherSetup(handle *hasherHandle, params *encoderParams, data []byte, position uint, input_size uint, is_last bool) {
- var self hasherHandle = nil
- var common *hasherCommon = nil
- var one_shot bool = (position == 0 && is_last)
- if *handle == nil {
- chooseHasher(params, ¶ms.hasher)
- self = newHasher(params.hasher.type_)
-
- *handle = self
- common = self.Common()
- common.params = params.hasher
- self.Initialize(params)
- }
-
- self = *handle
- common = self.Common()
- if !common.is_prepared_ {
- self.Prepare(one_shot, input_size, data)
-
- if position == 0 {
- common.dict_num_lookups = 0
- common.dict_num_matches = 0
- }
-
- common.is_prepared_ = true
- }
-}
-
-func initOrStitchToPreviousBlock(handle *hasherHandle, data []byte, mask uint, params *encoderParams, position uint, input_size uint, is_last bool) {
- var self hasherHandle
- hasherSetup(handle, params, data, position, input_size, is_last)
- self = *handle
- self.StitchToPreviousBlock(input_size, position, data, mask)
-}
diff --git a/vendor/github.com/andybalholm/brotli/hash_composite.go b/vendor/github.com/andybalholm/brotli/hash_composite.go
deleted file mode 100644
index a65fe2e6..00000000
--- a/vendor/github.com/andybalholm/brotli/hash_composite.go
+++ /dev/null
@@ -1,93 +0,0 @@
-package brotli
-
-/* Copyright 2018 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func (h *hashComposite) HashTypeLength() uint {
- var a uint = h.ha.HashTypeLength()
- var b uint = h.hb.HashTypeLength()
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func (h *hashComposite) StoreLookahead() uint {
- var a uint = h.ha.StoreLookahead()
- var b uint = h.hb.StoreLookahead()
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-/* Composite hasher: This hasher allows to combine two other hashers, HASHER_A
- and HASHER_B. */
-type hashComposite struct {
- hasherCommon
- ha hasherHandle
- hb hasherHandle
- params *encoderParams
-}
-
-func (h *hashComposite) Initialize(params *encoderParams) {
- h.params = params
-}
-
-/* TODO: Initialize of the hashers is defered to Prepare (and params
- remembered here) because we don't get the one_shot and input_size params
- here that are needed to know the memory size of them. Instead provide
- those params to all hashers InitializehashComposite */
-func (h *hashComposite) Prepare(one_shot bool, input_size uint, data []byte) {
- if h.ha == nil {
- var common_a *hasherCommon
- var common_b *hasherCommon
-
- common_a = h.ha.Common()
- common_a.params = h.params.hasher
- common_a.is_prepared_ = false
- common_a.dict_num_lookups = 0
- common_a.dict_num_matches = 0
- h.ha.Initialize(h.params)
-
- common_b = h.hb.Common()
- common_b.params = h.params.hasher
- common_b.is_prepared_ = false
- common_b.dict_num_lookups = 0
- common_b.dict_num_matches = 0
- h.hb.Initialize(h.params)
- }
-
- h.ha.Prepare(one_shot, input_size, data)
- h.hb.Prepare(one_shot, input_size, data)
-}
-
-func (h *hashComposite) Store(data []byte, mask uint, ix uint) {
- h.ha.Store(data, mask, ix)
- h.hb.Store(data, mask, ix)
-}
-
-func (h *hashComposite) StoreRange(data []byte, mask uint, ix_start uint, ix_end uint) {
- h.ha.StoreRange(data, mask, ix_start, ix_end)
- h.hb.StoreRange(data, mask, ix_start, ix_end)
-}
-
-func (h *hashComposite) StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ring_buffer_mask uint) {
- h.ha.StitchToPreviousBlock(num_bytes, position, ringbuffer, ring_buffer_mask)
- h.hb.StitchToPreviousBlock(num_bytes, position, ringbuffer, ring_buffer_mask)
-}
-
-func (h *hashComposite) PrepareDistanceCache(distance_cache []int) {
- h.ha.PrepareDistanceCache(distance_cache)
- h.hb.PrepareDistanceCache(distance_cache)
-}
-
-func (h *hashComposite) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- h.ha.FindLongestMatch(dictionary, data, ring_buffer_mask, distance_cache, cur_ix, max_length, max_backward, gap, max_distance, out)
- h.hb.FindLongestMatch(dictionary, data, ring_buffer_mask, distance_cache, cur_ix, max_length, max_backward, gap, max_distance, out)
-}
diff --git a/vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go b/vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go
deleted file mode 100644
index 306e46d3..00000000
--- a/vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go
+++ /dev/null
@@ -1,252 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func (*hashForgetfulChain) HashTypeLength() uint {
- return 4
-}
-
-func (*hashForgetfulChain) StoreLookahead() uint {
- return 4
-}
-
-/* HashBytes is the function that chooses the bucket to place the address in.*/
-func (h *hashForgetfulChain) HashBytes(data []byte) uint {
- var hash uint32 = binary.LittleEndian.Uint32(data) * kHashMul32
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return uint(hash >> (32 - h.bucketBits))
-}
-
-type slot struct {
- delta uint16
- next uint16
-}
-
-/* A (forgetful) hash table to the data seen by the compressor, to
- help create backward references to previous data.
-
- Hashes are stored in chains which are bucketed to groups. Group of chains
- share a storage "bank". When more than "bank size" chain nodes are added,
- oldest nodes are replaced; this way several chains may share a tail. */
-type hashForgetfulChain struct {
- hasherCommon
-
- bucketBits uint
- numBanks uint
- bankBits uint
- numLastDistancesToCheck int
-
- addr []uint32
- head []uint16
- tiny_hash [65536]byte
- banks [][]slot
- free_slot_idx []uint16
- max_hops uint
-}
-
-func (h *hashForgetfulChain) Initialize(params *encoderParams) {
- var q uint
- if params.quality > 6 {
- q = 7
- } else {
- q = 8
- }
- h.max_hops = q << uint(params.quality-4)
-
- bankSize := 1 << h.bankBits
- bucketSize := 1 << h.bucketBits
-
- h.addr = make([]uint32, bucketSize)
- h.head = make([]uint16, bucketSize)
- h.banks = make([][]slot, h.numBanks)
- for i := range h.banks {
- h.banks[i] = make([]slot, bankSize)
- }
- h.free_slot_idx = make([]uint16, h.numBanks)
-}
-
-func (h *hashForgetfulChain) Prepare(one_shot bool, input_size uint, data []byte) {
- var partial_prepare_threshold uint = (1 << h.bucketBits) >> 6
- /* Partial preparation is 100 times slower (per socket). */
- if one_shot && input_size <= partial_prepare_threshold {
- var i uint
- for i = 0; i < input_size; i++ {
- var bucket uint = h.HashBytes(data[i:])
-
- /* See InitEmpty comment. */
- h.addr[bucket] = 0xCCCCCCCC
-
- h.head[bucket] = 0xCCCC
- }
- } else {
- /* Fill |addr| array with 0xCCCCCCCC value. Because of wrapping, position
- processed by hasher never reaches 3GB + 64M; this makes all new chains
- to be terminated after the first node. */
- for i := range h.addr {
- h.addr[i] = 0xCCCCCCCC
- }
-
- for i := range h.head {
- h.head[i] = 0
- }
- }
-
- h.tiny_hash = [65536]byte{}
- for i := range h.free_slot_idx {
- h.free_slot_idx[i] = 0
- }
-}
-
-/* Look at 4 bytes at &data[ix & mask]. Compute a hash from these, and prepend
- node to corresponding chain; also update tiny_hash for current position. */
-func (h *hashForgetfulChain) Store(data []byte, mask uint, ix uint) {
- var key uint = h.HashBytes(data[ix&mask:])
- var bank uint = key & (h.numBanks - 1)
- idx := uint(h.free_slot_idx[bank]) & ((1 << h.bankBits) - 1)
- h.free_slot_idx[bank]++
- var delta uint = ix - uint(h.addr[key])
- h.tiny_hash[uint16(ix)] = byte(key)
- if delta > 0xFFFF {
- delta = 0xFFFF
- }
- h.banks[bank][idx].delta = uint16(delta)
- h.banks[bank][idx].next = h.head[key]
- h.addr[key] = uint32(ix)
- h.head[key] = uint16(idx)
-}
-
-func (h *hashForgetfulChain) StoreRange(data []byte, mask uint, ix_start uint, ix_end uint) {
- var i uint
- for i = ix_start; i < ix_end; i++ {
- h.Store(data, mask, i)
- }
-}
-
-func (h *hashForgetfulChain) StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ring_buffer_mask uint) {
- if num_bytes >= h.HashTypeLength()-1 && position >= 3 {
- /* Prepare the hashes for three last bytes of the last write.
- These could not be calculated before, since they require knowledge
- of both the previous and the current block. */
- h.Store(ringbuffer, ring_buffer_mask, position-3)
- h.Store(ringbuffer, ring_buffer_mask, position-2)
- h.Store(ringbuffer, ring_buffer_mask, position-1)
- }
-}
-
-func (h *hashForgetfulChain) PrepareDistanceCache(distance_cache []int) {
- prepareDistanceCache(distance_cache, h.numLastDistancesToCheck)
-}
-
-/* Find a longest backward match of &data[cur_ix] up to the length of
- max_length and stores the position cur_ix in the hash table.
-
- REQUIRES: PrepareDistanceCachehashForgetfulChain must be invoked for current distance cache
- values; if this method is invoked repeatedly with the same distance
- cache values, it is enough to invoke PrepareDistanceCachehashForgetfulChain once.
-
- Does not look for matches longer than max_length.
- Does not look for matches further away than max_backward.
- Writes the best match into |out|.
- |out|->score is updated only if a better match is found. */
-func (h *hashForgetfulChain) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var min_score uint = out.score
- var best_score uint = out.score
- var best_len uint = out.len
- var key uint = h.HashBytes(data[cur_ix_masked:])
- var tiny_hash byte = byte(key)
- /* Don't accept a short copy from far away. */
- out.len = 0
-
- out.len_code_delta = 0
-
- /* Try last distance first. */
- for i := 0; i < h.numLastDistancesToCheck; i++ {
- var backward uint = uint(distance_cache[i])
- var prev_ix uint = (cur_ix - backward)
-
- /* For distance code 0 we want to consider 2-byte matches. */
- if i > 0 && h.tiny_hash[uint16(prev_ix)] != tiny_hash {
- continue
- }
- if prev_ix >= cur_ix || backward > max_backward {
- continue
- }
-
- prev_ix &= ring_buffer_mask
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 2 {
- var score uint = backwardReferenceScoreUsingLastDistance(uint(len))
- if best_score < score {
- if i != 0 {
- score -= backwardReferencePenaltyUsingLastDistance(uint(i))
- }
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
- }
- {
- var bank uint = key & (h.numBanks - 1)
- var backward uint = 0
- var hops uint = h.max_hops
- var delta uint = cur_ix - uint(h.addr[key])
- var slot uint = uint(h.head[key])
- for {
- tmp6 := hops
- hops--
- if tmp6 == 0 {
- break
- }
- var prev_ix uint
- var last uint = slot
- backward += delta
- if backward > max_backward {
- break
- }
- prev_ix = (cur_ix - backward) & ring_buffer_mask
- slot = uint(h.banks[bank][last].next)
- delta = uint(h.banks[bank][last].delta)
- if cur_ix_masked+best_len > ring_buffer_mask || prev_ix+best_len > ring_buffer_mask || data[cur_ix_masked+best_len] != data[prev_ix+best_len] {
- continue
- }
- {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- /* Comparing for >= 3 does not change the semantics, but just saves
- for a few unnecessary binary logarithms in backward reference
- score, since we are not interested in such short matches. */
- var score uint = backwardReferenceScore(uint(len), backward)
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = best_score
- }
- }
- }
- }
-
- h.Store(data, ring_buffer_mask, cur_ix)
- }
-
- if out.score == min_score {
- searchInStaticDictionary(dictionary, h, data[cur_ix_masked:], max_length, max_backward+gap, max_distance, out, false)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go b/vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go
deleted file mode 100644
index 9375dc15..00000000
--- a/vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go
+++ /dev/null
@@ -1,214 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* For BUCKET_SWEEP == 1, enabling the dictionary lookup makes compression
- a little faster (0.5% - 1%) and it compresses 0.15% better on small text
- and HTML inputs. */
-
-func (*hashLongestMatchQuickly) HashTypeLength() uint {
- return 8
-}
-
-func (*hashLongestMatchQuickly) StoreLookahead() uint {
- return 8
-}
-
-/* HashBytes is the function that chooses the bucket to place
- the address in. The HashLongestMatch and hashLongestMatchQuickly
- classes have separate, different implementations of hashing. */
-func (h *hashLongestMatchQuickly) HashBytes(data []byte) uint32 {
- var hash uint64 = ((binary.LittleEndian.Uint64(data) << (64 - 8*h.hashLen)) * kHashMul64)
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return uint32(hash >> (64 - h.bucketBits))
-}
-
-/* A (forgetful) hash table to the data seen by the compressor, to
- help create backward references to previous data.
-
- This is a hash map of fixed size (1 << 16). Starting from the
- given index, 1 buckets are used to store values of a key. */
-type hashLongestMatchQuickly struct {
- hasherCommon
-
- bucketBits uint
- bucketSweep int
- hashLen uint
- useDictionary bool
-
- buckets []uint32
-}
-
-func (h *hashLongestMatchQuickly) Initialize(params *encoderParams) {
- h.buckets = make([]uint32, 1<> 7
- /* Partial preparation is 100 times slower (per socket). */
- if one_shot && input_size <= partial_prepare_threshold {
- var i uint
- for i = 0; i < input_size; i++ {
- var key uint32 = h.HashBytes(data[i:])
- for j := 0; j < h.bucketSweep; j++ {
- h.buckets[key+uint32(j)] = 0
- }
- }
- } else {
- /* It is not strictly necessary to fill this buffer here, but
- not filling will make the results of the compression stochastic
- (but correct). This is because random data would cause the
- system to find accidentally good backward references here and there. */
- for i := range h.buckets {
- h.buckets[i] = 0
- }
- }
-}
-
-/* Look at 5 bytes at &data[ix & mask].
- Compute a hash from these, and store the value somewhere within
- [ix .. ix+3]. */
-func (h *hashLongestMatchQuickly) Store(data []byte, mask uint, ix uint) {
- var key uint32 = h.HashBytes(data[ix&mask:])
- var off uint32 = uint32(ix>>3) % uint32(h.bucketSweep)
- /* Wiggle the value with the bucket sweep range. */
- h.buckets[key+off] = uint32(ix)
-}
-
-func (h *hashLongestMatchQuickly) StoreRange(data []byte, mask uint, ix_start uint, ix_end uint) {
- var i uint
- for i = ix_start; i < ix_end; i++ {
- h.Store(data, mask, i)
- }
-}
-
-func (h *hashLongestMatchQuickly) StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ringbuffer_mask uint) {
- if num_bytes >= h.HashTypeLength()-1 && position >= 3 {
- /* Prepare the hashes for three last bytes of the last write.
- These could not be calculated before, since they require knowledge
- of both the previous and the current block. */
- h.Store(ringbuffer, ringbuffer_mask, position-3)
- h.Store(ringbuffer, ringbuffer_mask, position-2)
- h.Store(ringbuffer, ringbuffer_mask, position-1)
- }
-}
-
-func (*hashLongestMatchQuickly) PrepareDistanceCache(distance_cache []int) {
-}
-
-/* Find a longest backward match of &data[cur_ix & ring_buffer_mask]
- up to the length of max_length and stores the position cur_ix in the
- hash table.
-
- Does not look for matches longer than max_length.
- Does not look for matches further away than max_backward.
- Writes the best match into |out|.
- |out|->score is updated only if a better match is found. */
-func (h *hashLongestMatchQuickly) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- var best_len_in uint = out.len
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var key uint32 = h.HashBytes(data[cur_ix_masked:])
- var compare_char int = int(data[cur_ix_masked+best_len_in])
- var min_score uint = out.score
- var best_score uint = out.score
- var best_len uint = best_len_in
- var cached_backward uint = uint(distance_cache[0])
- var prev_ix uint = cur_ix - cached_backward
- var bucket []uint32
- out.len_code_delta = 0
- if prev_ix < cur_ix {
- prev_ix &= uint(uint32(ring_buffer_mask))
- if compare_char == int(data[prev_ix+best_len]) {
- var len uint = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- var score uint = backwardReferenceScoreUsingLastDistance(uint(len))
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = uint(len)
- out.distance = cached_backward
- out.score = best_score
- compare_char = int(data[cur_ix_masked+best_len])
- if h.bucketSweep == 1 {
- h.buckets[key] = uint32(cur_ix)
- return
- }
- }
- }
- }
- }
-
- if h.bucketSweep == 1 {
- var backward uint
- var len uint
-
- /* Only one to look for, don't bother to prepare for a loop. */
- prev_ix = uint(h.buckets[key])
-
- h.buckets[key] = uint32(cur_ix)
- backward = cur_ix - prev_ix
- prev_ix &= uint(uint32(ring_buffer_mask))
- if compare_char != int(data[prev_ix+best_len_in]) {
- return
- }
-
- if backward == 0 || backward > max_backward {
- return
- }
-
- len = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- var score uint = backwardReferenceScore(uint(len), backward)
- if best_score < score {
- out.len = uint(len)
- out.distance = backward
- out.score = score
- return
- }
- }
- } else {
- bucket = h.buckets[key:]
- var i int
- prev_ix = uint(bucket[0])
- bucket = bucket[1:]
- for i = 0; i < h.bucketSweep; (func() { i++; tmp3 := bucket; bucket = bucket[1:]; prev_ix = uint(tmp3[0]) })() {
- var backward uint = cur_ix - prev_ix
- var len uint
- prev_ix &= uint(uint32(ring_buffer_mask))
- if compare_char != int(data[prev_ix+best_len]) {
- continue
- }
-
- if backward == 0 || backward > max_backward {
- continue
- }
-
- len = findMatchLengthWithLimit(data[prev_ix:], data[cur_ix_masked:], max_length)
- if len >= 4 {
- var score uint = backwardReferenceScore(uint(len), backward)
- if best_score < score {
- best_score = score
- best_len = uint(len)
- out.len = best_len
- out.distance = backward
- out.score = score
- compare_char = int(data[cur_ix_masked+best_len])
- }
- }
- }
- }
-
- if h.useDictionary && min_score == out.score {
- searchInStaticDictionary(dictionary, h, data[cur_ix_masked:], max_length, max_backward+gap, max_distance, out, true)
- }
-
- h.buckets[key+uint32((cur_ix>>3)%uint(h.bucketSweep))] = uint32(cur_ix)
-}
diff --git a/vendor/github.com/andybalholm/brotli/hash_rolling.go b/vendor/github.com/andybalholm/brotli/hash_rolling.go
deleted file mode 100644
index 6630fc07..00000000
--- a/vendor/github.com/andybalholm/brotli/hash_rolling.go
+++ /dev/null
@@ -1,168 +0,0 @@
-package brotli
-
-/* Copyright 2018 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* NOTE: this hasher does not search in the dictionary. It is used as
- backup-hasher, the main hasher already searches in it. */
-
-const kRollingHashMul32 uint32 = 69069
-
-const kInvalidPosHashRolling uint32 = 0xffffffff
-
-/* This hasher uses a longer forward length, but returning a higher value here
- will hurt compression by the main hasher when combined with a composite
- hasher. The hasher tests for forward itself instead. */
-func (*hashRolling) HashTypeLength() uint {
- return 4
-}
-
-func (*hashRolling) StoreLookahead() uint {
- return 4
-}
-
-/* Computes a code from a single byte. A lookup table of 256 values could be
- used, but simply adding 1 works about as good. */
-func (*hashRolling) HashByte(b byte) uint32 {
- return uint32(b) + 1
-}
-
-func (h *hashRolling) HashRollingFunctionInitial(state uint32, add byte, factor uint32) uint32 {
- return uint32(factor*state + h.HashByte(add))
-}
-
-func (h *hashRolling) HashRollingFunction(state uint32, add byte, rem byte, factor uint32, factor_remove uint32) uint32 {
- return uint32(factor*state + h.HashByte(add) - factor_remove*h.HashByte(rem))
-}
-
-/* Rolling hash for long distance long string matches. Stores one position
- per bucket, bucket key is computed over a long region. */
-type hashRolling struct {
- hasherCommon
-
- jump int
-
- state uint32
- table []uint32
- next_ix uint
- factor uint32
- factor_remove uint32
-}
-
-func (h *hashRolling) Initialize(params *encoderParams) {
- h.state = 0
- h.next_ix = 0
-
- h.factor = kRollingHashMul32
-
- /* Compute the factor of the oldest byte to remove: factor**steps modulo
- 0xffffffff (the multiplications rely on 32-bit overflow) */
- h.factor_remove = 1
-
- for i := 0; i < 32; i += h.jump {
- h.factor_remove *= h.factor
- }
-
- h.table = make([]uint32, 16777216)
- for i := 0; i < 16777216; i++ {
- h.table[i] = kInvalidPosHashRolling
- }
-}
-
-func (h *hashRolling) Prepare(one_shot bool, input_size uint, data []byte) {
- /* Too small size, cannot use this hasher. */
- if input_size < 32 {
- return
- }
- h.state = 0
- for i := 0; i < 32; i += h.jump {
- h.state = h.HashRollingFunctionInitial(h.state, data[i], h.factor)
- }
-}
-
-func (*hashRolling) Store(data []byte, mask uint, ix uint) {
-}
-
-func (*hashRolling) StoreRange(data []byte, mask uint, ix_start uint, ix_end uint) {
-}
-
-func (h *hashRolling) StitchToPreviousBlock(num_bytes uint, position uint, ringbuffer []byte, ring_buffer_mask uint) {
- var position_masked uint
- /* In this case we must re-initialize the hasher from scratch from the
- current position. */
-
- var available uint = num_bytes
- if position&uint(h.jump-1) != 0 {
- var diff uint = uint(h.jump) - (position & uint(h.jump-1))
- if diff > available {
- available = 0
- } else {
- available = available - diff
- }
- position += diff
- }
-
- position_masked = position & ring_buffer_mask
-
- /* wrapping around ringbuffer not handled. */
- if available > ring_buffer_mask-position_masked {
- available = ring_buffer_mask - position_masked
- }
-
- h.Prepare(false, available, ringbuffer[position&ring_buffer_mask:])
- h.next_ix = position
-}
-
-func (*hashRolling) PrepareDistanceCache(distance_cache []int) {
-}
-
-func (h *hashRolling) FindLongestMatch(dictionary *encoderDictionary, data []byte, ring_buffer_mask uint, distance_cache []int, cur_ix uint, max_length uint, max_backward uint, gap uint, max_distance uint, out *hasherSearchResult) {
- var cur_ix_masked uint = cur_ix & ring_buffer_mask
- var pos uint = h.next_ix
-
- if cur_ix&uint(h.jump-1) != 0 {
- return
- }
-
- /* Not enough lookahead */
- if max_length < 32 {
- return
- }
-
- for pos = h.next_ix; pos <= cur_ix; pos += uint(h.jump) {
- var code uint32 = h.state & ((16777216 * 64) - 1)
- var rem byte = data[pos&ring_buffer_mask]
- var add byte = data[(pos+32)&ring_buffer_mask]
- var found_ix uint = uint(kInvalidPosHashRolling)
-
- h.state = h.HashRollingFunction(h.state, add, rem, h.factor, h.factor_remove)
-
- if code < 16777216 {
- found_ix = uint(h.table[code])
- h.table[code] = uint32(pos)
- if pos == cur_ix && uint32(found_ix) != kInvalidPosHashRolling {
- /* The cast to 32-bit makes backward distances up to 4GB work even
- if cur_ix is above 4GB, despite using 32-bit values in the table. */
- var backward uint = uint(uint32(cur_ix - found_ix))
- if backward <= max_backward {
- var found_ix_masked uint = found_ix & ring_buffer_mask
- var len uint = findMatchLengthWithLimit(data[found_ix_masked:], data[cur_ix_masked:], max_length)
- if len >= 4 && len > out.len {
- var score uint = backwardReferenceScore(uint(len), backward)
- if score > out.score {
- out.len = uint(len)
- out.distance = backward
- out.score = score
- out.len_code_delta = 0
- }
- }
- }
- }
- }
- }
-
- h.next_ix = cur_ix + uint(h.jump)
-}
diff --git a/vendor/github.com/andybalholm/brotli/histogram.go b/vendor/github.com/andybalholm/brotli/histogram.go
deleted file mode 100644
index 0346622b..00000000
--- a/vendor/github.com/andybalholm/brotli/histogram.go
+++ /dev/null
@@ -1,226 +0,0 @@
-package brotli
-
-import "math"
-
-/* The distance symbols effectively used by "Large Window Brotli" (32-bit). */
-const numHistogramDistanceSymbols = 544
-
-type histogramLiteral struct {
- data_ [numLiteralSymbols]uint32
- total_count_ uint
- bit_cost_ float64
-}
-
-func histogramClearLiteral(self *histogramLiteral) {
- self.data_ = [numLiteralSymbols]uint32{}
- self.total_count_ = 0
- self.bit_cost_ = math.MaxFloat64
-}
-
-func clearHistogramsLiteral(array []histogramLiteral, length uint) {
- var i uint
- for i = 0; i < length; i++ {
- histogramClearLiteral(&array[i:][0])
- }
-}
-
-func histogramAddLiteral(self *histogramLiteral, val uint) {
- self.data_[val]++
- self.total_count_++
-}
-
-func histogramAddVectorLiteral(self *histogramLiteral, p []byte, n uint) {
- self.total_count_ += n
- n += 1
- for {
- n--
- if n == 0 {
- break
- }
- self.data_[p[0]]++
- p = p[1:]
- }
-}
-
-func histogramAddHistogramLiteral(self *histogramLiteral, v *histogramLiteral) {
- var i uint
- self.total_count_ += v.total_count_
- for i = 0; i < numLiteralSymbols; i++ {
- self.data_[i] += v.data_[i]
- }
-}
-
-func histogramDataSizeLiteral() uint {
- return numLiteralSymbols
-}
-
-type histogramCommand struct {
- data_ [numCommandSymbols]uint32
- total_count_ uint
- bit_cost_ float64
-}
-
-func histogramClearCommand(self *histogramCommand) {
- self.data_ = [numCommandSymbols]uint32{}
- self.total_count_ = 0
- self.bit_cost_ = math.MaxFloat64
-}
-
-func clearHistogramsCommand(array []histogramCommand, length uint) {
- var i uint
- for i = 0; i < length; i++ {
- histogramClearCommand(&array[i:][0])
- }
-}
-
-func histogramAddCommand(self *histogramCommand, val uint) {
- self.data_[val]++
- self.total_count_++
-}
-
-func histogramAddVectorCommand(self *histogramCommand, p []uint16, n uint) {
- self.total_count_ += n
- n += 1
- for {
- n--
- if n == 0 {
- break
- }
- self.data_[p[0]]++
- p = p[1:]
- }
-}
-
-func histogramAddHistogramCommand(self *histogramCommand, v *histogramCommand) {
- var i uint
- self.total_count_ += v.total_count_
- for i = 0; i < numCommandSymbols; i++ {
- self.data_[i] += v.data_[i]
- }
-}
-
-func histogramDataSizeCommand() uint {
- return numCommandSymbols
-}
-
-type histogramDistance struct {
- data_ [numDistanceSymbols]uint32
- total_count_ uint
- bit_cost_ float64
-}
-
-func histogramClearDistance(self *histogramDistance) {
- self.data_ = [numDistanceSymbols]uint32{}
- self.total_count_ = 0
- self.bit_cost_ = math.MaxFloat64
-}
-
-func clearHistogramsDistance(array []histogramDistance, length uint) {
- var i uint
- for i = 0; i < length; i++ {
- histogramClearDistance(&array[i:][0])
- }
-}
-
-func histogramAddDistance(self *histogramDistance, val uint) {
- self.data_[val]++
- self.total_count_++
-}
-
-func histogramAddVectorDistance(self *histogramDistance, p []uint16, n uint) {
- self.total_count_ += n
- n += 1
- for {
- n--
- if n == 0 {
- break
- }
- self.data_[p[0]]++
- p = p[1:]
- }
-}
-
-func histogramAddHistogramDistance(self *histogramDistance, v *histogramDistance) {
- var i uint
- self.total_count_ += v.total_count_
- for i = 0; i < numDistanceSymbols; i++ {
- self.data_[i] += v.data_[i]
- }
-}
-
-func histogramDataSizeDistance() uint {
- return numDistanceSymbols
-}
-
-type blockSplitIterator struct {
- split_ *blockSplit
- idx_ uint
- type_ uint
- length_ uint
-}
-
-func initBlockSplitIterator(self *blockSplitIterator, split *blockSplit) {
- self.split_ = split
- self.idx_ = 0
- self.type_ = 0
- if len(split.lengths) > 0 {
- self.length_ = uint(split.lengths[0])
- } else {
- self.length_ = 0
- }
-}
-
-func blockSplitIteratorNext(self *blockSplitIterator) {
- if self.length_ == 0 {
- self.idx_++
- self.type_ = uint(self.split_.types[self.idx_])
- self.length_ = uint(self.split_.lengths[self.idx_])
- }
-
- self.length_--
-}
-
-func buildHistogramsWithContext(cmds []command, literal_split *blockSplit, insert_and_copy_split *blockSplit, dist_split *blockSplit, ringbuffer []byte, start_pos uint, mask uint, prev_byte byte, prev_byte2 byte, context_modes []int, literal_histograms []histogramLiteral, insert_and_copy_histograms []histogramCommand, copy_dist_histograms []histogramDistance) {
- var pos uint = start_pos
- var literal_it blockSplitIterator
- var insert_and_copy_it blockSplitIterator
- var dist_it blockSplitIterator
-
- initBlockSplitIterator(&literal_it, literal_split)
- initBlockSplitIterator(&insert_and_copy_it, insert_and_copy_split)
- initBlockSplitIterator(&dist_it, dist_split)
- for i := range cmds {
- var cmd *command = &cmds[i]
- var j uint
- blockSplitIteratorNext(&insert_and_copy_it)
- histogramAddCommand(&insert_and_copy_histograms[insert_and_copy_it.type_], uint(cmd.cmd_prefix_))
-
- /* TODO: unwrap iterator blocks. */
- for j = uint(cmd.insert_len_); j != 0; j-- {
- var context uint
- blockSplitIteratorNext(&literal_it)
- context = literal_it.type_
- if context_modes != nil {
- var lut contextLUT = getContextLUT(context_modes[context])
- context = (context << literalContextBits) + uint(getContext(prev_byte, prev_byte2, lut))
- }
-
- histogramAddLiteral(&literal_histograms[context], uint(ringbuffer[pos&mask]))
- prev_byte2 = prev_byte
- prev_byte = ringbuffer[pos&mask]
- pos++
- }
-
- pos += uint(commandCopyLen(cmd))
- if commandCopyLen(cmd) != 0 {
- prev_byte2 = ringbuffer[(pos-2)&mask]
- prev_byte = ringbuffer[(pos-1)&mask]
- if cmd.cmd_prefix_ >= 128 {
- var context uint
- blockSplitIteratorNext(&dist_it)
- context = uint(uint32(dist_it.type_< bestQ &&
- (spec.Value == "*" || spec.Value == offer) {
- bestQ = spec.Q
- bestOffer = offer
- }
- }
- }
- if bestQ == 0 {
- bestOffer = ""
- }
- return bestOffer
-}
-
-// acceptSpec describes an Accept* header.
-type acceptSpec struct {
- Value string
- Q float64
-}
-
-// parseAccept parses Accept* headers.
-func parseAccept(header http.Header, key string) (specs []acceptSpec) {
-loop:
- for _, s := range header[key] {
- for {
- var spec acceptSpec
- spec.Value, s = expectTokenSlash(s)
- if spec.Value == "" {
- continue loop
- }
- spec.Q = 1.0
- s = skipSpace(s)
- if strings.HasPrefix(s, ";") {
- s = skipSpace(s[1:])
- if !strings.HasPrefix(s, "q=") {
- continue loop
- }
- spec.Q, s = expectQuality(s[2:])
- if spec.Q < 0.0 {
- continue loop
- }
- }
- specs = append(specs, spec)
- s = skipSpace(s)
- if !strings.HasPrefix(s, ",") {
- continue loop
- }
- s = skipSpace(s[1:])
- }
- }
- return
-}
-
-func skipSpace(s string) (rest string) {
- i := 0
- for ; i < len(s); i++ {
- if octetTypes[s[i]]&isSpace == 0 {
- break
- }
- }
- return s[i:]
-}
-
-func expectTokenSlash(s string) (token, rest string) {
- i := 0
- for ; i < len(s); i++ {
- b := s[i]
- if (octetTypes[b]&isToken == 0) && b != '/' {
- break
- }
- }
- return s[:i], s[i:]
-}
-
-func expectQuality(s string) (q float64, rest string) {
- switch {
- case len(s) == 0:
- return -1, ""
- case s[0] == '0':
- q = 0
- case s[0] == '1':
- q = 1
- default:
- return -1, ""
- }
- s = s[1:]
- if !strings.HasPrefix(s, ".") {
- return q, s
- }
- s = s[1:]
- i := 0
- n := 0
- d := 1
- for ; i < len(s); i++ {
- b := s[i]
- if b < '0' || b > '9' {
- break
- }
- n = n*10 + int(b) - '0'
- d *= 10
- }
- return q + float64(n)/float64(d), s[i:]
-}
-
-// Octet types from RFC 2616.
-var octetTypes [256]octetType
-
-type octetType byte
-
-const (
- isToken octetType = 1 << iota
- isSpace
-)
-
-func init() {
- // OCTET =
- // CHAR =
- // CTL =
- // CR =
- // LF =
- // SP =
- // HT =
- // <"> =
- // CRLF = CR LF
- // LWS = [CRLF] 1*( SP | HT )
- // TEXT =
- // separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <">
- // | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT
- // token = 1*
- // qdtext = >
-
- for c := 0; c < 256; c++ {
- var t octetType
- isCtl := c <= 31 || c == 127
- isChar := 0 <= c && c <= 127
- isSeparator := strings.ContainsRune(" \t\"(),/:;<=>?@[]\\{}", rune(c))
- if strings.ContainsRune(" \t\r\n", rune(c)) {
- t |= isSpace
- }
- if isChar && !isCtl && !isSeparator {
- t |= isToken
- }
- octetTypes[c] = t
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/huffman.go b/vendor/github.com/andybalholm/brotli/huffman.go
deleted file mode 100644
index 182f3d2a..00000000
--- a/vendor/github.com/andybalholm/brotli/huffman.go
+++ /dev/null
@@ -1,653 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Utilities for building Huffman decoding tables. */
-
-const huffmanMaxCodeLength = 15
-
-/* Maximum possible Huffman table size for an alphabet size of (index * 32),
- max code length 15 and root table bits 8. */
-var kMaxHuffmanTableSize = []uint16{
- 256,
- 402,
- 436,
- 468,
- 500,
- 534,
- 566,
- 598,
- 630,
- 662,
- 694,
- 726,
- 758,
- 790,
- 822,
- 854,
- 886,
- 920,
- 952,
- 984,
- 1016,
- 1048,
- 1080,
- 1112,
- 1144,
- 1176,
- 1208,
- 1240,
- 1272,
- 1304,
- 1336,
- 1368,
- 1400,
- 1432,
- 1464,
- 1496,
- 1528,
-}
-
-/* BROTLI_NUM_BLOCK_LEN_SYMBOLS == 26 */
-const huffmanMaxSize26 = 396
-
-/* BROTLI_MAX_BLOCK_TYPE_SYMBOLS == 258 */
-const huffmanMaxSize258 = 632
-
-/* BROTLI_MAX_CONTEXT_MAP_SYMBOLS == 272 */
-const huffmanMaxSize272 = 646
-
-const huffmanMaxCodeLengthCodeLength = 5
-
-/* Do not create this struct directly - use the ConstructHuffmanCode
- * constructor below! */
-type huffmanCode struct {
- bits byte
- value uint16
-}
-
-func constructHuffmanCode(bits byte, value uint16) huffmanCode {
- var h huffmanCode
- h.bits = bits
- h.value = value
- return h
-}
-
-/* Builds Huffman lookup table assuming code lengths are in symbol order. */
-
-/* Builds Huffman lookup table assuming code lengths are in symbol order.
- Returns size of resulting table. */
-
-/* Builds a simple Huffman table. The |num_symbols| parameter is to be
- interpreted as follows: 0 means 1 symbol, 1 means 2 symbols,
- 2 means 3 symbols, 3 means 4 symbols with lengths [2, 2, 2, 2],
- 4 means 4 symbols with lengths [1, 2, 3, 3]. */
-
-/* Contains a collection of Huffman trees with the same alphabet size. */
-/* max_symbol is needed due to simple codes since log2(alphabet_size) could be
- greater than log2(max_symbol). */
-type huffmanTreeGroup struct {
- htrees [][]huffmanCode
- codes []huffmanCode
- alphabet_size uint16
- max_symbol uint16
- num_htrees uint16
-}
-
-const reverseBitsMax = 8
-
-const reverseBitsBase = 0
-
-var kReverseBits = [1 << reverseBitsMax]byte{
- 0x00,
- 0x80,
- 0x40,
- 0xC0,
- 0x20,
- 0xA0,
- 0x60,
- 0xE0,
- 0x10,
- 0x90,
- 0x50,
- 0xD0,
- 0x30,
- 0xB0,
- 0x70,
- 0xF0,
- 0x08,
- 0x88,
- 0x48,
- 0xC8,
- 0x28,
- 0xA8,
- 0x68,
- 0xE8,
- 0x18,
- 0x98,
- 0x58,
- 0xD8,
- 0x38,
- 0xB8,
- 0x78,
- 0xF8,
- 0x04,
- 0x84,
- 0x44,
- 0xC4,
- 0x24,
- 0xA4,
- 0x64,
- 0xE4,
- 0x14,
- 0x94,
- 0x54,
- 0xD4,
- 0x34,
- 0xB4,
- 0x74,
- 0xF4,
- 0x0C,
- 0x8C,
- 0x4C,
- 0xCC,
- 0x2C,
- 0xAC,
- 0x6C,
- 0xEC,
- 0x1C,
- 0x9C,
- 0x5C,
- 0xDC,
- 0x3C,
- 0xBC,
- 0x7C,
- 0xFC,
- 0x02,
- 0x82,
- 0x42,
- 0xC2,
- 0x22,
- 0xA2,
- 0x62,
- 0xE2,
- 0x12,
- 0x92,
- 0x52,
- 0xD2,
- 0x32,
- 0xB2,
- 0x72,
- 0xF2,
- 0x0A,
- 0x8A,
- 0x4A,
- 0xCA,
- 0x2A,
- 0xAA,
- 0x6A,
- 0xEA,
- 0x1A,
- 0x9A,
- 0x5A,
- 0xDA,
- 0x3A,
- 0xBA,
- 0x7A,
- 0xFA,
- 0x06,
- 0x86,
- 0x46,
- 0xC6,
- 0x26,
- 0xA6,
- 0x66,
- 0xE6,
- 0x16,
- 0x96,
- 0x56,
- 0xD6,
- 0x36,
- 0xB6,
- 0x76,
- 0xF6,
- 0x0E,
- 0x8E,
- 0x4E,
- 0xCE,
- 0x2E,
- 0xAE,
- 0x6E,
- 0xEE,
- 0x1E,
- 0x9E,
- 0x5E,
- 0xDE,
- 0x3E,
- 0xBE,
- 0x7E,
- 0xFE,
- 0x01,
- 0x81,
- 0x41,
- 0xC1,
- 0x21,
- 0xA1,
- 0x61,
- 0xE1,
- 0x11,
- 0x91,
- 0x51,
- 0xD1,
- 0x31,
- 0xB1,
- 0x71,
- 0xF1,
- 0x09,
- 0x89,
- 0x49,
- 0xC9,
- 0x29,
- 0xA9,
- 0x69,
- 0xE9,
- 0x19,
- 0x99,
- 0x59,
- 0xD9,
- 0x39,
- 0xB9,
- 0x79,
- 0xF9,
- 0x05,
- 0x85,
- 0x45,
- 0xC5,
- 0x25,
- 0xA5,
- 0x65,
- 0xE5,
- 0x15,
- 0x95,
- 0x55,
- 0xD5,
- 0x35,
- 0xB5,
- 0x75,
- 0xF5,
- 0x0D,
- 0x8D,
- 0x4D,
- 0xCD,
- 0x2D,
- 0xAD,
- 0x6D,
- 0xED,
- 0x1D,
- 0x9D,
- 0x5D,
- 0xDD,
- 0x3D,
- 0xBD,
- 0x7D,
- 0xFD,
- 0x03,
- 0x83,
- 0x43,
- 0xC3,
- 0x23,
- 0xA3,
- 0x63,
- 0xE3,
- 0x13,
- 0x93,
- 0x53,
- 0xD3,
- 0x33,
- 0xB3,
- 0x73,
- 0xF3,
- 0x0B,
- 0x8B,
- 0x4B,
- 0xCB,
- 0x2B,
- 0xAB,
- 0x6B,
- 0xEB,
- 0x1B,
- 0x9B,
- 0x5B,
- 0xDB,
- 0x3B,
- 0xBB,
- 0x7B,
- 0xFB,
- 0x07,
- 0x87,
- 0x47,
- 0xC7,
- 0x27,
- 0xA7,
- 0x67,
- 0xE7,
- 0x17,
- 0x97,
- 0x57,
- 0xD7,
- 0x37,
- 0xB7,
- 0x77,
- 0xF7,
- 0x0F,
- 0x8F,
- 0x4F,
- 0xCF,
- 0x2F,
- 0xAF,
- 0x6F,
- 0xEF,
- 0x1F,
- 0x9F,
- 0x5F,
- 0xDF,
- 0x3F,
- 0xBF,
- 0x7F,
- 0xFF,
-}
-
-const reverseBitsLowest = (uint64(1) << (reverseBitsMax - 1 + reverseBitsBase))
-
-/* Returns reverse(num >> BROTLI_REVERSE_BITS_BASE, BROTLI_REVERSE_BITS_MAX),
- where reverse(value, len) is the bit-wise reversal of the len least
- significant bits of value. */
-func reverseBits8(num uint64) uint64 {
- return uint64(kReverseBits[num])
-}
-
-/* Stores code in table[0], table[step], table[2*step], ..., table[end] */
-/* Assumes that end is an integer multiple of step */
-func replicateValue(table []huffmanCode, step int, end int, code huffmanCode) {
- for {
- end -= step
- table[end] = code
- if end <= 0 {
- break
- }
- }
-}
-
-/* Returns the table width of the next 2nd level table. |count| is the histogram
- of bit lengths for the remaining symbols, |len| is the code length of the
- next processed symbol. */
-func nextTableBitSize(count []uint16, len int, root_bits int) int {
- var left int = 1 << uint(len-root_bits)
- for len < huffmanMaxCodeLength {
- left -= int(count[len])
- if left <= 0 {
- break
- }
- len++
- left <<= 1
- }
-
- return len - root_bits
-}
-
-func buildCodeLengthsHuffmanTable(table []huffmanCode, code_lengths []byte, count []uint16) {
- var code huffmanCode /* current table entry */ /* symbol index in original or sorted table */ /* prefix code */ /* prefix code addend */ /* step size to replicate values in current table */ /* size of current table */ /* symbols sorted by code length */
- var symbol int
- var key uint64
- var key_step uint64
- var step int
- var table_size int
- var sorted [codeLengthCodes]int
- var offset [huffmanMaxCodeLengthCodeLength + 1]int
- var bits int
- var bits_count int
- /* offsets in sorted table for each length */
- assert(huffmanMaxCodeLengthCodeLength <= reverseBitsMax)
-
- /* Generate offsets into sorted symbol table by code length. */
- symbol = -1
-
- bits = 1
- var i int
- for i = 0; i < huffmanMaxCodeLengthCodeLength; i++ {
- symbol += int(count[bits])
- offset[bits] = symbol
- bits++
- }
-
- /* Symbols with code length 0 are placed after all other symbols. */
- offset[0] = codeLengthCodes - 1
-
- /* Sort symbols by length, by symbol order within each length. */
- symbol = codeLengthCodes
-
- for {
- var i int
- for i = 0; i < 6; i++ {
- symbol--
- sorted[offset[code_lengths[symbol]]] = symbol
- offset[code_lengths[symbol]]--
- }
- if symbol == 0 {
- break
- }
- }
-
- table_size = 1 << huffmanMaxCodeLengthCodeLength
-
- /* Special case: all symbols but one have 0 code length. */
- if offset[0] == 0 {
- code = constructHuffmanCode(0, uint16(sorted[0]))
- for key = 0; key < uint64(table_size); key++ {
- table[key] = code
- }
-
- return
- }
-
- /* Fill in table. */
- key = 0
-
- key_step = reverseBitsLowest
- symbol = 0
- bits = 1
- step = 2
- for {
- for bits_count = int(count[bits]); bits_count != 0; bits_count-- {
- code = constructHuffmanCode(byte(bits), uint16(sorted[symbol]))
- symbol++
- replicateValue(table[reverseBits8(key):], step, table_size, code)
- key += key_step
- }
-
- step <<= 1
- key_step >>= 1
- bits++
- if bits > huffmanMaxCodeLengthCodeLength {
- break
- }
- }
-}
-
-func buildHuffmanTable(root_table []huffmanCode, root_bits int, symbol_lists symbolList, count []uint16) uint32 {
- var code huffmanCode /* current table entry */ /* next available space in table */ /* current code length */ /* symbol index in original or sorted table */ /* prefix code */ /* prefix code addend */ /* 2nd level table prefix code */ /* 2nd level table prefix code addend */ /* step size to replicate values in current table */ /* key length of current table */ /* size of current table */ /* sum of root table size and 2nd level table sizes */
- var table []huffmanCode
- var len int
- var symbol int
- var key uint64
- var key_step uint64
- var sub_key uint64
- var sub_key_step uint64
- var step int
- var table_bits int
- var table_size int
- var total_size int
- var max_length int = -1
- var bits int
- var bits_count int
-
- assert(root_bits <= reverseBitsMax)
- assert(huffmanMaxCodeLength-root_bits <= reverseBitsMax)
-
- for symbolListGet(symbol_lists, max_length) == 0xFFFF {
- max_length--
- }
- max_length += huffmanMaxCodeLength + 1
-
- table = root_table
- table_bits = root_bits
- table_size = 1 << uint(table_bits)
- total_size = table_size
-
- /* Fill in the root table. Reduce the table size to if possible,
- and create the repetitions by memcpy. */
- if table_bits > max_length {
- table_bits = max_length
- table_size = 1 << uint(table_bits)
- }
-
- key = 0
- key_step = reverseBitsLowest
- bits = 1
- step = 2
- for {
- symbol = bits - (huffmanMaxCodeLength + 1)
- for bits_count = int(count[bits]); bits_count != 0; bits_count-- {
- symbol = int(symbolListGet(symbol_lists, symbol))
- code = constructHuffmanCode(byte(bits), uint16(symbol))
- replicateValue(table[reverseBits8(key):], step, table_size, code)
- key += key_step
- }
-
- step <<= 1
- key_step >>= 1
- bits++
- if bits > table_bits {
- break
- }
- }
-
- /* If root_bits != table_bits then replicate to fill the remaining slots. */
- for total_size != table_size {
- copy(table[table_size:], table[:uint(table_size)])
- table_size <<= 1
- }
-
- /* Fill in 2nd level tables and add pointers to root table. */
- key_step = reverseBitsLowest >> uint(root_bits-1)
-
- sub_key = reverseBitsLowest << 1
- sub_key_step = reverseBitsLowest
- len = root_bits + 1
- step = 2
- for ; len <= max_length; len++ {
- symbol = len - (huffmanMaxCodeLength + 1)
- for ; count[len] != 0; count[len]-- {
- if sub_key == reverseBitsLowest<<1 {
- table = table[table_size:]
- table_bits = nextTableBitSize(count, int(len), root_bits)
- table_size = 1 << uint(table_bits)
- total_size += table_size
- sub_key = reverseBits8(key)
- key += key_step
- root_table[sub_key] = constructHuffmanCode(byte(table_bits+root_bits), uint16(uint64(uint(-cap(table)+cap(root_table)))-sub_key))
- sub_key = 0
- }
-
- symbol = int(symbolListGet(symbol_lists, symbol))
- code = constructHuffmanCode(byte(len-root_bits), uint16(symbol))
- replicateValue(table[reverseBits8(sub_key):], step, table_size, code)
- sub_key += sub_key_step
- }
-
- step <<= 1
- sub_key_step >>= 1
- }
-
- return uint32(total_size)
-}
-
-func buildSimpleHuffmanTable(table []huffmanCode, root_bits int, val []uint16, num_symbols uint32) uint32 {
- var table_size uint32 = 1
- var goal_size uint32 = 1 << uint(root_bits)
- switch num_symbols {
- case 0:
- table[0] = constructHuffmanCode(0, val[0])
-
- case 1:
- if val[1] > val[0] {
- table[0] = constructHuffmanCode(1, val[0])
- table[1] = constructHuffmanCode(1, val[1])
- } else {
- table[0] = constructHuffmanCode(1, val[1])
- table[1] = constructHuffmanCode(1, val[0])
- }
-
- table_size = 2
-
- case 2:
- table[0] = constructHuffmanCode(1, val[0])
- table[2] = constructHuffmanCode(1, val[0])
- if val[2] > val[1] {
- table[1] = constructHuffmanCode(2, val[1])
- table[3] = constructHuffmanCode(2, val[2])
- } else {
- table[1] = constructHuffmanCode(2, val[2])
- table[3] = constructHuffmanCode(2, val[1])
- }
-
- table_size = 4
-
- case 3:
- var i int
- var k int
- for i = 0; i < 3; i++ {
- for k = i + 1; k < 4; k++ {
- if val[k] < val[i] {
- var t uint16 = val[k]
- val[k] = val[i]
- val[i] = t
- }
- }
- }
-
- table[0] = constructHuffmanCode(2, val[0])
- table[2] = constructHuffmanCode(2, val[1])
- table[1] = constructHuffmanCode(2, val[2])
- table[3] = constructHuffmanCode(2, val[3])
- table_size = 4
-
- case 4:
- if val[3] < val[2] {
- var t uint16 = val[3]
- val[3] = val[2]
- val[2] = t
- }
-
- table[0] = constructHuffmanCode(1, val[0])
- table[1] = constructHuffmanCode(2, val[1])
- table[2] = constructHuffmanCode(1, val[0])
- table[3] = constructHuffmanCode(3, val[2])
- table[4] = constructHuffmanCode(1, val[0])
- table[5] = constructHuffmanCode(2, val[1])
- table[6] = constructHuffmanCode(1, val[0])
- table[7] = constructHuffmanCode(3, val[3])
- table_size = 8
- }
-
- for table_size != goal_size {
- copy(table[table_size:], table[:uint(table_size)])
- table_size <<= 1
- }
-
- return goal_size
-}
diff --git a/vendor/github.com/andybalholm/brotli/literal_cost.go b/vendor/github.com/andybalholm/brotli/literal_cost.go
deleted file mode 100644
index 5a9ace94..00000000
--- a/vendor/github.com/andybalholm/brotli/literal_cost.go
+++ /dev/null
@@ -1,182 +0,0 @@
-package brotli
-
-func utf8Position(last uint, c uint, clamp uint) uint {
- if c < 128 {
- return 0 /* Next one is the 'Byte 1' again. */
- } else if c >= 192 { /* Next one is the 'Byte 2' of utf-8 encoding. */
- return brotli_min_size_t(1, clamp)
- } else {
- /* Let's decide over the last byte if this ends the sequence. */
- if last < 0xE0 {
- return 0 /* Completed two or three byte coding. */ /* Next one is the 'Byte 3' of utf-8 encoding. */
- } else {
- return brotli_min_size_t(2, clamp)
- }
- }
-}
-
-func decideMultiByteStatsLevel(pos uint, len uint, mask uint, data []byte) uint {
- var counts = [3]uint{0} /* should be 2, but 1 compresses better. */
- var max_utf8 uint = 1
- var last_c uint = 0
- var i uint
- for i = 0; i < len; i++ {
- var c uint = uint(data[(pos+i)&mask])
- counts[utf8Position(last_c, c, 2)]++
- last_c = c
- }
-
- if counts[2] < 500 {
- max_utf8 = 1
- }
-
- if counts[1]+counts[2] < 25 {
- max_utf8 = 0
- }
-
- return max_utf8
-}
-
-func estimateBitCostsForLiteralsUTF8(pos uint, len uint, mask uint, data []byte, cost []float32) {
- var max_utf8 uint = decideMultiByteStatsLevel(pos, uint(len), mask, data)
- /* Bootstrap histograms. */
- var histogram = [3][256]uint{[256]uint{0}}
- var window_half uint = 495
- var in_window uint = brotli_min_size_t(window_half, uint(len))
- var in_window_utf8 = [3]uint{0}
- /* max_utf8 is 0 (normal ASCII single byte modeling),
- 1 (for 2-byte UTF-8 modeling), or 2 (for 3-byte UTF-8 modeling). */
-
- var i uint
- {
- var last_c uint = 0
- var utf8_pos uint = 0
- for i = 0; i < in_window; i++ {
- var c uint = uint(data[(pos+i)&mask])
- histogram[utf8_pos][c]++
- in_window_utf8[utf8_pos]++
- utf8_pos = utf8Position(last_c, c, max_utf8)
- last_c = c
- }
- }
-
- /* Compute bit costs with sliding window. */
- for i = 0; i < len; i++ {
- if i >= window_half {
- var c uint
- var last_c uint
- if i < window_half+1 {
- c = 0
- } else {
- c = uint(data[(pos+i-window_half-1)&mask])
- }
- if i < window_half+2 {
- last_c = 0
- } else {
- last_c = uint(data[(pos+i-window_half-2)&mask])
- }
- /* Remove a byte in the past. */
-
- var utf8_pos2 uint = utf8Position(last_c, c, max_utf8)
- histogram[utf8_pos2][data[(pos+i-window_half)&mask]]--
- in_window_utf8[utf8_pos2]--
- }
-
- if i+window_half < len {
- var c uint = uint(data[(pos+i+window_half-1)&mask])
- var last_c uint = uint(data[(pos+i+window_half-2)&mask])
- /* Add a byte in the future. */
-
- var utf8_pos2 uint = utf8Position(last_c, c, max_utf8)
- histogram[utf8_pos2][data[(pos+i+window_half)&mask]]++
- in_window_utf8[utf8_pos2]++
- }
- {
- var c uint
- var last_c uint
- if i < 1 {
- c = 0
- } else {
- c = uint(data[(pos+i-1)&mask])
- }
- if i < 2 {
- last_c = 0
- } else {
- last_c = uint(data[(pos+i-2)&mask])
- }
- var utf8_pos uint = utf8Position(last_c, c, max_utf8)
- var masked_pos uint = (pos + i) & mask
- var histo uint = histogram[utf8_pos][data[masked_pos]]
- var lit_cost float64
- if histo == 0 {
- histo = 1
- }
-
- lit_cost = fastLog2(in_window_utf8[utf8_pos]) - fastLog2(histo)
- lit_cost += 0.02905
- if lit_cost < 1.0 {
- lit_cost *= 0.5
- lit_cost += 0.5
- }
-
- /* Make the first bytes more expensive -- seems to help, not sure why.
- Perhaps because the entropy source is changing its properties
- rapidly in the beginning of the file, perhaps because the beginning
- of the data is a statistical "anomaly". */
- if i < 2000 {
- lit_cost += 0.7 - (float64(2000-i) / 2000.0 * 0.35)
- }
-
- cost[i] = float32(lit_cost)
- }
- }
-}
-
-func estimateBitCostsForLiterals(pos uint, len uint, mask uint, data []byte, cost []float32) {
- if isMostlyUTF8(data, pos, mask, uint(len), kMinUTF8Ratio) {
- estimateBitCostsForLiteralsUTF8(pos, uint(len), mask, data, cost)
- return
- } else {
- var histogram = [256]uint{0}
- var window_half uint = 2000
- var in_window uint = brotli_min_size_t(window_half, uint(len))
- var i uint
- /* Bootstrap histogram. */
- for i = 0; i < in_window; i++ {
- histogram[data[(pos+i)&mask]]++
- }
-
- /* Compute bit costs with sliding window. */
- for i = 0; i < len; i++ {
- var histo uint
- if i >= window_half {
- /* Remove a byte in the past. */
- histogram[data[(pos+i-window_half)&mask]]--
-
- in_window--
- }
-
- if i+window_half < len {
- /* Add a byte in the future. */
- histogram[data[(pos+i+window_half)&mask]]++
-
- in_window++
- }
-
- histo = histogram[data[(pos+i)&mask]]
- if histo == 0 {
- histo = 1
- }
- {
- var lit_cost float64 = fastLog2(in_window) - fastLog2(histo)
- lit_cost += 0.029
- if lit_cost < 1.0 {
- lit_cost *= 0.5
- lit_cost += 0.5
- }
-
- cost[i] = float32(lit_cost)
- }
- }
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/memory.go b/vendor/github.com/andybalholm/brotli/memory.go
deleted file mode 100644
index a07c7050..00000000
--- a/vendor/github.com/andybalholm/brotli/memory.go
+++ /dev/null
@@ -1,66 +0,0 @@
-package brotli
-
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/*
-Dynamically grows array capacity to at least the requested size
-T: data type
-A: array
-C: capacity
-R: requested size
-*/
-func brotli_ensure_capacity_uint8_t(a *[]byte, c *uint, r uint) {
- if *c < r {
- var new_size uint = *c
- if new_size == 0 {
- new_size = r
- }
-
- for new_size < r {
- new_size *= 2
- }
-
- if cap(*a) < int(new_size) {
- var new_array []byte = make([]byte, new_size)
- if *c != 0 {
- copy(new_array, (*a)[:*c])
- }
-
- *a = new_array
- } else {
- *a = (*a)[:new_size]
- }
-
- *c = new_size
- }
-}
-
-func brotli_ensure_capacity_uint32_t(a *[]uint32, c *uint, r uint) {
- var new_array []uint32
- if *c < r {
- var new_size uint = *c
- if new_size == 0 {
- new_size = r
- }
-
- for new_size < r {
- new_size *= 2
- }
-
- if cap(*a) < int(new_size) {
- new_array = make([]uint32, new_size)
- if *c != 0 {
- copy(new_array, (*a)[:*c])
- }
-
- *a = new_array
- } else {
- *a = (*a)[:new_size]
- }
- *c = new_size
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/metablock.go b/vendor/github.com/andybalholm/brotli/metablock.go
deleted file mode 100644
index 3014df8c..00000000
--- a/vendor/github.com/andybalholm/brotli/metablock.go
+++ /dev/null
@@ -1,574 +0,0 @@
-package brotli
-
-import (
- "sync"
-)
-
-/* Copyright 2014 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Algorithms for distributing the literals and commands of a metablock between
- block types and contexts. */
-
-type metaBlockSplit struct {
- literal_split blockSplit
- command_split blockSplit
- distance_split blockSplit
- literal_context_map []uint32
- literal_context_map_size uint
- distance_context_map []uint32
- distance_context_map_size uint
- literal_histograms []histogramLiteral
- literal_histograms_size uint
- command_histograms []histogramCommand
- command_histograms_size uint
- distance_histograms []histogramDistance
- distance_histograms_size uint
-}
-
-var metaBlockPool sync.Pool
-
-func getMetaBlockSplit() *metaBlockSplit {
- mb, _ := metaBlockPool.Get().(*metaBlockSplit)
-
- if mb == nil {
- mb = &metaBlockSplit{}
- } else {
- initBlockSplit(&mb.literal_split)
- initBlockSplit(&mb.command_split)
- initBlockSplit(&mb.distance_split)
- mb.literal_context_map = mb.literal_context_map[:0]
- mb.literal_context_map_size = 0
- mb.distance_context_map = mb.distance_context_map[:0]
- mb.distance_context_map_size = 0
- mb.literal_histograms = mb.literal_histograms[:0]
- mb.command_histograms = mb.command_histograms[:0]
- mb.distance_histograms = mb.distance_histograms[:0]
- }
- return mb
-}
-
-func freeMetaBlockSplit(mb *metaBlockSplit) {
- metaBlockPool.Put(mb)
-}
-
-func initDistanceParams(params *encoderParams, npostfix uint32, ndirect uint32) {
- var dist_params *distanceParams = ¶ms.dist
- var alphabet_size uint32
- var max_distance uint32
-
- dist_params.distance_postfix_bits = npostfix
- dist_params.num_direct_distance_codes = ndirect
-
- alphabet_size = uint32(distanceAlphabetSize(uint(npostfix), uint(ndirect), maxDistanceBits))
- max_distance = ndirect + (1 << (maxDistanceBits + npostfix + 2)) - (1 << (npostfix + 2))
-
- if params.large_window {
- var bound = [maxNpostfix + 1]uint32{0, 4, 12, 28}
- var postfix uint32 = 1 << npostfix
- alphabet_size = uint32(distanceAlphabetSize(uint(npostfix), uint(ndirect), largeMaxDistanceBits))
-
- /* The maximum distance is set so that no distance symbol used can encode
- a distance larger than BROTLI_MAX_ALLOWED_DISTANCE with all
- its extra bits set. */
- if ndirect < bound[npostfix] {
- max_distance = maxAllowedDistance - (bound[npostfix] - ndirect)
- } else if ndirect >= bound[npostfix]+postfix {
- max_distance = (3 << 29) - 4 + (ndirect - bound[npostfix])
- } else {
- max_distance = maxAllowedDistance
- }
- }
-
- dist_params.alphabet_size = alphabet_size
- dist_params.max_distance = uint(max_distance)
-}
-
-func recomputeDistancePrefixes(cmds []command, orig_params *distanceParams, new_params *distanceParams) {
- if orig_params.distance_postfix_bits == new_params.distance_postfix_bits && orig_params.num_direct_distance_codes == new_params.num_direct_distance_codes {
- return
- }
-
- for i := range cmds {
- var cmd *command = &cmds[i]
- if commandCopyLen(cmd) != 0 && cmd.cmd_prefix_ >= 128 {
- prefixEncodeCopyDistance(uint(commandRestoreDistanceCode(cmd, orig_params)), uint(new_params.num_direct_distance_codes), uint(new_params.distance_postfix_bits), &cmd.dist_prefix_, &cmd.dist_extra_)
- }
- }
-}
-
-func computeDistanceCost(cmds []command, orig_params *distanceParams, new_params *distanceParams, cost *float64) bool {
- var equal_params bool = false
- var dist_prefix uint16
- var dist_extra uint32
- var extra_bits float64 = 0.0
- var histo histogramDistance
- histogramClearDistance(&histo)
-
- if orig_params.distance_postfix_bits == new_params.distance_postfix_bits && orig_params.num_direct_distance_codes == new_params.num_direct_distance_codes {
- equal_params = true
- }
-
- for i := range cmds {
- cmd := &cmds[i]
- if commandCopyLen(cmd) != 0 && cmd.cmd_prefix_ >= 128 {
- if equal_params {
- dist_prefix = cmd.dist_prefix_
- } else {
- var distance uint32 = commandRestoreDistanceCode(cmd, orig_params)
- if distance > uint32(new_params.max_distance) {
- return false
- }
-
- prefixEncodeCopyDistance(uint(distance), uint(new_params.num_direct_distance_codes), uint(new_params.distance_postfix_bits), &dist_prefix, &dist_extra)
- }
-
- histogramAddDistance(&histo, uint(dist_prefix)&0x3FF)
- extra_bits += float64(dist_prefix >> 10)
- }
- }
-
- *cost = populationCostDistance(&histo) + extra_bits
- return true
-}
-
-var buildMetaBlock_kMaxNumberOfHistograms uint = 256
-
-func buildMetaBlock(ringbuffer []byte, pos uint, mask uint, params *encoderParams, prev_byte byte, prev_byte2 byte, cmds []command, literal_context_mode int, mb *metaBlockSplit) {
- var distance_histograms []histogramDistance
- var literal_histograms []histogramLiteral
- var literal_context_modes []int = nil
- var literal_histograms_size uint
- var distance_histograms_size uint
- var i uint
- var literal_context_multiplier uint = 1
- var npostfix uint32
- var ndirect_msb uint32 = 0
- var check_orig bool = true
- var best_dist_cost float64 = 1e99
- var orig_params encoderParams = *params
- /* Histogram ids need to fit in one byte. */
-
- var new_params encoderParams = *params
-
- for npostfix = 0; npostfix <= maxNpostfix; npostfix++ {
- for ; ndirect_msb < 16; ndirect_msb++ {
- var ndirect uint32 = ndirect_msb << npostfix
- var skip bool
- var dist_cost float64
- initDistanceParams(&new_params, npostfix, ndirect)
- if npostfix == orig_params.dist.distance_postfix_bits && ndirect == orig_params.dist.num_direct_distance_codes {
- check_orig = false
- }
-
- skip = !computeDistanceCost(cmds, &orig_params.dist, &new_params.dist, &dist_cost)
- if skip || (dist_cost > best_dist_cost) {
- break
- }
-
- best_dist_cost = dist_cost
- params.dist = new_params.dist
- }
-
- if ndirect_msb > 0 {
- ndirect_msb--
- }
- ndirect_msb /= 2
- }
-
- if check_orig {
- var dist_cost float64
- computeDistanceCost(cmds, &orig_params.dist, &orig_params.dist, &dist_cost)
- if dist_cost < best_dist_cost {
- /* NB: currently unused; uncomment when more param tuning is added. */
- /* best_dist_cost = dist_cost; */
- params.dist = orig_params.dist
- }
- }
-
- recomputeDistancePrefixes(cmds, &orig_params.dist, ¶ms.dist)
-
- splitBlock(cmds, ringbuffer, pos, mask, params, &mb.literal_split, &mb.command_split, &mb.distance_split)
-
- if !params.disable_literal_context_modeling {
- literal_context_multiplier = 1 << literalContextBits
- literal_context_modes = make([]int, (mb.literal_split.num_types))
- for i = 0; i < mb.literal_split.num_types; i++ {
- literal_context_modes[i] = literal_context_mode
- }
- }
-
- literal_histograms_size = mb.literal_split.num_types * literal_context_multiplier
- literal_histograms = make([]histogramLiteral, literal_histograms_size)
- clearHistogramsLiteral(literal_histograms, literal_histograms_size)
-
- distance_histograms_size = mb.distance_split.num_types << distanceContextBits
- distance_histograms = make([]histogramDistance, distance_histograms_size)
- clearHistogramsDistance(distance_histograms, distance_histograms_size)
-
- mb.command_histograms_size = mb.command_split.num_types
- if cap(mb.command_histograms) < int(mb.command_histograms_size) {
- mb.command_histograms = make([]histogramCommand, (mb.command_histograms_size))
- } else {
- mb.command_histograms = mb.command_histograms[:mb.command_histograms_size]
- }
- clearHistogramsCommand(mb.command_histograms, mb.command_histograms_size)
-
- buildHistogramsWithContext(cmds, &mb.literal_split, &mb.command_split, &mb.distance_split, ringbuffer, pos, mask, prev_byte, prev_byte2, literal_context_modes, literal_histograms, mb.command_histograms, distance_histograms)
- literal_context_modes = nil
-
- mb.literal_context_map_size = mb.literal_split.num_types << literalContextBits
- if cap(mb.literal_context_map) < int(mb.literal_context_map_size) {
- mb.literal_context_map = make([]uint32, (mb.literal_context_map_size))
- } else {
- mb.literal_context_map = mb.literal_context_map[:mb.literal_context_map_size]
- }
-
- mb.literal_histograms_size = mb.literal_context_map_size
- if cap(mb.literal_histograms) < int(mb.literal_histograms_size) {
- mb.literal_histograms = make([]histogramLiteral, (mb.literal_histograms_size))
- } else {
- mb.literal_histograms = mb.literal_histograms[:mb.literal_histograms_size]
- }
-
- clusterHistogramsLiteral(literal_histograms, literal_histograms_size, buildMetaBlock_kMaxNumberOfHistograms, mb.literal_histograms, &mb.literal_histograms_size, mb.literal_context_map)
- literal_histograms = nil
-
- if params.disable_literal_context_modeling {
- /* Distribute assignment to all contexts. */
- for i = mb.literal_split.num_types; i != 0; {
- var j uint = 0
- i--
- for ; j < 1< 0 {
- var entropy [maxStaticContexts]float64
- var combined_histo []histogramLiteral = make([]histogramLiteral, (2 * num_contexts))
- var combined_entropy [2 * maxStaticContexts]float64
- var diff = [2]float64{0.0}
- /* Try merging the set of histograms for the current block type with the
- respective set of histograms for the last and second last block types.
- Decide over the split based on the total reduction of entropy across
- all contexts. */
-
- var i uint
- for i = 0; i < num_contexts; i++ {
- var curr_histo_ix uint = self.curr_histogram_ix_ + i
- var j uint
- entropy[i] = bitsEntropy(histograms[curr_histo_ix].data_[:], self.alphabet_size_)
- for j = 0; j < 2; j++ {
- var jx uint = j*num_contexts + i
- var last_histogram_ix uint = self.last_histogram_ix_[j] + i
- combined_histo[jx] = histograms[curr_histo_ix]
- histogramAddHistogramLiteral(&combined_histo[jx], &histograms[last_histogram_ix])
- combined_entropy[jx] = bitsEntropy(combined_histo[jx].data_[0:], self.alphabet_size_)
- diff[j] += combined_entropy[jx] - entropy[i] - last_entropy[jx]
- }
- }
-
- if split.num_types < self.max_block_types_ && diff[0] > self.split_threshold_ && diff[1] > self.split_threshold_ {
- /* Create new block. */
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
-
- split.types[self.num_blocks_] = byte(split.num_types)
- self.last_histogram_ix_[1] = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = split.num_types * num_contexts
- for i = 0; i < num_contexts; i++ {
- last_entropy[num_contexts+i] = last_entropy[i]
- last_entropy[i] = entropy[i]
- }
-
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_ += num_contexts
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- clearHistogramsLiteral(self.histograms_[self.curr_histogram_ix_:], self.num_contexts_)
- }
-
- self.block_size_ = 0
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else if diff[1] < diff[0]-20.0 {
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
- split.types[self.num_blocks_] = split.types[self.num_blocks_-2]
- /* Combine this block with second last block. */
-
- var tmp uint = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
- self.last_histogram_ix_[1] = tmp
- for i = 0; i < num_contexts; i++ {
- histograms[self.last_histogram_ix_[0]+i] = combined_histo[num_contexts+i]
- last_entropy[num_contexts+i] = last_entropy[i]
- last_entropy[i] = combined_entropy[num_contexts+i]
- histogramClearLiteral(&histograms[self.curr_histogram_ix_+i])
- }
-
- self.num_blocks_++
- self.block_size_ = 0
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else {
- /* Combine this block with last block. */
- split.lengths[self.num_blocks_-1] += uint32(self.block_size_)
-
- for i = 0; i < num_contexts; i++ {
- histograms[self.last_histogram_ix_[0]+i] = combined_histo[i]
- last_entropy[i] = combined_entropy[i]
- if split.num_types == 1 {
- last_entropy[num_contexts+i] = last_entropy[i]
- }
-
- histogramClearLiteral(&histograms[self.curr_histogram_ix_+i])
- }
-
- self.block_size_ = 0
- self.merge_last_count_++
- if self.merge_last_count_ > 1 {
- self.target_block_size_ += self.min_block_size_
- }
- }
-
- combined_histo = nil
- }
-
- if is_final {
- *self.histograms_size_ = split.num_types * num_contexts
- split.num_blocks = self.num_blocks_
- }
-}
-
-/* Adds the next symbol to the current block type and context. When the
- current block reaches the target size, decides on merging the block. */
-func contextBlockSplitterAddSymbol(self *contextBlockSplitter, symbol uint, context uint) {
- histogramAddLiteral(&self.histograms_[self.curr_histogram_ix_+context], symbol)
- self.block_size_++
- if self.block_size_ == self.target_block_size_ {
- contextBlockSplitterFinishBlock(self, false) /* is_final = */
- }
-}
-
-func mapStaticContexts(num_contexts uint, static_context_map []uint32, mb *metaBlockSplit) {
- var i uint
- mb.literal_context_map_size = mb.literal_split.num_types << literalContextBits
- if cap(mb.literal_context_map) < int(mb.literal_context_map_size) {
- mb.literal_context_map = make([]uint32, (mb.literal_context_map_size))
- } else {
- mb.literal_context_map = mb.literal_context_map[:mb.literal_context_map_size]
- }
-
- for i = 0; i < mb.literal_split.num_types; i++ {
- var offset uint32 = uint32(i * num_contexts)
- var j uint
- for j = 0; j < 1<= 128 {
- blockSplitterAddSymbolDistance(&dist_blocks, uint(cmd.dist_prefix_)&0x3FF)
- }
- }
- }
-
- if num_contexts == 1 {
- blockSplitterFinishBlockLiteral(&lit_blocks.plain, true) /* is_final = */
- } else {
- contextBlockSplitterFinishBlock(&lit_blocks.ctx, true) /* is_final = */
- }
-
- blockSplitterFinishBlockCommand(&cmd_blocks, true) /* is_final = */
- blockSplitterFinishBlockDistance(&dist_blocks, true) /* is_final = */
-
- if num_contexts > 1 {
- mapStaticContexts(num_contexts, static_context_map, mb)
- }
-}
-
-func buildMetaBlockGreedy(ringbuffer []byte, pos uint, mask uint, prev_byte byte, prev_byte2 byte, literal_context_lut contextLUT, num_contexts uint, static_context_map []uint32, commands []command, mb *metaBlockSplit) {
- if num_contexts == 1 {
- buildMetaBlockGreedyInternal(ringbuffer, pos, mask, prev_byte, prev_byte2, literal_context_lut, 1, nil, commands, mb)
- } else {
- buildMetaBlockGreedyInternal(ringbuffer, pos, mask, prev_byte, prev_byte2, literal_context_lut, num_contexts, static_context_map, commands, mb)
- }
-}
-
-func optimizeHistograms(num_distance_codes uint32, mb *metaBlockSplit) {
- var good_for_rle [numCommandSymbols]byte
- var i uint
- for i = 0; i < mb.literal_histograms_size; i++ {
- optimizeHuffmanCountsForRLE(256, mb.literal_histograms[i].data_[:], good_for_rle[:])
- }
-
- for i = 0; i < mb.command_histograms_size; i++ {
- optimizeHuffmanCountsForRLE(numCommandSymbols, mb.command_histograms[i].data_[:], good_for_rle[:])
- }
-
- for i = 0; i < mb.distance_histograms_size; i++ {
- optimizeHuffmanCountsForRLE(uint(num_distance_codes), mb.distance_histograms[i].data_[:], good_for_rle[:])
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/metablock_command.go b/vendor/github.com/andybalholm/brotli/metablock_command.go
deleted file mode 100644
index 14c7b771..00000000
--- a/vendor/github.com/andybalholm/brotli/metablock_command.go
+++ /dev/null
@@ -1,165 +0,0 @@
-package brotli
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Greedy block splitter for one block category (literal, command or distance).
- */
-type blockSplitterCommand struct {
- alphabet_size_ uint
- min_block_size_ uint
- split_threshold_ float64
- num_blocks_ uint
- split_ *blockSplit
- histograms_ []histogramCommand
- histograms_size_ *uint
- target_block_size_ uint
- block_size_ uint
- curr_histogram_ix_ uint
- last_histogram_ix_ [2]uint
- last_entropy_ [2]float64
- merge_last_count_ uint
-}
-
-func initBlockSplitterCommand(self *blockSplitterCommand, alphabet_size uint, min_block_size uint, split_threshold float64, num_symbols uint, split *blockSplit, histograms *[]histogramCommand, histograms_size *uint) {
- var max_num_blocks uint = num_symbols/min_block_size + 1
- var max_num_types uint = brotli_min_size_t(max_num_blocks, maxNumberOfBlockTypes+1)
- /* We have to allocate one more histogram than the maximum number of block
- types for the current histogram when the meta-block is too big. */
- self.alphabet_size_ = alphabet_size
-
- self.min_block_size_ = min_block_size
- self.split_threshold_ = split_threshold
- self.num_blocks_ = 0
- self.split_ = split
- self.histograms_size_ = histograms_size
- self.target_block_size_ = min_block_size
- self.block_size_ = 0
- self.curr_histogram_ix_ = 0
- self.merge_last_count_ = 0
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, max_num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, max_num_blocks)
- self.split_.num_blocks = max_num_blocks
- *histograms_size = max_num_types
- if histograms == nil || cap(*histograms) < int(*histograms_size) {
- *histograms = make([]histogramCommand, (*histograms_size))
- } else {
- *histograms = (*histograms)[:*histograms_size]
- }
- self.histograms_ = *histograms
-
- /* Clear only current histogram. */
- histogramClearCommand(&self.histograms_[0])
-
- self.last_histogram_ix_[1] = 0
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
-}
-
-/* Does either of three things:
- (1) emits the current block with a new block type;
- (2) emits the current block with the type of the second last block;
- (3) merges the current block with the last block. */
-func blockSplitterFinishBlockCommand(self *blockSplitterCommand, is_final bool) {
- var split *blockSplit = self.split_
- var last_entropy []float64 = self.last_entropy_[:]
- var histograms []histogramCommand = self.histograms_
- self.block_size_ = brotli_max_size_t(self.block_size_, self.min_block_size_)
- if self.num_blocks_ == 0 {
- /* Create first block. */
- split.lengths[0] = uint32(self.block_size_)
-
- split.types[0] = 0
- last_entropy[0] = bitsEntropy(histograms[0].data_[:], self.alphabet_size_)
- last_entropy[1] = last_entropy[0]
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearCommand(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- } else if self.block_size_ > 0 {
- var entropy float64 = bitsEntropy(histograms[self.curr_histogram_ix_].data_[:], self.alphabet_size_)
- var combined_histo [2]histogramCommand
- var combined_entropy [2]float64
- var diff [2]float64
- var j uint
- for j = 0; j < 2; j++ {
- var last_histogram_ix uint = self.last_histogram_ix_[j]
- combined_histo[j] = histograms[self.curr_histogram_ix_]
- histogramAddHistogramCommand(&combined_histo[j], &histograms[last_histogram_ix])
- combined_entropy[j] = bitsEntropy(combined_histo[j].data_[0:], self.alphabet_size_)
- diff[j] = combined_entropy[j] - entropy - last_entropy[j]
- }
-
- if split.num_types < maxNumberOfBlockTypes && diff[0] > self.split_threshold_ && diff[1] > self.split_threshold_ {
- /* Create new block. */
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
-
- split.types[self.num_blocks_] = byte(split.num_types)
- self.last_histogram_ix_[1] = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = uint(byte(split.num_types))
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = entropy
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearCommand(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else if diff[1] < diff[0]-20.0 {
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
- split.types[self.num_blocks_] = split.types[self.num_blocks_-2]
- /* Combine this block with second last block. */
-
- var tmp uint = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
- self.last_histogram_ix_[1] = tmp
- histograms[self.last_histogram_ix_[0]] = combined_histo[1]
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = combined_entropy[1]
- self.num_blocks_++
- self.block_size_ = 0
- histogramClearCommand(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else {
- /* Combine this block with last block. */
- split.lengths[self.num_blocks_-1] += uint32(self.block_size_)
-
- histograms[self.last_histogram_ix_[0]] = combined_histo[0]
- last_entropy[0] = combined_entropy[0]
- if split.num_types == 1 {
- last_entropy[1] = last_entropy[0]
- }
-
- self.block_size_ = 0
- histogramClearCommand(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_++
- if self.merge_last_count_ > 1 {
- self.target_block_size_ += self.min_block_size_
- }
- }
- }
-
- if is_final {
- *self.histograms_size_ = split.num_types
- split.num_blocks = self.num_blocks_
- }
-}
-
-/* Adds the next symbol to the current histogram. When the current histogram
- reaches the target size, decides on merging the block. */
-func blockSplitterAddSymbolCommand(self *blockSplitterCommand, symbol uint) {
- histogramAddCommand(&self.histograms_[self.curr_histogram_ix_], symbol)
- self.block_size_++
- if self.block_size_ == self.target_block_size_ {
- blockSplitterFinishBlockCommand(self, false) /* is_final = */
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/metablock_distance.go b/vendor/github.com/andybalholm/brotli/metablock_distance.go
deleted file mode 100644
index 5110a810..00000000
--- a/vendor/github.com/andybalholm/brotli/metablock_distance.go
+++ /dev/null
@@ -1,165 +0,0 @@
-package brotli
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Greedy block splitter for one block category (literal, command or distance).
- */
-type blockSplitterDistance struct {
- alphabet_size_ uint
- min_block_size_ uint
- split_threshold_ float64
- num_blocks_ uint
- split_ *blockSplit
- histograms_ []histogramDistance
- histograms_size_ *uint
- target_block_size_ uint
- block_size_ uint
- curr_histogram_ix_ uint
- last_histogram_ix_ [2]uint
- last_entropy_ [2]float64
- merge_last_count_ uint
-}
-
-func initBlockSplitterDistance(self *blockSplitterDistance, alphabet_size uint, min_block_size uint, split_threshold float64, num_symbols uint, split *blockSplit, histograms *[]histogramDistance, histograms_size *uint) {
- var max_num_blocks uint = num_symbols/min_block_size + 1
- var max_num_types uint = brotli_min_size_t(max_num_blocks, maxNumberOfBlockTypes+1)
- /* We have to allocate one more histogram than the maximum number of block
- types for the current histogram when the meta-block is too big. */
- self.alphabet_size_ = alphabet_size
-
- self.min_block_size_ = min_block_size
- self.split_threshold_ = split_threshold
- self.num_blocks_ = 0
- self.split_ = split
- self.histograms_size_ = histograms_size
- self.target_block_size_ = min_block_size
- self.block_size_ = 0
- self.curr_histogram_ix_ = 0
- self.merge_last_count_ = 0
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, max_num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, max_num_blocks)
- self.split_.num_blocks = max_num_blocks
- *histograms_size = max_num_types
- if histograms == nil || cap(*histograms) < int(*histograms_size) {
- *histograms = make([]histogramDistance, *histograms_size)
- } else {
- *histograms = (*histograms)[:*histograms_size]
- }
- self.histograms_ = *histograms
-
- /* Clear only current histogram. */
- histogramClearDistance(&self.histograms_[0])
-
- self.last_histogram_ix_[1] = 0
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
-}
-
-/* Does either of three things:
- (1) emits the current block with a new block type;
- (2) emits the current block with the type of the second last block;
- (3) merges the current block with the last block. */
-func blockSplitterFinishBlockDistance(self *blockSplitterDistance, is_final bool) {
- var split *blockSplit = self.split_
- var last_entropy []float64 = self.last_entropy_[:]
- var histograms []histogramDistance = self.histograms_
- self.block_size_ = brotli_max_size_t(self.block_size_, self.min_block_size_)
- if self.num_blocks_ == 0 {
- /* Create first block. */
- split.lengths[0] = uint32(self.block_size_)
-
- split.types[0] = 0
- last_entropy[0] = bitsEntropy(histograms[0].data_[:], self.alphabet_size_)
- last_entropy[1] = last_entropy[0]
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearDistance(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- } else if self.block_size_ > 0 {
- var entropy float64 = bitsEntropy(histograms[self.curr_histogram_ix_].data_[:], self.alphabet_size_)
- var combined_histo [2]histogramDistance
- var combined_entropy [2]float64
- var diff [2]float64
- var j uint
- for j = 0; j < 2; j++ {
- var last_histogram_ix uint = self.last_histogram_ix_[j]
- combined_histo[j] = histograms[self.curr_histogram_ix_]
- histogramAddHistogramDistance(&combined_histo[j], &histograms[last_histogram_ix])
- combined_entropy[j] = bitsEntropy(combined_histo[j].data_[0:], self.alphabet_size_)
- diff[j] = combined_entropy[j] - entropy - last_entropy[j]
- }
-
- if split.num_types < maxNumberOfBlockTypes && diff[0] > self.split_threshold_ && diff[1] > self.split_threshold_ {
- /* Create new block. */
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
-
- split.types[self.num_blocks_] = byte(split.num_types)
- self.last_histogram_ix_[1] = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = uint(byte(split.num_types))
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = entropy
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearDistance(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else if diff[1] < diff[0]-20.0 {
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
- split.types[self.num_blocks_] = split.types[self.num_blocks_-2]
- /* Combine this block with second last block. */
-
- var tmp uint = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
- self.last_histogram_ix_[1] = tmp
- histograms[self.last_histogram_ix_[0]] = combined_histo[1]
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = combined_entropy[1]
- self.num_blocks_++
- self.block_size_ = 0
- histogramClearDistance(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else {
- /* Combine this block with last block. */
- split.lengths[self.num_blocks_-1] += uint32(self.block_size_)
-
- histograms[self.last_histogram_ix_[0]] = combined_histo[0]
- last_entropy[0] = combined_entropy[0]
- if split.num_types == 1 {
- last_entropy[1] = last_entropy[0]
- }
-
- self.block_size_ = 0
- histogramClearDistance(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_++
- if self.merge_last_count_ > 1 {
- self.target_block_size_ += self.min_block_size_
- }
- }
- }
-
- if is_final {
- *self.histograms_size_ = split.num_types
- split.num_blocks = self.num_blocks_
- }
-}
-
-/* Adds the next symbol to the current histogram. When the current histogram
- reaches the target size, decides on merging the block. */
-func blockSplitterAddSymbolDistance(self *blockSplitterDistance, symbol uint) {
- histogramAddDistance(&self.histograms_[self.curr_histogram_ix_], symbol)
- self.block_size_++
- if self.block_size_ == self.target_block_size_ {
- blockSplitterFinishBlockDistance(self, false) /* is_final = */
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/metablock_literal.go b/vendor/github.com/andybalholm/brotli/metablock_literal.go
deleted file mode 100644
index 307f8da8..00000000
--- a/vendor/github.com/andybalholm/brotli/metablock_literal.go
+++ /dev/null
@@ -1,165 +0,0 @@
-package brotli
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Greedy block splitter for one block category (literal, command or distance).
- */
-type blockSplitterLiteral struct {
- alphabet_size_ uint
- min_block_size_ uint
- split_threshold_ float64
- num_blocks_ uint
- split_ *blockSplit
- histograms_ []histogramLiteral
- histograms_size_ *uint
- target_block_size_ uint
- block_size_ uint
- curr_histogram_ix_ uint
- last_histogram_ix_ [2]uint
- last_entropy_ [2]float64
- merge_last_count_ uint
-}
-
-func initBlockSplitterLiteral(self *blockSplitterLiteral, alphabet_size uint, min_block_size uint, split_threshold float64, num_symbols uint, split *blockSplit, histograms *[]histogramLiteral, histograms_size *uint) {
- var max_num_blocks uint = num_symbols/min_block_size + 1
- var max_num_types uint = brotli_min_size_t(max_num_blocks, maxNumberOfBlockTypes+1)
- /* We have to allocate one more histogram than the maximum number of block
- types for the current histogram when the meta-block is too big. */
- self.alphabet_size_ = alphabet_size
-
- self.min_block_size_ = min_block_size
- self.split_threshold_ = split_threshold
- self.num_blocks_ = 0
- self.split_ = split
- self.histograms_size_ = histograms_size
- self.target_block_size_ = min_block_size
- self.block_size_ = 0
- self.curr_histogram_ix_ = 0
- self.merge_last_count_ = 0
- brotli_ensure_capacity_uint8_t(&split.types, &split.types_alloc_size, max_num_blocks)
- brotli_ensure_capacity_uint32_t(&split.lengths, &split.lengths_alloc_size, max_num_blocks)
- self.split_.num_blocks = max_num_blocks
- *histograms_size = max_num_types
- if histograms == nil || cap(*histograms) < int(*histograms_size) {
- *histograms = make([]histogramLiteral, *histograms_size)
- } else {
- *histograms = (*histograms)[:*histograms_size]
- }
- self.histograms_ = *histograms
-
- /* Clear only current histogram. */
- histogramClearLiteral(&self.histograms_[0])
-
- self.last_histogram_ix_[1] = 0
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
-}
-
-/* Does either of three things:
- (1) emits the current block with a new block type;
- (2) emits the current block with the type of the second last block;
- (3) merges the current block with the last block. */
-func blockSplitterFinishBlockLiteral(self *blockSplitterLiteral, is_final bool) {
- var split *blockSplit = self.split_
- var last_entropy []float64 = self.last_entropy_[:]
- var histograms []histogramLiteral = self.histograms_
- self.block_size_ = brotli_max_size_t(self.block_size_, self.min_block_size_)
- if self.num_blocks_ == 0 {
- /* Create first block. */
- split.lengths[0] = uint32(self.block_size_)
-
- split.types[0] = 0
- last_entropy[0] = bitsEntropy(histograms[0].data_[:], self.alphabet_size_)
- last_entropy[1] = last_entropy[0]
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearLiteral(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- } else if self.block_size_ > 0 {
- var entropy float64 = bitsEntropy(histograms[self.curr_histogram_ix_].data_[:], self.alphabet_size_)
- var combined_histo [2]histogramLiteral
- var combined_entropy [2]float64
- var diff [2]float64
- var j uint
- for j = 0; j < 2; j++ {
- var last_histogram_ix uint = self.last_histogram_ix_[j]
- combined_histo[j] = histograms[self.curr_histogram_ix_]
- histogramAddHistogramLiteral(&combined_histo[j], &histograms[last_histogram_ix])
- combined_entropy[j] = bitsEntropy(combined_histo[j].data_[0:], self.alphabet_size_)
- diff[j] = combined_entropy[j] - entropy - last_entropy[j]
- }
-
- if split.num_types < maxNumberOfBlockTypes && diff[0] > self.split_threshold_ && diff[1] > self.split_threshold_ {
- /* Create new block. */
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
-
- split.types[self.num_blocks_] = byte(split.num_types)
- self.last_histogram_ix_[1] = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = uint(byte(split.num_types))
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = entropy
- self.num_blocks_++
- split.num_types++
- self.curr_histogram_ix_++
- if self.curr_histogram_ix_ < *self.histograms_size_ {
- histogramClearLiteral(&histograms[self.curr_histogram_ix_])
- }
- self.block_size_ = 0
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else if diff[1] < diff[0]-20.0 {
- split.lengths[self.num_blocks_] = uint32(self.block_size_)
- split.types[self.num_blocks_] = split.types[self.num_blocks_-2]
- /* Combine this block with second last block. */
-
- var tmp uint = self.last_histogram_ix_[0]
- self.last_histogram_ix_[0] = self.last_histogram_ix_[1]
- self.last_histogram_ix_[1] = tmp
- histograms[self.last_histogram_ix_[0]] = combined_histo[1]
- last_entropy[1] = last_entropy[0]
- last_entropy[0] = combined_entropy[1]
- self.num_blocks_++
- self.block_size_ = 0
- histogramClearLiteral(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_ = 0
- self.target_block_size_ = self.min_block_size_
- } else {
- /* Combine this block with last block. */
- split.lengths[self.num_blocks_-1] += uint32(self.block_size_)
-
- histograms[self.last_histogram_ix_[0]] = combined_histo[0]
- last_entropy[0] = combined_entropy[0]
- if split.num_types == 1 {
- last_entropy[1] = last_entropy[0]
- }
-
- self.block_size_ = 0
- histogramClearLiteral(&histograms[self.curr_histogram_ix_])
- self.merge_last_count_++
- if self.merge_last_count_ > 1 {
- self.target_block_size_ += self.min_block_size_
- }
- }
- }
-
- if is_final {
- *self.histograms_size_ = split.num_types
- split.num_blocks = self.num_blocks_
- }
-}
-
-/* Adds the next symbol to the current histogram. When the current histogram
- reaches the target size, decides on merging the block. */
-func blockSplitterAddSymbolLiteral(self *blockSplitterLiteral, symbol uint) {
- histogramAddLiteral(&self.histograms_[self.curr_histogram_ix_], symbol)
- self.block_size_++
- if self.block_size_ == self.target_block_size_ {
- blockSplitterFinishBlockLiteral(self, false) /* is_final = */
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/params.go b/vendor/github.com/andybalholm/brotli/params.go
deleted file mode 100644
index 0a4c6875..00000000
--- a/vendor/github.com/andybalholm/brotli/params.go
+++ /dev/null
@@ -1,37 +0,0 @@
-package brotli
-
-/* Copyright 2017 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Parameters for the Brotli encoder with chosen quality levels. */
-type hasherParams struct {
- type_ int
- bucket_bits int
- block_bits int
- hash_len int
- num_last_distances_to_check int
-}
-
-type distanceParams struct {
- distance_postfix_bits uint32
- num_direct_distance_codes uint32
- alphabet_size uint32
- max_distance uint
-}
-
-/* Encoding parameters */
-type encoderParams struct {
- mode int
- quality int
- lgwin uint
- lgblock int
- size_hint uint
- disable_literal_context_modeling bool
- large_window bool
- hasher hasherParams
- dist distanceParams
- dictionary encoderDictionary
-}
diff --git a/vendor/github.com/andybalholm/brotli/platform.go b/vendor/github.com/andybalholm/brotli/platform.go
deleted file mode 100644
index 4ebfb152..00000000
--- a/vendor/github.com/andybalholm/brotli/platform.go
+++ /dev/null
@@ -1,103 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-func brotli_min_double(a float64, b float64) float64 {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_double(a float64, b float64) float64 {
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_min_float(a float32, b float32) float32 {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_float(a float32, b float32) float32 {
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_min_int(a int, b int) int {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_int(a int, b int) int {
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_min_size_t(a uint, b uint) uint {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_size_t(a uint, b uint) uint {
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_min_uint32_t(a uint32, b uint32) uint32 {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_uint32_t(a uint32, b uint32) uint32 {
- if a > b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_min_uint8_t(a byte, b byte) byte {
- if a < b {
- return a
- } else {
- return b
- }
-}
-
-func brotli_max_uint8_t(a byte, b byte) byte {
- if a > b {
- return a
- } else {
- return b
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/prefix.go b/vendor/github.com/andybalholm/brotli/prefix.go
deleted file mode 100644
index 484df0d6..00000000
--- a/vendor/github.com/andybalholm/brotli/prefix.go
+++ /dev/null
@@ -1,30 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Functions for encoding of integers into prefix codes the amount of extra
- bits, and the actual values of the extra bits. */
-
-/* Here distance_code is an intermediate code, i.e. one of the special codes or
- the actual distance increased by BROTLI_NUM_DISTANCE_SHORT_CODES - 1. */
-func prefixEncodeCopyDistance(distance_code uint, num_direct_codes uint, postfix_bits uint, code *uint16, extra_bits *uint32) {
- if distance_code < numDistanceShortCodes+num_direct_codes {
- *code = uint16(distance_code)
- *extra_bits = 0
- return
- } else {
- var dist uint = (uint(1) << (postfix_bits + 2)) + (distance_code - numDistanceShortCodes - num_direct_codes)
- var bucket uint = uint(log2FloorNonZero(dist) - 1)
- var postfix_mask uint = (1 << postfix_bits) - 1
- var postfix uint = dist & postfix_mask
- var prefix uint = (dist >> bucket) & 1
- var offset uint = (2 + prefix) << bucket
- var nbits uint = bucket - postfix_bits
- *code = uint16(nbits<<10 | (numDistanceShortCodes + num_direct_codes + ((2*(nbits-1) + prefix) << postfix_bits) + postfix))
- *extra_bits = uint32((dist - offset) >> postfix_bits)
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/prefix_dec.go b/vendor/github.com/andybalholm/brotli/prefix_dec.go
deleted file mode 100644
index 183f0d53..00000000
--- a/vendor/github.com/andybalholm/brotli/prefix_dec.go
+++ /dev/null
@@ -1,723 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-type cmdLutElement struct {
- insert_len_extra_bits byte
- copy_len_extra_bits byte
- distance_code int8
- context byte
- insert_len_offset uint16
- copy_len_offset uint16
-}
-
-var kCmdLut = [numCommandSymbols]cmdLutElement{
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0000, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0000, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0000, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0000, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0000, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0000, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0000, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0000, 0x0009},
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0001, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0001, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0001, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0001, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0001, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0001, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0001, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0001, 0x0009},
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0002, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0002, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0002, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0002, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0002, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0002, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0002, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0002, 0x0009},
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0003, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0003, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0003, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0003, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0003, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0003, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0003, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0003, 0x0009},
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0004, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0004, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0004, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0004, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0004, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0004, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0004, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0004, 0x0009},
- cmdLutElement{0x00, 0x00, 0, 0x00, 0x0005, 0x0002},
- cmdLutElement{0x00, 0x00, 0, 0x01, 0x0005, 0x0003},
- cmdLutElement{0x00, 0x00, 0, 0x02, 0x0005, 0x0004},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0005, 0x0005},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0005, 0x0006},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0005, 0x0007},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0005, 0x0008},
- cmdLutElement{0x00, 0x00, 0, 0x03, 0x0005, 0x0009},
- cmdLutElement{0x01, 0x00, 0, 0x00, 0x0006, 0x0002},
- cmdLutElement{0x01, 0x00, 0, 0x01, 0x0006, 0x0003},
- cmdLutElement{0x01, 0x00, 0, 0x02, 0x0006, 0x0004},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0006, 0x0005},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0006, 0x0006},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0006, 0x0007},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0006, 0x0008},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0006, 0x0009},
- cmdLutElement{0x01, 0x00, 0, 0x00, 0x0008, 0x0002},
- cmdLutElement{0x01, 0x00, 0, 0x01, 0x0008, 0x0003},
- cmdLutElement{0x01, 0x00, 0, 0x02, 0x0008, 0x0004},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0008, 0x0005},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0008, 0x0006},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0008, 0x0007},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0008, 0x0008},
- cmdLutElement{0x01, 0x00, 0, 0x03, 0x0008, 0x0009},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0000, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0000, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0000, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0000, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0000, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0000, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0000, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0000, 0x0036},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0001, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0001, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0001, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0001, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0001, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0001, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0001, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0001, 0x0036},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0002, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0002, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0002, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0002, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0002, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0002, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0002, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0002, 0x0036},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0003, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0003, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0003, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0003, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0003, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0003, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0003, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0003, 0x0036},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0004, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0004, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0004, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0004, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0004, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0004, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0004, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0004, 0x0036},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0005, 0x000a},
- cmdLutElement{0x00, 0x01, 0, 0x03, 0x0005, 0x000c},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0005, 0x000e},
- cmdLutElement{0x00, 0x02, 0, 0x03, 0x0005, 0x0012},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0005, 0x0016},
- cmdLutElement{0x00, 0x03, 0, 0x03, 0x0005, 0x001e},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0005, 0x0026},
- cmdLutElement{0x00, 0x04, 0, 0x03, 0x0005, 0x0036},
- cmdLutElement{0x01, 0x01, 0, 0x03, 0x0006, 0x000a},
- cmdLutElement{0x01, 0x01, 0, 0x03, 0x0006, 0x000c},
- cmdLutElement{0x01, 0x02, 0, 0x03, 0x0006, 0x000e},
- cmdLutElement{0x01, 0x02, 0, 0x03, 0x0006, 0x0012},
- cmdLutElement{0x01, 0x03, 0, 0x03, 0x0006, 0x0016},
- cmdLutElement{0x01, 0x03, 0, 0x03, 0x0006, 0x001e},
- cmdLutElement{0x01, 0x04, 0, 0x03, 0x0006, 0x0026},
- cmdLutElement{0x01, 0x04, 0, 0x03, 0x0006, 0x0036},
- cmdLutElement{0x01, 0x01, 0, 0x03, 0x0008, 0x000a},
- cmdLutElement{0x01, 0x01, 0, 0x03, 0x0008, 0x000c},
- cmdLutElement{0x01, 0x02, 0, 0x03, 0x0008, 0x000e},
- cmdLutElement{0x01, 0x02, 0, 0x03, 0x0008, 0x0012},
- cmdLutElement{0x01, 0x03, 0, 0x03, 0x0008, 0x0016},
- cmdLutElement{0x01, 0x03, 0, 0x03, 0x0008, 0x001e},
- cmdLutElement{0x01, 0x04, 0, 0x03, 0x0008, 0x0026},
- cmdLutElement{0x01, 0x04, 0, 0x03, 0x0008, 0x0036},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0000, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0000, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0000, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0000, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0000, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0000, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0000, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0000, 0x0009},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0001, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0001, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0001, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0001, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0001, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0001, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0001, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0001, 0x0009},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0002, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0002, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0002, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0002, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0002, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0002, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0002, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0002, 0x0009},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0003, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0003, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0003, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0003, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0003, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0003, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0003, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0003, 0x0009},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0004, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0004, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0004, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0004, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0004, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0004, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0004, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0004, 0x0009},
- cmdLutElement{0x00, 0x00, -1, 0x00, 0x0005, 0x0002},
- cmdLutElement{0x00, 0x00, -1, 0x01, 0x0005, 0x0003},
- cmdLutElement{0x00, 0x00, -1, 0x02, 0x0005, 0x0004},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0005, 0x0005},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0005, 0x0006},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0005, 0x0007},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0005, 0x0008},
- cmdLutElement{0x00, 0x00, -1, 0x03, 0x0005, 0x0009},
- cmdLutElement{0x01, 0x00, -1, 0x00, 0x0006, 0x0002},
- cmdLutElement{0x01, 0x00, -1, 0x01, 0x0006, 0x0003},
- cmdLutElement{0x01, 0x00, -1, 0x02, 0x0006, 0x0004},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0006, 0x0005},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0006, 0x0006},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0006, 0x0007},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0006, 0x0008},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0006, 0x0009},
- cmdLutElement{0x01, 0x00, -1, 0x00, 0x0008, 0x0002},
- cmdLutElement{0x01, 0x00, -1, 0x01, 0x0008, 0x0003},
- cmdLutElement{0x01, 0x00, -1, 0x02, 0x0008, 0x0004},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0008, 0x0005},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0008, 0x0006},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0008, 0x0007},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0008, 0x0008},
- cmdLutElement{0x01, 0x00, -1, 0x03, 0x0008, 0x0009},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0000, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0000, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0000, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0000, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0000, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0000, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0000, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0000, 0x0036},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0001, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0001, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0001, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0001, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0001, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0001, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0001, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0001, 0x0036},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0002, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0002, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0002, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0002, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0002, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0002, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0002, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0002, 0x0036},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0003, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0003, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0003, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0003, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0003, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0003, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0003, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0003, 0x0036},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0004, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0004, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0004, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0004, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0004, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0004, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0004, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0004, 0x0036},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0005, 0x000a},
- cmdLutElement{0x00, 0x01, -1, 0x03, 0x0005, 0x000c},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0005, 0x000e},
- cmdLutElement{0x00, 0x02, -1, 0x03, 0x0005, 0x0012},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0005, 0x0016},
- cmdLutElement{0x00, 0x03, -1, 0x03, 0x0005, 0x001e},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0005, 0x0026},
- cmdLutElement{0x00, 0x04, -1, 0x03, 0x0005, 0x0036},
- cmdLutElement{0x01, 0x01, -1, 0x03, 0x0006, 0x000a},
- cmdLutElement{0x01, 0x01, -1, 0x03, 0x0006, 0x000c},
- cmdLutElement{0x01, 0x02, -1, 0x03, 0x0006, 0x000e},
- cmdLutElement{0x01, 0x02, -1, 0x03, 0x0006, 0x0012},
- cmdLutElement{0x01, 0x03, -1, 0x03, 0x0006, 0x0016},
- cmdLutElement{0x01, 0x03, -1, 0x03, 0x0006, 0x001e},
- cmdLutElement{0x01, 0x04, -1, 0x03, 0x0006, 0x0026},
- cmdLutElement{0x01, 0x04, -1, 0x03, 0x0006, 0x0036},
- cmdLutElement{0x01, 0x01, -1, 0x03, 0x0008, 0x000a},
- cmdLutElement{0x01, 0x01, -1, 0x03, 0x0008, 0x000c},
- cmdLutElement{0x01, 0x02, -1, 0x03, 0x0008, 0x000e},
- cmdLutElement{0x01, 0x02, -1, 0x03, 0x0008, 0x0012},
- cmdLutElement{0x01, 0x03, -1, 0x03, 0x0008, 0x0016},
- cmdLutElement{0x01, 0x03, -1, 0x03, 0x0008, 0x001e},
- cmdLutElement{0x01, 0x04, -1, 0x03, 0x0008, 0x0026},
- cmdLutElement{0x01, 0x04, -1, 0x03, 0x0008, 0x0036},
- cmdLutElement{0x02, 0x00, -1, 0x00, 0x000a, 0x0002},
- cmdLutElement{0x02, 0x00, -1, 0x01, 0x000a, 0x0003},
- cmdLutElement{0x02, 0x00, -1, 0x02, 0x000a, 0x0004},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000a, 0x0005},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000a, 0x0006},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000a, 0x0007},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000a, 0x0008},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000a, 0x0009},
- cmdLutElement{0x02, 0x00, -1, 0x00, 0x000e, 0x0002},
- cmdLutElement{0x02, 0x00, -1, 0x01, 0x000e, 0x0003},
- cmdLutElement{0x02, 0x00, -1, 0x02, 0x000e, 0x0004},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000e, 0x0005},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000e, 0x0006},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000e, 0x0007},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000e, 0x0008},
- cmdLutElement{0x02, 0x00, -1, 0x03, 0x000e, 0x0009},
- cmdLutElement{0x03, 0x00, -1, 0x00, 0x0012, 0x0002},
- cmdLutElement{0x03, 0x00, -1, 0x01, 0x0012, 0x0003},
- cmdLutElement{0x03, 0x00, -1, 0x02, 0x0012, 0x0004},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x0012, 0x0005},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x0012, 0x0006},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x0012, 0x0007},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x0012, 0x0008},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x0012, 0x0009},
- cmdLutElement{0x03, 0x00, -1, 0x00, 0x001a, 0x0002},
- cmdLutElement{0x03, 0x00, -1, 0x01, 0x001a, 0x0003},
- cmdLutElement{0x03, 0x00, -1, 0x02, 0x001a, 0x0004},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x001a, 0x0005},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x001a, 0x0006},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x001a, 0x0007},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x001a, 0x0008},
- cmdLutElement{0x03, 0x00, -1, 0x03, 0x001a, 0x0009},
- cmdLutElement{0x04, 0x00, -1, 0x00, 0x0022, 0x0002},
- cmdLutElement{0x04, 0x00, -1, 0x01, 0x0022, 0x0003},
- cmdLutElement{0x04, 0x00, -1, 0x02, 0x0022, 0x0004},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0022, 0x0005},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0022, 0x0006},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0022, 0x0007},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0022, 0x0008},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0022, 0x0009},
- cmdLutElement{0x04, 0x00, -1, 0x00, 0x0032, 0x0002},
- cmdLutElement{0x04, 0x00, -1, 0x01, 0x0032, 0x0003},
- cmdLutElement{0x04, 0x00, -1, 0x02, 0x0032, 0x0004},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0032, 0x0005},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0032, 0x0006},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0032, 0x0007},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0032, 0x0008},
- cmdLutElement{0x04, 0x00, -1, 0x03, 0x0032, 0x0009},
- cmdLutElement{0x05, 0x00, -1, 0x00, 0x0042, 0x0002},
- cmdLutElement{0x05, 0x00, -1, 0x01, 0x0042, 0x0003},
- cmdLutElement{0x05, 0x00, -1, 0x02, 0x0042, 0x0004},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0042, 0x0005},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0042, 0x0006},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0042, 0x0007},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0042, 0x0008},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0042, 0x0009},
- cmdLutElement{0x05, 0x00, -1, 0x00, 0x0062, 0x0002},
- cmdLutElement{0x05, 0x00, -1, 0x01, 0x0062, 0x0003},
- cmdLutElement{0x05, 0x00, -1, 0x02, 0x0062, 0x0004},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0062, 0x0005},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0062, 0x0006},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0062, 0x0007},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0062, 0x0008},
- cmdLutElement{0x05, 0x00, -1, 0x03, 0x0062, 0x0009},
- cmdLutElement{0x02, 0x01, -1, 0x03, 0x000a, 0x000a},
- cmdLutElement{0x02, 0x01, -1, 0x03, 0x000a, 0x000c},
- cmdLutElement{0x02, 0x02, -1, 0x03, 0x000a, 0x000e},
- cmdLutElement{0x02, 0x02, -1, 0x03, 0x000a, 0x0012},
- cmdLutElement{0x02, 0x03, -1, 0x03, 0x000a, 0x0016},
- cmdLutElement{0x02, 0x03, -1, 0x03, 0x000a, 0x001e},
- cmdLutElement{0x02, 0x04, -1, 0x03, 0x000a, 0x0026},
- cmdLutElement{0x02, 0x04, -1, 0x03, 0x000a, 0x0036},
- cmdLutElement{0x02, 0x01, -1, 0x03, 0x000e, 0x000a},
- cmdLutElement{0x02, 0x01, -1, 0x03, 0x000e, 0x000c},
- cmdLutElement{0x02, 0x02, -1, 0x03, 0x000e, 0x000e},
- cmdLutElement{0x02, 0x02, -1, 0x03, 0x000e, 0x0012},
- cmdLutElement{0x02, 0x03, -1, 0x03, 0x000e, 0x0016},
- cmdLutElement{0x02, 0x03, -1, 0x03, 0x000e, 0x001e},
- cmdLutElement{0x02, 0x04, -1, 0x03, 0x000e, 0x0026},
- cmdLutElement{0x02, 0x04, -1, 0x03, 0x000e, 0x0036},
- cmdLutElement{0x03, 0x01, -1, 0x03, 0x0012, 0x000a},
- cmdLutElement{0x03, 0x01, -1, 0x03, 0x0012, 0x000c},
- cmdLutElement{0x03, 0x02, -1, 0x03, 0x0012, 0x000e},
- cmdLutElement{0x03, 0x02, -1, 0x03, 0x0012, 0x0012},
- cmdLutElement{0x03, 0x03, -1, 0x03, 0x0012, 0x0016},
- cmdLutElement{0x03, 0x03, -1, 0x03, 0x0012, 0x001e},
- cmdLutElement{0x03, 0x04, -1, 0x03, 0x0012, 0x0026},
- cmdLutElement{0x03, 0x04, -1, 0x03, 0x0012, 0x0036},
- cmdLutElement{0x03, 0x01, -1, 0x03, 0x001a, 0x000a},
- cmdLutElement{0x03, 0x01, -1, 0x03, 0x001a, 0x000c},
- cmdLutElement{0x03, 0x02, -1, 0x03, 0x001a, 0x000e},
- cmdLutElement{0x03, 0x02, -1, 0x03, 0x001a, 0x0012},
- cmdLutElement{0x03, 0x03, -1, 0x03, 0x001a, 0x0016},
- cmdLutElement{0x03, 0x03, -1, 0x03, 0x001a, 0x001e},
- cmdLutElement{0x03, 0x04, -1, 0x03, 0x001a, 0x0026},
- cmdLutElement{0x03, 0x04, -1, 0x03, 0x001a, 0x0036},
- cmdLutElement{0x04, 0x01, -1, 0x03, 0x0022, 0x000a},
- cmdLutElement{0x04, 0x01, -1, 0x03, 0x0022, 0x000c},
- cmdLutElement{0x04, 0x02, -1, 0x03, 0x0022, 0x000e},
- cmdLutElement{0x04, 0x02, -1, 0x03, 0x0022, 0x0012},
- cmdLutElement{0x04, 0x03, -1, 0x03, 0x0022, 0x0016},
- cmdLutElement{0x04, 0x03, -1, 0x03, 0x0022, 0x001e},
- cmdLutElement{0x04, 0x04, -1, 0x03, 0x0022, 0x0026},
- cmdLutElement{0x04, 0x04, -1, 0x03, 0x0022, 0x0036},
- cmdLutElement{0x04, 0x01, -1, 0x03, 0x0032, 0x000a},
- cmdLutElement{0x04, 0x01, -1, 0x03, 0x0032, 0x000c},
- cmdLutElement{0x04, 0x02, -1, 0x03, 0x0032, 0x000e},
- cmdLutElement{0x04, 0x02, -1, 0x03, 0x0032, 0x0012},
- cmdLutElement{0x04, 0x03, -1, 0x03, 0x0032, 0x0016},
- cmdLutElement{0x04, 0x03, -1, 0x03, 0x0032, 0x001e},
- cmdLutElement{0x04, 0x04, -1, 0x03, 0x0032, 0x0026},
- cmdLutElement{0x04, 0x04, -1, 0x03, 0x0032, 0x0036},
- cmdLutElement{0x05, 0x01, -1, 0x03, 0x0042, 0x000a},
- cmdLutElement{0x05, 0x01, -1, 0x03, 0x0042, 0x000c},
- cmdLutElement{0x05, 0x02, -1, 0x03, 0x0042, 0x000e},
- cmdLutElement{0x05, 0x02, -1, 0x03, 0x0042, 0x0012},
- cmdLutElement{0x05, 0x03, -1, 0x03, 0x0042, 0x0016},
- cmdLutElement{0x05, 0x03, -1, 0x03, 0x0042, 0x001e},
- cmdLutElement{0x05, 0x04, -1, 0x03, 0x0042, 0x0026},
- cmdLutElement{0x05, 0x04, -1, 0x03, 0x0042, 0x0036},
- cmdLutElement{0x05, 0x01, -1, 0x03, 0x0062, 0x000a},
- cmdLutElement{0x05, 0x01, -1, 0x03, 0x0062, 0x000c},
- cmdLutElement{0x05, 0x02, -1, 0x03, 0x0062, 0x000e},
- cmdLutElement{0x05, 0x02, -1, 0x03, 0x0062, 0x0012},
- cmdLutElement{0x05, 0x03, -1, 0x03, 0x0062, 0x0016},
- cmdLutElement{0x05, 0x03, -1, 0x03, 0x0062, 0x001e},
- cmdLutElement{0x05, 0x04, -1, 0x03, 0x0062, 0x0026},
- cmdLutElement{0x05, 0x04, -1, 0x03, 0x0062, 0x0036},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0000, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0000, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0000, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0000, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0000, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0000, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0000, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0000, 0x0846},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0001, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0001, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0001, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0001, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0001, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0001, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0001, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0001, 0x0846},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0002, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0002, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0002, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0002, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0002, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0002, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0002, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0002, 0x0846},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0003, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0003, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0003, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0003, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0003, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0003, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0003, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0003, 0x0846},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0004, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0004, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0004, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0004, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0004, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0004, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0004, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0004, 0x0846},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0005, 0x0046},
- cmdLutElement{0x00, 0x05, -1, 0x03, 0x0005, 0x0066},
- cmdLutElement{0x00, 0x06, -1, 0x03, 0x0005, 0x0086},
- cmdLutElement{0x00, 0x07, -1, 0x03, 0x0005, 0x00c6},
- cmdLutElement{0x00, 0x08, -1, 0x03, 0x0005, 0x0146},
- cmdLutElement{0x00, 0x09, -1, 0x03, 0x0005, 0x0246},
- cmdLutElement{0x00, 0x0a, -1, 0x03, 0x0005, 0x0446},
- cmdLutElement{0x00, 0x18, -1, 0x03, 0x0005, 0x0846},
- cmdLutElement{0x01, 0x05, -1, 0x03, 0x0006, 0x0046},
- cmdLutElement{0x01, 0x05, -1, 0x03, 0x0006, 0x0066},
- cmdLutElement{0x01, 0x06, -1, 0x03, 0x0006, 0x0086},
- cmdLutElement{0x01, 0x07, -1, 0x03, 0x0006, 0x00c6},
- cmdLutElement{0x01, 0x08, -1, 0x03, 0x0006, 0x0146},
- cmdLutElement{0x01, 0x09, -1, 0x03, 0x0006, 0x0246},
- cmdLutElement{0x01, 0x0a, -1, 0x03, 0x0006, 0x0446},
- cmdLutElement{0x01, 0x18, -1, 0x03, 0x0006, 0x0846},
- cmdLutElement{0x01, 0x05, -1, 0x03, 0x0008, 0x0046},
- cmdLutElement{0x01, 0x05, -1, 0x03, 0x0008, 0x0066},
- cmdLutElement{0x01, 0x06, -1, 0x03, 0x0008, 0x0086},
- cmdLutElement{0x01, 0x07, -1, 0x03, 0x0008, 0x00c6},
- cmdLutElement{0x01, 0x08, -1, 0x03, 0x0008, 0x0146},
- cmdLutElement{0x01, 0x09, -1, 0x03, 0x0008, 0x0246},
- cmdLutElement{0x01, 0x0a, -1, 0x03, 0x0008, 0x0446},
- cmdLutElement{0x01, 0x18, -1, 0x03, 0x0008, 0x0846},
- cmdLutElement{0x06, 0x00, -1, 0x00, 0x0082, 0x0002},
- cmdLutElement{0x06, 0x00, -1, 0x01, 0x0082, 0x0003},
- cmdLutElement{0x06, 0x00, -1, 0x02, 0x0082, 0x0004},
- cmdLutElement{0x06, 0x00, -1, 0x03, 0x0082, 0x0005},
- cmdLutElement{0x06, 0x00, -1, 0x03, 0x0082, 0x0006},
- cmdLutElement{0x06, 0x00, -1, 0x03, 0x0082, 0x0007},
- cmdLutElement{0x06, 0x00, -1, 0x03, 0x0082, 0x0008},
- cmdLutElement{0x06, 0x00, -1, 0x03, 0x0082, 0x0009},
- cmdLutElement{0x07, 0x00, -1, 0x00, 0x00c2, 0x0002},
- cmdLutElement{0x07, 0x00, -1, 0x01, 0x00c2, 0x0003},
- cmdLutElement{0x07, 0x00, -1, 0x02, 0x00c2, 0x0004},
- cmdLutElement{0x07, 0x00, -1, 0x03, 0x00c2, 0x0005},
- cmdLutElement{0x07, 0x00, -1, 0x03, 0x00c2, 0x0006},
- cmdLutElement{0x07, 0x00, -1, 0x03, 0x00c2, 0x0007},
- cmdLutElement{0x07, 0x00, -1, 0x03, 0x00c2, 0x0008},
- cmdLutElement{0x07, 0x00, -1, 0x03, 0x00c2, 0x0009},
- cmdLutElement{0x08, 0x00, -1, 0x00, 0x0142, 0x0002},
- cmdLutElement{0x08, 0x00, -1, 0x01, 0x0142, 0x0003},
- cmdLutElement{0x08, 0x00, -1, 0x02, 0x0142, 0x0004},
- cmdLutElement{0x08, 0x00, -1, 0x03, 0x0142, 0x0005},
- cmdLutElement{0x08, 0x00, -1, 0x03, 0x0142, 0x0006},
- cmdLutElement{0x08, 0x00, -1, 0x03, 0x0142, 0x0007},
- cmdLutElement{0x08, 0x00, -1, 0x03, 0x0142, 0x0008},
- cmdLutElement{0x08, 0x00, -1, 0x03, 0x0142, 0x0009},
- cmdLutElement{0x09, 0x00, -1, 0x00, 0x0242, 0x0002},
- cmdLutElement{0x09, 0x00, -1, 0x01, 0x0242, 0x0003},
- cmdLutElement{0x09, 0x00, -1, 0x02, 0x0242, 0x0004},
- cmdLutElement{0x09, 0x00, -1, 0x03, 0x0242, 0x0005},
- cmdLutElement{0x09, 0x00, -1, 0x03, 0x0242, 0x0006},
- cmdLutElement{0x09, 0x00, -1, 0x03, 0x0242, 0x0007},
- cmdLutElement{0x09, 0x00, -1, 0x03, 0x0242, 0x0008},
- cmdLutElement{0x09, 0x00, -1, 0x03, 0x0242, 0x0009},
- cmdLutElement{0x0a, 0x00, -1, 0x00, 0x0442, 0x0002},
- cmdLutElement{0x0a, 0x00, -1, 0x01, 0x0442, 0x0003},
- cmdLutElement{0x0a, 0x00, -1, 0x02, 0x0442, 0x0004},
- cmdLutElement{0x0a, 0x00, -1, 0x03, 0x0442, 0x0005},
- cmdLutElement{0x0a, 0x00, -1, 0x03, 0x0442, 0x0006},
- cmdLutElement{0x0a, 0x00, -1, 0x03, 0x0442, 0x0007},
- cmdLutElement{0x0a, 0x00, -1, 0x03, 0x0442, 0x0008},
- cmdLutElement{0x0a, 0x00, -1, 0x03, 0x0442, 0x0009},
- cmdLutElement{0x0c, 0x00, -1, 0x00, 0x0842, 0x0002},
- cmdLutElement{0x0c, 0x00, -1, 0x01, 0x0842, 0x0003},
- cmdLutElement{0x0c, 0x00, -1, 0x02, 0x0842, 0x0004},
- cmdLutElement{0x0c, 0x00, -1, 0x03, 0x0842, 0x0005},
- cmdLutElement{0x0c, 0x00, -1, 0x03, 0x0842, 0x0006},
- cmdLutElement{0x0c, 0x00, -1, 0x03, 0x0842, 0x0007},
- cmdLutElement{0x0c, 0x00, -1, 0x03, 0x0842, 0x0008},
- cmdLutElement{0x0c, 0x00, -1, 0x03, 0x0842, 0x0009},
- cmdLutElement{0x0e, 0x00, -1, 0x00, 0x1842, 0x0002},
- cmdLutElement{0x0e, 0x00, -1, 0x01, 0x1842, 0x0003},
- cmdLutElement{0x0e, 0x00, -1, 0x02, 0x1842, 0x0004},
- cmdLutElement{0x0e, 0x00, -1, 0x03, 0x1842, 0x0005},
- cmdLutElement{0x0e, 0x00, -1, 0x03, 0x1842, 0x0006},
- cmdLutElement{0x0e, 0x00, -1, 0x03, 0x1842, 0x0007},
- cmdLutElement{0x0e, 0x00, -1, 0x03, 0x1842, 0x0008},
- cmdLutElement{0x0e, 0x00, -1, 0x03, 0x1842, 0x0009},
- cmdLutElement{0x18, 0x00, -1, 0x00, 0x5842, 0x0002},
- cmdLutElement{0x18, 0x00, -1, 0x01, 0x5842, 0x0003},
- cmdLutElement{0x18, 0x00, -1, 0x02, 0x5842, 0x0004},
- cmdLutElement{0x18, 0x00, -1, 0x03, 0x5842, 0x0005},
- cmdLutElement{0x18, 0x00, -1, 0x03, 0x5842, 0x0006},
- cmdLutElement{0x18, 0x00, -1, 0x03, 0x5842, 0x0007},
- cmdLutElement{0x18, 0x00, -1, 0x03, 0x5842, 0x0008},
- cmdLutElement{0x18, 0x00, -1, 0x03, 0x5842, 0x0009},
- cmdLutElement{0x02, 0x05, -1, 0x03, 0x000a, 0x0046},
- cmdLutElement{0x02, 0x05, -1, 0x03, 0x000a, 0x0066},
- cmdLutElement{0x02, 0x06, -1, 0x03, 0x000a, 0x0086},
- cmdLutElement{0x02, 0x07, -1, 0x03, 0x000a, 0x00c6},
- cmdLutElement{0x02, 0x08, -1, 0x03, 0x000a, 0x0146},
- cmdLutElement{0x02, 0x09, -1, 0x03, 0x000a, 0x0246},
- cmdLutElement{0x02, 0x0a, -1, 0x03, 0x000a, 0x0446},
- cmdLutElement{0x02, 0x18, -1, 0x03, 0x000a, 0x0846},
- cmdLutElement{0x02, 0x05, -1, 0x03, 0x000e, 0x0046},
- cmdLutElement{0x02, 0x05, -1, 0x03, 0x000e, 0x0066},
- cmdLutElement{0x02, 0x06, -1, 0x03, 0x000e, 0x0086},
- cmdLutElement{0x02, 0x07, -1, 0x03, 0x000e, 0x00c6},
- cmdLutElement{0x02, 0x08, -1, 0x03, 0x000e, 0x0146},
- cmdLutElement{0x02, 0x09, -1, 0x03, 0x000e, 0x0246},
- cmdLutElement{0x02, 0x0a, -1, 0x03, 0x000e, 0x0446},
- cmdLutElement{0x02, 0x18, -1, 0x03, 0x000e, 0x0846},
- cmdLutElement{0x03, 0x05, -1, 0x03, 0x0012, 0x0046},
- cmdLutElement{0x03, 0x05, -1, 0x03, 0x0012, 0x0066},
- cmdLutElement{0x03, 0x06, -1, 0x03, 0x0012, 0x0086},
- cmdLutElement{0x03, 0x07, -1, 0x03, 0x0012, 0x00c6},
- cmdLutElement{0x03, 0x08, -1, 0x03, 0x0012, 0x0146},
- cmdLutElement{0x03, 0x09, -1, 0x03, 0x0012, 0x0246},
- cmdLutElement{0x03, 0x0a, -1, 0x03, 0x0012, 0x0446},
- cmdLutElement{0x03, 0x18, -1, 0x03, 0x0012, 0x0846},
- cmdLutElement{0x03, 0x05, -1, 0x03, 0x001a, 0x0046},
- cmdLutElement{0x03, 0x05, -1, 0x03, 0x001a, 0x0066},
- cmdLutElement{0x03, 0x06, -1, 0x03, 0x001a, 0x0086},
- cmdLutElement{0x03, 0x07, -1, 0x03, 0x001a, 0x00c6},
- cmdLutElement{0x03, 0x08, -1, 0x03, 0x001a, 0x0146},
- cmdLutElement{0x03, 0x09, -1, 0x03, 0x001a, 0x0246},
- cmdLutElement{0x03, 0x0a, -1, 0x03, 0x001a, 0x0446},
- cmdLutElement{0x03, 0x18, -1, 0x03, 0x001a, 0x0846},
- cmdLutElement{0x04, 0x05, -1, 0x03, 0x0022, 0x0046},
- cmdLutElement{0x04, 0x05, -1, 0x03, 0x0022, 0x0066},
- cmdLutElement{0x04, 0x06, -1, 0x03, 0x0022, 0x0086},
- cmdLutElement{0x04, 0x07, -1, 0x03, 0x0022, 0x00c6},
- cmdLutElement{0x04, 0x08, -1, 0x03, 0x0022, 0x0146},
- cmdLutElement{0x04, 0x09, -1, 0x03, 0x0022, 0x0246},
- cmdLutElement{0x04, 0x0a, -1, 0x03, 0x0022, 0x0446},
- cmdLutElement{0x04, 0x18, -1, 0x03, 0x0022, 0x0846},
- cmdLutElement{0x04, 0x05, -1, 0x03, 0x0032, 0x0046},
- cmdLutElement{0x04, 0x05, -1, 0x03, 0x0032, 0x0066},
- cmdLutElement{0x04, 0x06, -1, 0x03, 0x0032, 0x0086},
- cmdLutElement{0x04, 0x07, -1, 0x03, 0x0032, 0x00c6},
- cmdLutElement{0x04, 0x08, -1, 0x03, 0x0032, 0x0146},
- cmdLutElement{0x04, 0x09, -1, 0x03, 0x0032, 0x0246},
- cmdLutElement{0x04, 0x0a, -1, 0x03, 0x0032, 0x0446},
- cmdLutElement{0x04, 0x18, -1, 0x03, 0x0032, 0x0846},
- cmdLutElement{0x05, 0x05, -1, 0x03, 0x0042, 0x0046},
- cmdLutElement{0x05, 0x05, -1, 0x03, 0x0042, 0x0066},
- cmdLutElement{0x05, 0x06, -1, 0x03, 0x0042, 0x0086},
- cmdLutElement{0x05, 0x07, -1, 0x03, 0x0042, 0x00c6},
- cmdLutElement{0x05, 0x08, -1, 0x03, 0x0042, 0x0146},
- cmdLutElement{0x05, 0x09, -1, 0x03, 0x0042, 0x0246},
- cmdLutElement{0x05, 0x0a, -1, 0x03, 0x0042, 0x0446},
- cmdLutElement{0x05, 0x18, -1, 0x03, 0x0042, 0x0846},
- cmdLutElement{0x05, 0x05, -1, 0x03, 0x0062, 0x0046},
- cmdLutElement{0x05, 0x05, -1, 0x03, 0x0062, 0x0066},
- cmdLutElement{0x05, 0x06, -1, 0x03, 0x0062, 0x0086},
- cmdLutElement{0x05, 0x07, -1, 0x03, 0x0062, 0x00c6},
- cmdLutElement{0x05, 0x08, -1, 0x03, 0x0062, 0x0146},
- cmdLutElement{0x05, 0x09, -1, 0x03, 0x0062, 0x0246},
- cmdLutElement{0x05, 0x0a, -1, 0x03, 0x0062, 0x0446},
- cmdLutElement{0x05, 0x18, -1, 0x03, 0x0062, 0x0846},
- cmdLutElement{0x06, 0x01, -1, 0x03, 0x0082, 0x000a},
- cmdLutElement{0x06, 0x01, -1, 0x03, 0x0082, 0x000c},
- cmdLutElement{0x06, 0x02, -1, 0x03, 0x0082, 0x000e},
- cmdLutElement{0x06, 0x02, -1, 0x03, 0x0082, 0x0012},
- cmdLutElement{0x06, 0x03, -1, 0x03, 0x0082, 0x0016},
- cmdLutElement{0x06, 0x03, -1, 0x03, 0x0082, 0x001e},
- cmdLutElement{0x06, 0x04, -1, 0x03, 0x0082, 0x0026},
- cmdLutElement{0x06, 0x04, -1, 0x03, 0x0082, 0x0036},
- cmdLutElement{0x07, 0x01, -1, 0x03, 0x00c2, 0x000a},
- cmdLutElement{0x07, 0x01, -1, 0x03, 0x00c2, 0x000c},
- cmdLutElement{0x07, 0x02, -1, 0x03, 0x00c2, 0x000e},
- cmdLutElement{0x07, 0x02, -1, 0x03, 0x00c2, 0x0012},
- cmdLutElement{0x07, 0x03, -1, 0x03, 0x00c2, 0x0016},
- cmdLutElement{0x07, 0x03, -1, 0x03, 0x00c2, 0x001e},
- cmdLutElement{0x07, 0x04, -1, 0x03, 0x00c2, 0x0026},
- cmdLutElement{0x07, 0x04, -1, 0x03, 0x00c2, 0x0036},
- cmdLutElement{0x08, 0x01, -1, 0x03, 0x0142, 0x000a},
- cmdLutElement{0x08, 0x01, -1, 0x03, 0x0142, 0x000c},
- cmdLutElement{0x08, 0x02, -1, 0x03, 0x0142, 0x000e},
- cmdLutElement{0x08, 0x02, -1, 0x03, 0x0142, 0x0012},
- cmdLutElement{0x08, 0x03, -1, 0x03, 0x0142, 0x0016},
- cmdLutElement{0x08, 0x03, -1, 0x03, 0x0142, 0x001e},
- cmdLutElement{0x08, 0x04, -1, 0x03, 0x0142, 0x0026},
- cmdLutElement{0x08, 0x04, -1, 0x03, 0x0142, 0x0036},
- cmdLutElement{0x09, 0x01, -1, 0x03, 0x0242, 0x000a},
- cmdLutElement{0x09, 0x01, -1, 0x03, 0x0242, 0x000c},
- cmdLutElement{0x09, 0x02, -1, 0x03, 0x0242, 0x000e},
- cmdLutElement{0x09, 0x02, -1, 0x03, 0x0242, 0x0012},
- cmdLutElement{0x09, 0x03, -1, 0x03, 0x0242, 0x0016},
- cmdLutElement{0x09, 0x03, -1, 0x03, 0x0242, 0x001e},
- cmdLutElement{0x09, 0x04, -1, 0x03, 0x0242, 0x0026},
- cmdLutElement{0x09, 0x04, -1, 0x03, 0x0242, 0x0036},
- cmdLutElement{0x0a, 0x01, -1, 0x03, 0x0442, 0x000a},
- cmdLutElement{0x0a, 0x01, -1, 0x03, 0x0442, 0x000c},
- cmdLutElement{0x0a, 0x02, -1, 0x03, 0x0442, 0x000e},
- cmdLutElement{0x0a, 0x02, -1, 0x03, 0x0442, 0x0012},
- cmdLutElement{0x0a, 0x03, -1, 0x03, 0x0442, 0x0016},
- cmdLutElement{0x0a, 0x03, -1, 0x03, 0x0442, 0x001e},
- cmdLutElement{0x0a, 0x04, -1, 0x03, 0x0442, 0x0026},
- cmdLutElement{0x0a, 0x04, -1, 0x03, 0x0442, 0x0036},
- cmdLutElement{0x0c, 0x01, -1, 0x03, 0x0842, 0x000a},
- cmdLutElement{0x0c, 0x01, -1, 0x03, 0x0842, 0x000c},
- cmdLutElement{0x0c, 0x02, -1, 0x03, 0x0842, 0x000e},
- cmdLutElement{0x0c, 0x02, -1, 0x03, 0x0842, 0x0012},
- cmdLutElement{0x0c, 0x03, -1, 0x03, 0x0842, 0x0016},
- cmdLutElement{0x0c, 0x03, -1, 0x03, 0x0842, 0x001e},
- cmdLutElement{0x0c, 0x04, -1, 0x03, 0x0842, 0x0026},
- cmdLutElement{0x0c, 0x04, -1, 0x03, 0x0842, 0x0036},
- cmdLutElement{0x0e, 0x01, -1, 0x03, 0x1842, 0x000a},
- cmdLutElement{0x0e, 0x01, -1, 0x03, 0x1842, 0x000c},
- cmdLutElement{0x0e, 0x02, -1, 0x03, 0x1842, 0x000e},
- cmdLutElement{0x0e, 0x02, -1, 0x03, 0x1842, 0x0012},
- cmdLutElement{0x0e, 0x03, -1, 0x03, 0x1842, 0x0016},
- cmdLutElement{0x0e, 0x03, -1, 0x03, 0x1842, 0x001e},
- cmdLutElement{0x0e, 0x04, -1, 0x03, 0x1842, 0x0026},
- cmdLutElement{0x0e, 0x04, -1, 0x03, 0x1842, 0x0036},
- cmdLutElement{0x18, 0x01, -1, 0x03, 0x5842, 0x000a},
- cmdLutElement{0x18, 0x01, -1, 0x03, 0x5842, 0x000c},
- cmdLutElement{0x18, 0x02, -1, 0x03, 0x5842, 0x000e},
- cmdLutElement{0x18, 0x02, -1, 0x03, 0x5842, 0x0012},
- cmdLutElement{0x18, 0x03, -1, 0x03, 0x5842, 0x0016},
- cmdLutElement{0x18, 0x03, -1, 0x03, 0x5842, 0x001e},
- cmdLutElement{0x18, 0x04, -1, 0x03, 0x5842, 0x0026},
- cmdLutElement{0x18, 0x04, -1, 0x03, 0x5842, 0x0036},
- cmdLutElement{0x06, 0x05, -1, 0x03, 0x0082, 0x0046},
- cmdLutElement{0x06, 0x05, -1, 0x03, 0x0082, 0x0066},
- cmdLutElement{0x06, 0x06, -1, 0x03, 0x0082, 0x0086},
- cmdLutElement{0x06, 0x07, -1, 0x03, 0x0082, 0x00c6},
- cmdLutElement{0x06, 0x08, -1, 0x03, 0x0082, 0x0146},
- cmdLutElement{0x06, 0x09, -1, 0x03, 0x0082, 0x0246},
- cmdLutElement{0x06, 0x0a, -1, 0x03, 0x0082, 0x0446},
- cmdLutElement{0x06, 0x18, -1, 0x03, 0x0082, 0x0846},
- cmdLutElement{0x07, 0x05, -1, 0x03, 0x00c2, 0x0046},
- cmdLutElement{0x07, 0x05, -1, 0x03, 0x00c2, 0x0066},
- cmdLutElement{0x07, 0x06, -1, 0x03, 0x00c2, 0x0086},
- cmdLutElement{0x07, 0x07, -1, 0x03, 0x00c2, 0x00c6},
- cmdLutElement{0x07, 0x08, -1, 0x03, 0x00c2, 0x0146},
- cmdLutElement{0x07, 0x09, -1, 0x03, 0x00c2, 0x0246},
- cmdLutElement{0x07, 0x0a, -1, 0x03, 0x00c2, 0x0446},
- cmdLutElement{0x07, 0x18, -1, 0x03, 0x00c2, 0x0846},
- cmdLutElement{0x08, 0x05, -1, 0x03, 0x0142, 0x0046},
- cmdLutElement{0x08, 0x05, -1, 0x03, 0x0142, 0x0066},
- cmdLutElement{0x08, 0x06, -1, 0x03, 0x0142, 0x0086},
- cmdLutElement{0x08, 0x07, -1, 0x03, 0x0142, 0x00c6},
- cmdLutElement{0x08, 0x08, -1, 0x03, 0x0142, 0x0146},
- cmdLutElement{0x08, 0x09, -1, 0x03, 0x0142, 0x0246},
- cmdLutElement{0x08, 0x0a, -1, 0x03, 0x0142, 0x0446},
- cmdLutElement{0x08, 0x18, -1, 0x03, 0x0142, 0x0846},
- cmdLutElement{0x09, 0x05, -1, 0x03, 0x0242, 0x0046},
- cmdLutElement{0x09, 0x05, -1, 0x03, 0x0242, 0x0066},
- cmdLutElement{0x09, 0x06, -1, 0x03, 0x0242, 0x0086},
- cmdLutElement{0x09, 0x07, -1, 0x03, 0x0242, 0x00c6},
- cmdLutElement{0x09, 0x08, -1, 0x03, 0x0242, 0x0146},
- cmdLutElement{0x09, 0x09, -1, 0x03, 0x0242, 0x0246},
- cmdLutElement{0x09, 0x0a, -1, 0x03, 0x0242, 0x0446},
- cmdLutElement{0x09, 0x18, -1, 0x03, 0x0242, 0x0846},
- cmdLutElement{0x0a, 0x05, -1, 0x03, 0x0442, 0x0046},
- cmdLutElement{0x0a, 0x05, -1, 0x03, 0x0442, 0x0066},
- cmdLutElement{0x0a, 0x06, -1, 0x03, 0x0442, 0x0086},
- cmdLutElement{0x0a, 0x07, -1, 0x03, 0x0442, 0x00c6},
- cmdLutElement{0x0a, 0x08, -1, 0x03, 0x0442, 0x0146},
- cmdLutElement{0x0a, 0x09, -1, 0x03, 0x0442, 0x0246},
- cmdLutElement{0x0a, 0x0a, -1, 0x03, 0x0442, 0x0446},
- cmdLutElement{0x0a, 0x18, -1, 0x03, 0x0442, 0x0846},
- cmdLutElement{0x0c, 0x05, -1, 0x03, 0x0842, 0x0046},
- cmdLutElement{0x0c, 0x05, -1, 0x03, 0x0842, 0x0066},
- cmdLutElement{0x0c, 0x06, -1, 0x03, 0x0842, 0x0086},
- cmdLutElement{0x0c, 0x07, -1, 0x03, 0x0842, 0x00c6},
- cmdLutElement{0x0c, 0x08, -1, 0x03, 0x0842, 0x0146},
- cmdLutElement{0x0c, 0x09, -1, 0x03, 0x0842, 0x0246},
- cmdLutElement{0x0c, 0x0a, -1, 0x03, 0x0842, 0x0446},
- cmdLutElement{0x0c, 0x18, -1, 0x03, 0x0842, 0x0846},
- cmdLutElement{0x0e, 0x05, -1, 0x03, 0x1842, 0x0046},
- cmdLutElement{0x0e, 0x05, -1, 0x03, 0x1842, 0x0066},
- cmdLutElement{0x0e, 0x06, -1, 0x03, 0x1842, 0x0086},
- cmdLutElement{0x0e, 0x07, -1, 0x03, 0x1842, 0x00c6},
- cmdLutElement{0x0e, 0x08, -1, 0x03, 0x1842, 0x0146},
- cmdLutElement{0x0e, 0x09, -1, 0x03, 0x1842, 0x0246},
- cmdLutElement{0x0e, 0x0a, -1, 0x03, 0x1842, 0x0446},
- cmdLutElement{0x0e, 0x18, -1, 0x03, 0x1842, 0x0846},
- cmdLutElement{0x18, 0x05, -1, 0x03, 0x5842, 0x0046},
- cmdLutElement{0x18, 0x05, -1, 0x03, 0x5842, 0x0066},
- cmdLutElement{0x18, 0x06, -1, 0x03, 0x5842, 0x0086},
- cmdLutElement{0x18, 0x07, -1, 0x03, 0x5842, 0x00c6},
- cmdLutElement{0x18, 0x08, -1, 0x03, 0x5842, 0x0146},
- cmdLutElement{0x18, 0x09, -1, 0x03, 0x5842, 0x0246},
- cmdLutElement{0x18, 0x0a, -1, 0x03, 0x5842, 0x0446},
- cmdLutElement{0x18, 0x18, -1, 0x03, 0x5842, 0x0846},
-}
diff --git a/vendor/github.com/andybalholm/brotli/quality.go b/vendor/github.com/andybalholm/brotli/quality.go
deleted file mode 100644
index 49709a38..00000000
--- a/vendor/github.com/andybalholm/brotli/quality.go
+++ /dev/null
@@ -1,196 +0,0 @@
-package brotli
-
-const fastOnePassCompressionQuality = 0
-
-const fastTwoPassCompressionQuality = 1
-
-const zopflificationQuality = 10
-
-const hqZopflificationQuality = 11
-
-const maxQualityForStaticEntropyCodes = 2
-
-const minQualityForBlockSplit = 4
-
-const minQualityForNonzeroDistanceParams = 4
-
-const minQualityForOptimizeHistograms = 4
-
-const minQualityForExtensiveReferenceSearch = 5
-
-const minQualityForContextModeling = 5
-
-const minQualityForHqContextModeling = 7
-
-const minQualityForHqBlockSplitting = 10
-
-/* For quality below MIN_QUALITY_FOR_BLOCK_SPLIT there is no block splitting,
- so we buffer at most this much literals and commands. */
-const maxNumDelayedSymbols = 0x2FFF
-
-/* Returns hash-table size for quality levels 0 and 1. */
-func maxHashTableSize(quality int) uint {
- if quality == fastOnePassCompressionQuality {
- return 1 << 15
- } else {
- return 1 << 17
- }
-}
-
-/* The maximum length for which the zopflification uses distinct distances. */
-const maxZopfliLenQuality10 = 150
-
-const maxZopfliLenQuality11 = 325
-
-/* Do not thoroughly search when a long copy is found. */
-const longCopyQuickStep = 16384
-
-func maxZopfliLen(params *encoderParams) uint {
- if params.quality <= 10 {
- return maxZopfliLenQuality10
- } else {
- return maxZopfliLenQuality11
- }
-}
-
-/* Number of best candidates to evaluate to expand Zopfli chain. */
-func maxZopfliCandidates(params *encoderParams) uint {
- if params.quality <= 10 {
- return 1
- } else {
- return 5
- }
-}
-
-func sanitizeParams(params *encoderParams) {
- params.quality = brotli_min_int(maxQuality, brotli_max_int(minQuality, params.quality))
- if params.quality <= maxQualityForStaticEntropyCodes {
- params.large_window = false
- }
-
- if params.lgwin < minWindowBits {
- params.lgwin = minWindowBits
- } else {
- var max_lgwin int
- if params.large_window {
- max_lgwin = largeMaxWindowBits
- } else {
- max_lgwin = maxWindowBits
- }
- if params.lgwin > uint(max_lgwin) {
- params.lgwin = uint(max_lgwin)
- }
- }
-}
-
-/* Returns optimized lg_block value. */
-func computeLgBlock(params *encoderParams) int {
- var lgblock int = params.lgblock
- if params.quality == fastOnePassCompressionQuality || params.quality == fastTwoPassCompressionQuality {
- lgblock = int(params.lgwin)
- } else if params.quality < minQualityForBlockSplit {
- lgblock = 14
- } else if lgblock == 0 {
- lgblock = 16
- if params.quality >= 9 && params.lgwin > uint(lgblock) {
- lgblock = brotli_min_int(18, int(params.lgwin))
- }
- } else {
- lgblock = brotli_min_int(maxInputBlockBits, brotli_max_int(minInputBlockBits, lgblock))
- }
-
- return lgblock
-}
-
-/* Returns log2 of the size of main ring buffer area.
- Allocate at least lgwin + 1 bits for the ring buffer so that the newly
- added block fits there completely and we still get lgwin bits and at least
- read_block_size_bits + 1 bits because the copy tail length needs to be
- smaller than ring-buffer size. */
-func computeRbBits(params *encoderParams) int {
- return 1 + brotli_max_int(int(params.lgwin), params.lgblock)
-}
-
-func maxMetablockSize(params *encoderParams) uint {
- var bits int = brotli_min_int(computeRbBits(params), maxInputBlockBits)
- return uint(1) << uint(bits)
-}
-
-/* When searching for backward references and have not seen matches for a long
- time, we can skip some match lookups. Unsuccessful match lookups are very
- expensive and this kind of a heuristic speeds up compression quite a lot.
- At first 8 byte strides are taken and every second byte is put to hasher.
- After 4x more literals stride by 16 bytes, every put 4-th byte to hasher.
- Applied only to qualities 2 to 9. */
-func literalSpreeLengthForSparseSearch(params *encoderParams) uint {
- if params.quality < 9 {
- return 64
- } else {
- return 512
- }
-}
-
-func chooseHasher(params *encoderParams, hparams *hasherParams) {
- if params.quality > 9 {
- hparams.type_ = 10
- } else if params.quality == 4 && params.size_hint >= 1<<20 {
- hparams.type_ = 54
- } else if params.quality < 5 {
- hparams.type_ = params.quality
- } else if params.lgwin <= 16 {
- if params.quality < 7 {
- hparams.type_ = 40
- } else if params.quality < 9 {
- hparams.type_ = 41
- } else {
- hparams.type_ = 42
- }
- } else if params.size_hint >= 1<<20 && params.lgwin >= 19 {
- hparams.type_ = 6
- hparams.block_bits = params.quality - 1
- hparams.bucket_bits = 15
- hparams.hash_len = 5
- if params.quality < 7 {
- hparams.num_last_distances_to_check = 4
- } else if params.quality < 9 {
- hparams.num_last_distances_to_check = 10
- } else {
- hparams.num_last_distances_to_check = 16
- }
- } else {
- hparams.type_ = 5
- hparams.block_bits = params.quality - 1
- if params.quality < 7 {
- hparams.bucket_bits = 14
- } else {
- hparams.bucket_bits = 15
- }
- if params.quality < 7 {
- hparams.num_last_distances_to_check = 4
- } else if params.quality < 9 {
- hparams.num_last_distances_to_check = 10
- } else {
- hparams.num_last_distances_to_check = 16
- }
- }
-
- if params.lgwin > 24 {
- /* Different hashers for large window brotli: not for qualities <= 2,
- these are too fast for large window. Not for qualities >= 10: their
- hasher already works well with large window. So the changes are:
- H3 --> H35: for quality 3.
- H54 --> H55: for quality 4 with size hint > 1MB
- H6 --> H65: for qualities 5, 6, 7, 8, 9. */
- if hparams.type_ == 3 {
- hparams.type_ = 35
- }
-
- if hparams.type_ == 54 {
- hparams.type_ = 55
- }
-
- if hparams.type_ == 6 {
- hparams.type_ = 65
- }
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/reader.go b/vendor/github.com/andybalholm/brotli/reader.go
deleted file mode 100644
index 9419c79c..00000000
--- a/vendor/github.com/andybalholm/brotli/reader.go
+++ /dev/null
@@ -1,108 +0,0 @@
-package brotli
-
-import (
- "errors"
- "io"
-)
-
-type decodeError int
-
-func (err decodeError) Error() string {
- return "brotli: " + string(decoderErrorString(int(err)))
-}
-
-var errExcessiveInput = errors.New("brotli: excessive input")
-var errInvalidState = errors.New("brotli: invalid state")
-
-// readBufSize is a "good" buffer size that avoids excessive round-trips
-// between C and Go but doesn't waste too much memory on buffering.
-// It is arbitrarily chosen to be equal to the constant used in io.Copy.
-const readBufSize = 32 * 1024
-
-// NewReader creates a new Reader reading the given reader.
-func NewReader(src io.Reader) *Reader {
- r := new(Reader)
- r.Reset(src)
- return r
-}
-
-// Reset discards the Reader's state and makes it equivalent to the result of
-// its original state from NewReader, but reading from src instead.
-// This permits reusing a Reader rather than allocating a new one.
-// Error is always nil
-func (r *Reader) Reset(src io.Reader) error {
- if r.error_code < 0 {
- // There was an unrecoverable error, leaving the Reader's state
- // undefined. Clear out everything but the buffer.
- *r = Reader{buf: r.buf}
- }
-
- decoderStateInit(r)
- r.src = src
- if r.buf == nil {
- r.buf = make([]byte, readBufSize)
- }
- return nil
-}
-
-func (r *Reader) Read(p []byte) (n int, err error) {
- if !decoderHasMoreOutput(r) && len(r.in) == 0 {
- m, readErr := r.src.Read(r.buf)
- if m == 0 {
- // If readErr is `nil`, we just proxy underlying stream behavior.
- return 0, readErr
- }
- r.in = r.buf[:m]
- }
-
- if len(p) == 0 {
- return 0, nil
- }
-
- for {
- var written uint
- in_len := uint(len(r.in))
- out_len := uint(len(p))
- in_remaining := in_len
- out_remaining := out_len
- result := decoderDecompressStream(r, &in_remaining, &r.in, &out_remaining, &p)
- written = out_len - out_remaining
- n = int(written)
-
- switch result {
- case decoderResultSuccess:
- if len(r.in) > 0 {
- return n, errExcessiveInput
- }
- return n, nil
- case decoderResultError:
- return n, decodeError(decoderGetErrorCode(r))
- case decoderResultNeedsMoreOutput:
- if n == 0 {
- return 0, io.ErrShortBuffer
- }
- return n, nil
- case decoderNeedsMoreInput:
- }
-
- if len(r.in) != 0 {
- return 0, errInvalidState
- }
-
- // Calling r.src.Read may block. Don't block if we have data to return.
- if n > 0 {
- return n, nil
- }
-
- // Top off the buffer.
- encN, err := r.src.Read(r.buf)
- if encN == 0 {
- // Not enough data to complete decoding.
- if err == io.EOF {
- return 0, io.ErrUnexpectedEOF
- }
- return 0, err
- }
- r.in = r.buf[:encN]
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/ringbuffer.go b/vendor/github.com/andybalholm/brotli/ringbuffer.go
deleted file mode 100644
index 1c8f86fe..00000000
--- a/vendor/github.com/andybalholm/brotli/ringbuffer.go
+++ /dev/null
@@ -1,134 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* A ringBuffer(window_bits, tail_bits) contains `1 << window_bits' bytes of
- data in a circular manner: writing a byte writes it to:
- `position() % (1 << window_bits)'.
- For convenience, the ringBuffer array contains another copy of the
- first `1 << tail_bits' bytes:
- buffer_[i] == buffer_[i + (1 << window_bits)], if i < (1 << tail_bits),
- and another copy of the last two bytes:
- buffer_[-1] == buffer_[(1 << window_bits) - 1] and
- buffer_[-2] == buffer_[(1 << window_bits) - 2]. */
-type ringBuffer struct {
- size_ uint32
- mask_ uint32
- tail_size_ uint32
- total_size_ uint32
- cur_size_ uint32
- pos_ uint32
- data_ []byte
- buffer_ []byte
-}
-
-func ringBufferInit(rb *ringBuffer) {
- rb.pos_ = 0
-}
-
-func ringBufferSetup(params *encoderParams, rb *ringBuffer) {
- var window_bits int = computeRbBits(params)
- var tail_bits int = params.lgblock
- *(*uint32)(&rb.size_) = 1 << uint(window_bits)
- *(*uint32)(&rb.mask_) = (1 << uint(window_bits)) - 1
- *(*uint32)(&rb.tail_size_) = 1 << uint(tail_bits)
- *(*uint32)(&rb.total_size_) = rb.size_ + rb.tail_size_
-}
-
-const kSlackForEightByteHashingEverywhere uint = 7
-
-/* Allocates or re-allocates data_ to the given length + plus some slack
- region before and after. Fills the slack regions with zeros. */
-func ringBufferInitBuffer(buflen uint32, rb *ringBuffer) {
- var new_data []byte
- var i uint
- size := 2 + int(buflen) + int(kSlackForEightByteHashingEverywhere)
- if cap(rb.data_) < size {
- new_data = make([]byte, size)
- } else {
- new_data = rb.data_[:size]
- }
- if rb.data_ != nil {
- copy(new_data, rb.data_[:2+rb.cur_size_+uint32(kSlackForEightByteHashingEverywhere)])
- }
-
- rb.data_ = new_data
- rb.cur_size_ = buflen
- rb.buffer_ = rb.data_[2:]
- rb.data_[1] = 0
- rb.data_[0] = rb.data_[1]
- for i = 0; i < kSlackForEightByteHashingEverywhere; i++ {
- rb.buffer_[rb.cur_size_+uint32(i)] = 0
- }
-}
-
-func ringBufferWriteTail(bytes []byte, n uint, rb *ringBuffer) {
- var masked_pos uint = uint(rb.pos_ & rb.mask_)
- if uint32(masked_pos) < rb.tail_size_ {
- /* Just fill the tail buffer with the beginning data. */
- var p uint = uint(rb.size_ + uint32(masked_pos))
- copy(rb.buffer_[p:], bytes[:brotli_min_size_t(n, uint(rb.tail_size_-uint32(masked_pos)))])
- }
-}
-
-/* Push bytes into the ring buffer. */
-func ringBufferWrite(bytes []byte, n uint, rb *ringBuffer) {
- if rb.pos_ == 0 && uint32(n) < rb.tail_size_ {
- /* Special case for the first write: to process the first block, we don't
- need to allocate the whole ring-buffer and we don't need the tail
- either. However, we do this memory usage optimization only if the
- first write is less than the tail size, which is also the input block
- size, otherwise it is likely that other blocks will follow and we
- will need to reallocate to the full size anyway. */
- rb.pos_ = uint32(n)
-
- ringBufferInitBuffer(rb.pos_, rb)
- copy(rb.buffer_, bytes[:n])
- return
- }
-
- if rb.cur_size_ < rb.total_size_ {
- /* Lazily allocate the full buffer. */
- ringBufferInitBuffer(rb.total_size_, rb)
-
- /* Initialize the last two bytes to zero, so that we don't have to worry
- later when we copy the last two bytes to the first two positions. */
- rb.buffer_[rb.size_-2] = 0
-
- rb.buffer_[rb.size_-1] = 0
- }
- {
- var masked_pos uint = uint(rb.pos_ & rb.mask_)
-
- /* The length of the writes is limited so that we do not need to worry
- about a write */
- ringBufferWriteTail(bytes, n, rb)
-
- if uint32(masked_pos+n) <= rb.size_ {
- /* A single write fits. */
- copy(rb.buffer_[masked_pos:], bytes[:n])
- } else {
- /* Split into two writes.
- Copy into the end of the buffer, including the tail buffer. */
- copy(rb.buffer_[masked_pos:], bytes[:brotli_min_size_t(n, uint(rb.total_size_-uint32(masked_pos)))])
-
- /* Copy into the beginning of the buffer */
- copy(rb.buffer_, bytes[rb.size_-uint32(masked_pos):][:uint32(n)-(rb.size_-uint32(masked_pos))])
- }
- }
- {
- var not_first_lap bool = rb.pos_&(1<<31) != 0
- var rb_pos_mask uint32 = (1 << 31) - 1
- rb.data_[0] = rb.buffer_[rb.size_-2]
- rb.data_[1] = rb.buffer_[rb.size_-1]
- rb.pos_ = (rb.pos_ & rb_pos_mask) + uint32(uint32(n)&rb_pos_mask)
- if not_first_lap {
- /* Wrap, but preserve not-a-first-lap feature. */
- rb.pos_ |= 1 << 31
- }
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/state.go b/vendor/github.com/andybalholm/brotli/state.go
deleted file mode 100644
index 38d753eb..00000000
--- a/vendor/github.com/andybalholm/brotli/state.go
+++ /dev/null
@@ -1,294 +0,0 @@
-package brotli
-
-import "io"
-
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Brotli state for partial streaming decoding. */
-const (
- stateUninited = iota
- stateLargeWindowBits
- stateInitialize
- stateMetablockBegin
- stateMetablockHeader
- stateMetablockHeader2
- stateContextModes
- stateCommandBegin
- stateCommandInner
- stateCommandPostDecodeLiterals
- stateCommandPostWrapCopy
- stateUncompressed
- stateMetadata
- stateCommandInnerWrite
- stateMetablockDone
- stateCommandPostWrite1
- stateCommandPostWrite2
- stateHuffmanCode0
- stateHuffmanCode1
- stateHuffmanCode2
- stateHuffmanCode3
- stateContextMap1
- stateContextMap2
- stateTreeGroup
- stateDone
-)
-
-const (
- stateMetablockHeaderNone = iota
- stateMetablockHeaderEmpty
- stateMetablockHeaderNibbles
- stateMetablockHeaderSize
- stateMetablockHeaderUncompressed
- stateMetablockHeaderReserved
- stateMetablockHeaderBytes
- stateMetablockHeaderMetadata
-)
-
-const (
- stateUncompressedNone = iota
- stateUncompressedWrite
-)
-
-const (
- stateTreeGroupNone = iota
- stateTreeGroupLoop
-)
-
-const (
- stateContextMapNone = iota
- stateContextMapReadPrefix
- stateContextMapHuffman
- stateContextMapDecode
- stateContextMapTransform
-)
-
-const (
- stateHuffmanNone = iota
- stateHuffmanSimpleSize
- stateHuffmanSimpleRead
- stateHuffmanSimpleBuild
- stateHuffmanComplex
- stateHuffmanLengthSymbols
-)
-
-const (
- stateDecodeUint8None = iota
- stateDecodeUint8Short
- stateDecodeUint8Long
-)
-
-const (
- stateReadBlockLengthNone = iota
- stateReadBlockLengthSuffix
-)
-
-type Reader struct {
- src io.Reader
- buf []byte // scratch space for reading from src
- in []byte // current chunk to decode; usually aliases buf
-
- state int
- loop_counter int
- br bitReader
- buffer struct {
- u64 uint64
- u8 [8]byte
- }
- buffer_length uint32
- pos int
- max_backward_distance int
- max_distance int
- ringbuffer_size int
- ringbuffer_mask int
- dist_rb_idx int
- dist_rb [4]int
- error_code int
- sub_loop_counter uint32
- ringbuffer []byte
- ringbuffer_end []byte
- htree_command []huffmanCode
- context_lookup []byte
- context_map_slice []byte
- dist_context_map_slice []byte
- literal_hgroup huffmanTreeGroup
- insert_copy_hgroup huffmanTreeGroup
- distance_hgroup huffmanTreeGroup
- block_type_trees []huffmanCode
- block_len_trees []huffmanCode
- trivial_literal_context int
- distance_context int
- meta_block_remaining_len int
- block_length_index uint32
- block_length [3]uint32
- num_block_types [3]uint32
- block_type_rb [6]uint32
- distance_postfix_bits uint32
- num_direct_distance_codes uint32
- distance_postfix_mask int
- num_dist_htrees uint32
- dist_context_map []byte
- literal_htree []huffmanCode
- dist_htree_index byte
- repeat_code_len uint32
- prev_code_len uint32
- copy_length int
- distance_code int
- rb_roundtrips uint
- partial_pos_out uint
- symbol uint32
- repeat uint32
- space uint32
- table [32]huffmanCode
- symbol_lists symbolList
- symbols_lists_array [huffmanMaxCodeLength + 1 + numCommandSymbols]uint16
- next_symbol [32]int
- code_length_code_lengths [codeLengthCodes]byte
- code_length_histo [16]uint16
- htree_index int
- next []huffmanCode
- context_index uint32
- max_run_length_prefix uint32
- code uint32
- context_map_table [huffmanMaxSize272]huffmanCode
- substate_metablock_header int
- substate_tree_group int
- substate_context_map int
- substate_uncompressed int
- substate_huffman int
- substate_decode_uint8 int
- substate_read_block_length int
- is_last_metablock uint
- is_uncompressed uint
- is_metadata uint
- should_wrap_ringbuffer uint
- canny_ringbuffer_allocation uint
- large_window bool
- size_nibbles uint
- window_bits uint32
- new_ringbuffer_size int
- num_literal_htrees uint32
- context_map []byte
- context_modes []byte
- dictionary *dictionary
- transforms *transforms
- trivial_literal_contexts [8]uint32
-}
-
-func decoderStateInit(s *Reader) bool {
- s.error_code = 0 /* BROTLI_DECODER_NO_ERROR */
-
- initBitReader(&s.br)
- s.state = stateUninited
- s.large_window = false
- s.substate_metablock_header = stateMetablockHeaderNone
- s.substate_tree_group = stateTreeGroupNone
- s.substate_context_map = stateContextMapNone
- s.substate_uncompressed = stateUncompressedNone
- s.substate_huffman = stateHuffmanNone
- s.substate_decode_uint8 = stateDecodeUint8None
- s.substate_read_block_length = stateReadBlockLengthNone
-
- s.buffer_length = 0
- s.loop_counter = 0
- s.pos = 0
- s.rb_roundtrips = 0
- s.partial_pos_out = 0
-
- s.block_type_trees = nil
- s.block_len_trees = nil
- s.ringbuffer_size = 0
- s.new_ringbuffer_size = 0
- s.ringbuffer_mask = 0
-
- s.context_map = nil
- s.context_modes = nil
- s.dist_context_map = nil
- s.context_map_slice = nil
- s.dist_context_map_slice = nil
-
- s.sub_loop_counter = 0
-
- s.literal_hgroup.codes = nil
- s.literal_hgroup.htrees = nil
- s.insert_copy_hgroup.codes = nil
- s.insert_copy_hgroup.htrees = nil
- s.distance_hgroup.codes = nil
- s.distance_hgroup.htrees = nil
-
- s.is_last_metablock = 0
- s.is_uncompressed = 0
- s.is_metadata = 0
- s.should_wrap_ringbuffer = 0
- s.canny_ringbuffer_allocation = 1
-
- s.window_bits = 0
- s.max_distance = 0
- s.dist_rb[0] = 16
- s.dist_rb[1] = 15
- s.dist_rb[2] = 11
- s.dist_rb[3] = 4
- s.dist_rb_idx = 0
- s.block_type_trees = nil
- s.block_len_trees = nil
-
- s.symbol_lists.storage = s.symbols_lists_array[:]
- s.symbol_lists.offset = huffmanMaxCodeLength + 1
-
- s.dictionary = getDictionary()
- s.transforms = getTransforms()
-
- return true
-}
-
-func decoderStateMetablockBegin(s *Reader) {
- s.meta_block_remaining_len = 0
- s.block_length[0] = 1 << 24
- s.block_length[1] = 1 << 24
- s.block_length[2] = 1 << 24
- s.num_block_types[0] = 1
- s.num_block_types[1] = 1
- s.num_block_types[2] = 1
- s.block_type_rb[0] = 1
- s.block_type_rb[1] = 0
- s.block_type_rb[2] = 1
- s.block_type_rb[3] = 0
- s.block_type_rb[4] = 1
- s.block_type_rb[5] = 0
- s.context_map = nil
- s.context_modes = nil
- s.dist_context_map = nil
- s.context_map_slice = nil
- s.literal_htree = nil
- s.dist_context_map_slice = nil
- s.dist_htree_index = 0
- s.context_lookup = nil
- s.literal_hgroup.codes = nil
- s.literal_hgroup.htrees = nil
- s.insert_copy_hgroup.codes = nil
- s.insert_copy_hgroup.htrees = nil
- s.distance_hgroup.codes = nil
- s.distance_hgroup.htrees = nil
-}
-
-func decoderStateCleanupAfterMetablock(s *Reader) {
- s.context_modes = nil
- s.context_map = nil
- s.dist_context_map = nil
- s.literal_hgroup.htrees = nil
- s.insert_copy_hgroup.htrees = nil
- s.distance_hgroup.htrees = nil
-}
-
-func decoderHuffmanTreeGroupInit(s *Reader, group *huffmanTreeGroup, alphabet_size uint32, max_symbol uint32, ntrees uint32) bool {
- var max_table_size uint = uint(kMaxHuffmanTableSize[(alphabet_size+31)>>5])
- group.alphabet_size = uint16(alphabet_size)
- group.max_symbol = uint16(max_symbol)
- group.num_htrees = uint16(ntrees)
- group.htrees = make([][]huffmanCode, ntrees)
- group.codes = make([]huffmanCode, (uint(ntrees) * max_table_size))
- return !(group.codes == nil)
-}
diff --git a/vendor/github.com/andybalholm/brotli/static_dict.go b/vendor/github.com/andybalholm/brotli/static_dict.go
deleted file mode 100644
index bc05566d..00000000
--- a/vendor/github.com/andybalholm/brotli/static_dict.go
+++ /dev/null
@@ -1,662 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Class to model the static dictionary. */
-
-const maxStaticDictionaryMatchLen = 37
-
-const kInvalidMatch uint32 = 0xFFFFFFF
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-func hash(data []byte) uint32 {
- var h uint32 = binary.LittleEndian.Uint32(data) * kDictHashMul32
-
- /* The higher bits contain more mixture from the multiplication,
- so we take our results from there. */
- return h >> uint(32-kDictNumBits)
-}
-
-func addMatch(distance uint, len uint, len_code uint, matches []uint32) {
- var match uint32 = uint32((distance << 5) + len_code)
- matches[len] = brotli_min_uint32_t(matches[len], match)
-}
-
-func dictMatchLength(dict *dictionary, data []byte, id uint, len uint, maxlen uint) uint {
- var offset uint = uint(dict.offsets_by_length[len]) + len*id
- return findMatchLengthWithLimit(dict.data[offset:], data, brotli_min_size_t(uint(len), maxlen))
-}
-
-func isMatch(d *dictionary, w dictWord, data []byte, max_length uint) bool {
- if uint(w.len) > max_length {
- return false
- } else {
- var offset uint = uint(d.offsets_by_length[w.len]) + uint(w.len)*uint(w.idx)
- var dict []byte = d.data[offset:]
- if w.transform == 0 {
- /* Match against base dictionary word. */
- return findMatchLengthWithLimit(dict, data, uint(w.len)) == uint(w.len)
- } else if w.transform == 10 {
- /* Match against uppercase first transform.
- Note that there are only ASCII uppercase words in the lookup table. */
- return dict[0] >= 'a' && dict[0] <= 'z' && (dict[0]^32) == data[0] && findMatchLengthWithLimit(dict[1:], data[1:], uint(w.len)-1) == uint(w.len-1)
- } else {
- /* Match against uppercase all transform.
- Note that there are only ASCII uppercase words in the lookup table. */
- var i uint
- for i = 0; i < uint(w.len); i++ {
- if dict[i] >= 'a' && dict[i] <= 'z' {
- if (dict[i] ^ 32) != data[i] {
- return false
- }
- } else {
- if dict[i] != data[i] {
- return false
- }
- }
- }
-
- return true
- }
- }
-}
-
-func findAllStaticDictionaryMatches(dict *encoderDictionary, data []byte, min_length uint, max_length uint, matches []uint32) bool {
- var has_found_match bool = false
- {
- var offset uint = uint(dict.buckets[hash(data)])
- var end bool = offset == 0
- for !end {
- w := dict.dict_words[offset]
- offset++
- var l uint = uint(w.len) & 0x1F
- var n uint = uint(1) << dict.words.size_bits_by_length[l]
- var id uint = uint(w.idx)
- end = !(w.len&0x80 == 0)
- w.len = byte(l)
- if w.transform == 0 {
- var matchlen uint = dictMatchLength(dict.words, data, id, l, max_length)
- var s []byte
- var minlen uint
- var maxlen uint
- var len uint
-
- /* Transform "" + BROTLI_TRANSFORM_IDENTITY + "" */
- if matchlen == l {
- addMatch(id, l, l, matches)
- has_found_match = true
- }
-
- /* Transforms "" + BROTLI_TRANSFORM_OMIT_LAST_1 + "" and
- "" + BROTLI_TRANSFORM_OMIT_LAST_1 + "ing " */
- if matchlen >= l-1 {
- addMatch(id+12*n, l-1, l, matches)
- if l+2 < max_length && data[l-1] == 'i' && data[l] == 'n' && data[l+1] == 'g' && data[l+2] == ' ' {
- addMatch(id+49*n, l+3, l, matches)
- }
-
- has_found_match = true
- }
-
- /* Transform "" + BROTLI_TRANSFORM_OMIT_LAST_# + "" (# = 2 .. 9) */
- minlen = min_length
-
- if l > 9 {
- minlen = brotli_max_size_t(minlen, l-9)
- }
- maxlen = brotli_min_size_t(matchlen, l-2)
- for len = minlen; len <= maxlen; len++ {
- var cut uint = l - len
- var transform_id uint = (cut << 2) + uint((dict.cutoffTransforms>>(cut*6))&0x3F)
- addMatch(id+transform_id*n, uint(len), l, matches)
- has_found_match = true
- }
-
- if matchlen < l || l+6 >= max_length {
- continue
- }
-
- s = data[l:]
-
- /* Transforms "" + BROTLI_TRANSFORM_IDENTITY + */
- if s[0] == ' ' {
- addMatch(id+n, l+1, l, matches)
- if s[1] == 'a' {
- if s[2] == ' ' {
- addMatch(id+28*n, l+3, l, matches)
- } else if s[2] == 's' {
- if s[3] == ' ' {
- addMatch(id+46*n, l+4, l, matches)
- }
- } else if s[2] == 't' {
- if s[3] == ' ' {
- addMatch(id+60*n, l+4, l, matches)
- }
- } else if s[2] == 'n' {
- if s[3] == 'd' && s[4] == ' ' {
- addMatch(id+10*n, l+5, l, matches)
- }
- }
- } else if s[1] == 'b' {
- if s[2] == 'y' && s[3] == ' ' {
- addMatch(id+38*n, l+4, l, matches)
- }
- } else if s[1] == 'i' {
- if s[2] == 'n' {
- if s[3] == ' ' {
- addMatch(id+16*n, l+4, l, matches)
- }
- } else if s[2] == 's' {
- if s[3] == ' ' {
- addMatch(id+47*n, l+4, l, matches)
- }
- }
- } else if s[1] == 'f' {
- if s[2] == 'o' {
- if s[3] == 'r' && s[4] == ' ' {
- addMatch(id+25*n, l+5, l, matches)
- }
- } else if s[2] == 'r' {
- if s[3] == 'o' && s[4] == 'm' && s[5] == ' ' {
- addMatch(id+37*n, l+6, l, matches)
- }
- }
- } else if s[1] == 'o' {
- if s[2] == 'f' {
- if s[3] == ' ' {
- addMatch(id+8*n, l+4, l, matches)
- }
- } else if s[2] == 'n' {
- if s[3] == ' ' {
- addMatch(id+45*n, l+4, l, matches)
- }
- }
- } else if s[1] == 'n' {
- if s[2] == 'o' && s[3] == 't' && s[4] == ' ' {
- addMatch(id+80*n, l+5, l, matches)
- }
- } else if s[1] == 't' {
- if s[2] == 'h' {
- if s[3] == 'e' {
- if s[4] == ' ' {
- addMatch(id+5*n, l+5, l, matches)
- }
- } else if s[3] == 'a' {
- if s[4] == 't' && s[5] == ' ' {
- addMatch(id+29*n, l+6, l, matches)
- }
- }
- } else if s[2] == 'o' {
- if s[3] == ' ' {
- addMatch(id+17*n, l+4, l, matches)
- }
- }
- } else if s[1] == 'w' {
- if s[2] == 'i' && s[3] == 't' && s[4] == 'h' && s[5] == ' ' {
- addMatch(id+35*n, l+6, l, matches)
- }
- }
- } else if s[0] == '"' {
- addMatch(id+19*n, l+1, l, matches)
- if s[1] == '>' {
- addMatch(id+21*n, l+2, l, matches)
- }
- } else if s[0] == '.' {
- addMatch(id+20*n, l+1, l, matches)
- if s[1] == ' ' {
- addMatch(id+31*n, l+2, l, matches)
- if s[2] == 'T' && s[3] == 'h' {
- if s[4] == 'e' {
- if s[5] == ' ' {
- addMatch(id+43*n, l+6, l, matches)
- }
- } else if s[4] == 'i' {
- if s[5] == 's' && s[6] == ' ' {
- addMatch(id+75*n, l+7, l, matches)
- }
- }
- }
- }
- } else if s[0] == ',' {
- addMatch(id+76*n, l+1, l, matches)
- if s[1] == ' ' {
- addMatch(id+14*n, l+2, l, matches)
- }
- } else if s[0] == '\n' {
- addMatch(id+22*n, l+1, l, matches)
- if s[1] == '\t' {
- addMatch(id+50*n, l+2, l, matches)
- }
- } else if s[0] == ']' {
- addMatch(id+24*n, l+1, l, matches)
- } else if s[0] == '\'' {
- addMatch(id+36*n, l+1, l, matches)
- } else if s[0] == ':' {
- addMatch(id+51*n, l+1, l, matches)
- } else if s[0] == '(' {
- addMatch(id+57*n, l+1, l, matches)
- } else if s[0] == '=' {
- if s[1] == '"' {
- addMatch(id+70*n, l+2, l, matches)
- } else if s[1] == '\'' {
- addMatch(id+86*n, l+2, l, matches)
- }
- } else if s[0] == 'a' {
- if s[1] == 'l' && s[2] == ' ' {
- addMatch(id+84*n, l+3, l, matches)
- }
- } else if s[0] == 'e' {
- if s[1] == 'd' {
- if s[2] == ' ' {
- addMatch(id+53*n, l+3, l, matches)
- }
- } else if s[1] == 'r' {
- if s[2] == ' ' {
- addMatch(id+82*n, l+3, l, matches)
- }
- } else if s[1] == 's' {
- if s[2] == 't' && s[3] == ' ' {
- addMatch(id+95*n, l+4, l, matches)
- }
- }
- } else if s[0] == 'f' {
- if s[1] == 'u' && s[2] == 'l' && s[3] == ' ' {
- addMatch(id+90*n, l+4, l, matches)
- }
- } else if s[0] == 'i' {
- if s[1] == 'v' {
- if s[2] == 'e' && s[3] == ' ' {
- addMatch(id+92*n, l+4, l, matches)
- }
- } else if s[1] == 'z' {
- if s[2] == 'e' && s[3] == ' ' {
- addMatch(id+100*n, l+4, l, matches)
- }
- }
- } else if s[0] == 'l' {
- if s[1] == 'e' {
- if s[2] == 's' && s[3] == 's' && s[4] == ' ' {
- addMatch(id+93*n, l+5, l, matches)
- }
- } else if s[1] == 'y' {
- if s[2] == ' ' {
- addMatch(id+61*n, l+3, l, matches)
- }
- }
- } else if s[0] == 'o' {
- if s[1] == 'u' && s[2] == 's' && s[3] == ' ' {
- addMatch(id+106*n, l+4, l, matches)
- }
- }
- } else {
- var is_all_caps bool = (w.transform != transformUppercaseFirst)
- /* Set is_all_caps=0 for BROTLI_TRANSFORM_UPPERCASE_FIRST and
- is_all_caps=1 otherwise (BROTLI_TRANSFORM_UPPERCASE_ALL)
- transform. */
-
- var s []byte
- if !isMatch(dict.words, w, data, max_length) {
- continue
- }
-
- /* Transform "" + kUppercase{First,All} + "" */
- var tmp int
- if is_all_caps {
- tmp = 44
- } else {
- tmp = 9
- }
- addMatch(id+uint(tmp)*n, l, l, matches)
-
- has_found_match = true
- if l+1 >= max_length {
- continue
- }
-
- /* Transforms "" + kUppercase{First,All} + */
- s = data[l:]
-
- if s[0] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 68
- } else {
- tmp = 4
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- } else if s[0] == '"' {
- var tmp int
- if is_all_caps {
- tmp = 87
- } else {
- tmp = 66
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- if s[1] == '>' {
- var tmp int
- if is_all_caps {
- tmp = 97
- } else {
- tmp = 69
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- }
- } else if s[0] == '.' {
- var tmp int
- if is_all_caps {
- tmp = 101
- } else {
- tmp = 79
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- if s[1] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 114
- } else {
- tmp = 88
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- }
- } else if s[0] == ',' {
- var tmp int
- if is_all_caps {
- tmp = 112
- } else {
- tmp = 99
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- if s[1] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 107
- } else {
- tmp = 58
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- }
- } else if s[0] == '\'' {
- var tmp int
- if is_all_caps {
- tmp = 94
- } else {
- tmp = 74
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- } else if s[0] == '(' {
- var tmp int
- if is_all_caps {
- tmp = 113
- } else {
- tmp = 78
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
- } else if s[0] == '=' {
- if s[1] == '"' {
- var tmp int
- if is_all_caps {
- tmp = 105
- } else {
- tmp = 104
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- } else if s[1] == '\'' {
- var tmp int
- if is_all_caps {
- tmp = 116
- } else {
- tmp = 108
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- }
- }
- }
- }
- }
-
- /* Transforms with prefixes " " and "." */
- if max_length >= 5 && (data[0] == ' ' || data[0] == '.') {
- var is_space bool = (data[0] == ' ')
- var offset uint = uint(dict.buckets[hash(data[1:])])
- var end bool = offset == 0
- for !end {
- w := dict.dict_words[offset]
- offset++
- var l uint = uint(w.len) & 0x1F
- var n uint = uint(1) << dict.words.size_bits_by_length[l]
- var id uint = uint(w.idx)
- end = !(w.len&0x80 == 0)
- w.len = byte(l)
- if w.transform == 0 {
- var s []byte
- if !isMatch(dict.words, w, data[1:], max_length-1) {
- continue
- }
-
- /* Transforms " " + BROTLI_TRANSFORM_IDENTITY + "" and
- "." + BROTLI_TRANSFORM_IDENTITY + "" */
- var tmp int
- if is_space {
- tmp = 6
- } else {
- tmp = 32
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
-
- has_found_match = true
- if l+2 >= max_length {
- continue
- }
-
- /* Transforms " " + BROTLI_TRANSFORM_IDENTITY + and
- "." + BROTLI_TRANSFORM_IDENTITY +
- */
- s = data[l+1:]
-
- if s[0] == ' ' {
- var tmp int
- if is_space {
- tmp = 2
- } else {
- tmp = 77
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- } else if s[0] == '(' {
- var tmp int
- if is_space {
- tmp = 89
- } else {
- tmp = 67
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- } else if is_space {
- if s[0] == ',' {
- addMatch(id+103*n, l+2, l, matches)
- if s[1] == ' ' {
- addMatch(id+33*n, l+3, l, matches)
- }
- } else if s[0] == '.' {
- addMatch(id+71*n, l+2, l, matches)
- if s[1] == ' ' {
- addMatch(id+52*n, l+3, l, matches)
- }
- } else if s[0] == '=' {
- if s[1] == '"' {
- addMatch(id+81*n, l+3, l, matches)
- } else if s[1] == '\'' {
- addMatch(id+98*n, l+3, l, matches)
- }
- }
- }
- } else if is_space {
- var is_all_caps bool = (w.transform != transformUppercaseFirst)
- /* Set is_all_caps=0 for BROTLI_TRANSFORM_UPPERCASE_FIRST and
- is_all_caps=1 otherwise (BROTLI_TRANSFORM_UPPERCASE_ALL)
- transform. */
-
- var s []byte
- if !isMatch(dict.words, w, data[1:], max_length-1) {
- continue
- }
-
- /* Transforms " " + kUppercase{First,All} + "" */
- var tmp int
- if is_all_caps {
- tmp = 85
- } else {
- tmp = 30
- }
- addMatch(id+uint(tmp)*n, l+1, l, matches)
-
- has_found_match = true
- if l+2 >= max_length {
- continue
- }
-
- /* Transforms " " + kUppercase{First,All} + */
- s = data[l+1:]
-
- if s[0] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 83
- } else {
- tmp = 15
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- } else if s[0] == ',' {
- if !is_all_caps {
- addMatch(id+109*n, l+2, l, matches)
- }
-
- if s[1] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 111
- } else {
- tmp = 65
- }
- addMatch(id+uint(tmp)*n, l+3, l, matches)
- }
- } else if s[0] == '.' {
- var tmp int
- if is_all_caps {
- tmp = 115
- } else {
- tmp = 96
- }
- addMatch(id+uint(tmp)*n, l+2, l, matches)
- if s[1] == ' ' {
- var tmp int
- if is_all_caps {
- tmp = 117
- } else {
- tmp = 91
- }
- addMatch(id+uint(tmp)*n, l+3, l, matches)
- }
- } else if s[0] == '=' {
- if s[1] == '"' {
- var tmp int
- if is_all_caps {
- tmp = 110
- } else {
- tmp = 118
- }
- addMatch(id+uint(tmp)*n, l+3, l, matches)
- } else if s[1] == '\'' {
- var tmp int
- if is_all_caps {
- tmp = 119
- } else {
- tmp = 120
- }
- addMatch(id+uint(tmp)*n, l+3, l, matches)
- }
- }
- }
- }
- }
-
- if max_length >= 6 {
- /* Transforms with prefixes "e ", "s ", ", " and "\xC2\xA0" */
- if (data[1] == ' ' && (data[0] == 'e' || data[0] == 's' || data[0] == ',')) || (data[0] == 0xC2 && data[1] == 0xA0) {
- var offset uint = uint(dict.buckets[hash(data[2:])])
- var end bool = offset == 0
- for !end {
- w := dict.dict_words[offset]
- offset++
- var l uint = uint(w.len) & 0x1F
- var n uint = uint(1) << dict.words.size_bits_by_length[l]
- var id uint = uint(w.idx)
- end = !(w.len&0x80 == 0)
- w.len = byte(l)
- if w.transform == 0 && isMatch(dict.words, w, data[2:], max_length-2) {
- if data[0] == 0xC2 {
- addMatch(id+102*n, l+2, l, matches)
- has_found_match = true
- } else if l+2 < max_length && data[l+2] == ' ' {
- var t uint = 13
- if data[0] == 'e' {
- t = 18
- } else if data[0] == 's' {
- t = 7
- }
- addMatch(id+t*n, l+3, l, matches)
- has_found_match = true
- }
- }
- }
- }
- }
-
- if max_length >= 9 {
- /* Transforms with prefixes " the " and ".com/" */
- if (data[0] == ' ' && data[1] == 't' && data[2] == 'h' && data[3] == 'e' && data[4] == ' ') || (data[0] == '.' && data[1] == 'c' && data[2] == 'o' && data[3] == 'm' && data[4] == '/') {
- var offset uint = uint(dict.buckets[hash(data[5:])])
- var end bool = offset == 0
- for !end {
- w := dict.dict_words[offset]
- offset++
- var l uint = uint(w.len) & 0x1F
- var n uint = uint(1) << dict.words.size_bits_by_length[l]
- var id uint = uint(w.idx)
- end = !(w.len&0x80 == 0)
- w.len = byte(l)
- if w.transform == 0 && isMatch(dict.words, w, data[5:], max_length-5) {
- var tmp int
- if data[0] == ' ' {
- tmp = 41
- } else {
- tmp = 72
- }
- addMatch(id+uint(tmp)*n, l+5, l, matches)
- has_found_match = true
- if l+5 < max_length {
- var s []byte = data[l+5:]
- if data[0] == ' ' {
- if l+8 < max_length && s[0] == ' ' && s[1] == 'o' && s[2] == 'f' && s[3] == ' ' {
- addMatch(id+62*n, l+9, l, matches)
- if l+12 < max_length && s[4] == 't' && s[5] == 'h' && s[6] == 'e' && s[7] == ' ' {
- addMatch(id+73*n, l+13, l, matches)
- }
- }
- }
- }
- }
- }
- }
- }
-
- return has_found_match
-}
diff --git a/vendor/github.com/andybalholm/brotli/static_dict_lut.go b/vendor/github.com/andybalholm/brotli/static_dict_lut.go
deleted file mode 100644
index b33963e9..00000000
--- a/vendor/github.com/andybalholm/brotli/static_dict_lut.go
+++ /dev/null
@@ -1,75094 +0,0 @@
-package brotli
-
-/* Copyright 2017 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Lookup table for static dictionary and transforms. */
-
-type dictWord struct {
- len byte
- transform byte
- idx uint16
-}
-
-const kDictNumBits int = 15
-
-const kDictHashMul32 uint32 = 0x1E35A7BD
-
-var kStaticDictionaryBuckets = [32768]uint16{
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3,
- 6,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20,
- 0,
- 0,
- 0,
- 21,
- 0,
- 22,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23,
- 0,
- 0,
- 25,
- 0,
- 29,
- 0,
- 53,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 55,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 61,
- 76,
- 0,
- 0,
- 0,
- 94,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 96,
- 0,
- 97,
- 0,
- 98,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 99,
- 101,
- 106,
- 108,
- 0,
- 0,
- 0,
- 0,
- 0,
- 110,
- 0,
- 111,
- 112,
- 0,
- 113,
- 118,
- 124,
- 0,
- 0,
- 0,
- 0,
- 0,
- 125,
- 128,
- 0,
- 0,
- 0,
- 0,
- 129,
- 0,
- 0,
- 131,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 132,
- 0,
- 0,
- 135,
- 0,
- 0,
- 0,
- 137,
- 0,
- 0,
- 0,
- 0,
- 0,
- 138,
- 139,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 142,
- 143,
- 144,
- 0,
- 0,
- 0,
- 0,
- 0,
- 145,
- 0,
- 0,
- 0,
- 146,
- 149,
- 151,
- 152,
- 0,
- 0,
- 153,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 154,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 155,
- 0,
- 0,
- 0,
- 0,
- 160,
- 182,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 183,
- 0,
- 0,
- 0,
- 188,
- 189,
- 0,
- 0,
- 192,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 194,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 197,
- 202,
- 209,
- 0,
- 0,
- 210,
- 0,
- 224,
- 0,
- 0,
- 0,
- 225,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 231,
- 0,
- 0,
- 0,
- 232,
- 0,
- 240,
- 0,
- 0,
- 242,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 244,
- 0,
- 0,
- 0,
- 246,
- 0,
- 0,
- 249,
- 251,
- 253,
- 0,
- 0,
- 0,
- 0,
- 0,
- 258,
- 0,
- 0,
- 261,
- 263,
- 0,
- 0,
- 0,
- 267,
- 0,
- 0,
- 268,
- 0,
- 269,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 271,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 272,
- 0,
- 273,
- 0,
- 277,
- 0,
- 278,
- 286,
- 0,
- 0,
- 0,
- 0,
- 287,
- 0,
- 289,
- 290,
- 291,
- 0,
- 0,
- 0,
- 295,
- 0,
- 0,
- 296,
- 297,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 298,
- 0,
- 0,
- 0,
- 299,
- 0,
- 0,
- 305,
- 0,
- 324,
- 0,
- 0,
- 0,
- 0,
- 0,
- 327,
- 0,
- 328,
- 329,
- 0,
- 0,
- 0,
- 0,
- 336,
- 0,
- 0,
- 340,
- 0,
- 341,
- 342,
- 343,
- 0,
- 0,
- 346,
- 0,
- 348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 349,
- 351,
- 0,
- 0,
- 355,
- 0,
- 363,
- 0,
- 364,
- 0,
- 368,
- 369,
- 0,
- 370,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 372,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 373,
- 0,
- 375,
- 0,
- 0,
- 0,
- 0,
- 376,
- 377,
- 0,
- 0,
- 394,
- 395,
- 396,
- 0,
- 0,
- 398,
- 0,
- 0,
- 0,
- 0,
- 400,
- 0,
- 0,
- 408,
- 0,
- 0,
- 0,
- 0,
- 420,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 421,
- 0,
- 0,
- 422,
- 423,
- 0,
- 0,
- 429,
- 435,
- 436,
- 442,
- 0,
- 0,
- 443,
- 0,
- 444,
- 445,
- 453,
- 456,
- 0,
- 457,
- 0,
- 0,
- 0,
- 0,
- 0,
- 458,
- 0,
- 0,
- 0,
- 459,
- 0,
- 0,
- 0,
- 460,
- 0,
- 462,
- 463,
- 465,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 466,
- 469,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 470,
- 0,
- 0,
- 0,
- 474,
- 0,
- 476,
- 0,
- 0,
- 0,
- 0,
- 483,
- 0,
- 485,
- 0,
- 0,
- 0,
- 486,
- 0,
- 0,
- 488,
- 491,
- 492,
- 0,
- 0,
- 497,
- 499,
- 500,
- 0,
- 501,
- 0,
- 0,
- 0,
- 505,
- 0,
- 0,
- 506,
- 0,
- 0,
- 0,
- 507,
- 0,
- 0,
- 0,
- 509,
- 0,
- 0,
- 0,
- 0,
- 511,
- 512,
- 519,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 529,
- 530,
- 0,
- 0,
- 0,
- 534,
- 0,
- 0,
- 0,
- 0,
- 543,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 553,
- 0,
- 0,
- 0,
- 0,
- 557,
- 560,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 561,
- 0,
- 564,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 565,
- 566,
- 0,
- 575,
- 0,
- 619,
- 0,
- 620,
- 0,
- 0,
- 623,
- 624,
- 0,
- 0,
- 0,
- 625,
- 0,
- 0,
- 626,
- 627,
- 0,
- 0,
- 628,
- 0,
- 0,
- 0,
- 0,
- 630,
- 0,
- 631,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 641,
- 0,
- 0,
- 0,
- 0,
- 643,
- 656,
- 668,
- 0,
- 0,
- 0,
- 673,
- 0,
- 0,
- 0,
- 674,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 682,
- 0,
- 687,
- 0,
- 690,
- 0,
- 693,
- 699,
- 700,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 704,
- 705,
- 0,
- 0,
- 0,
- 0,
- 707,
- 710,
- 0,
- 711,
- 0,
- 0,
- 0,
- 0,
- 726,
- 0,
- 0,
- 729,
- 0,
- 0,
- 0,
- 730,
- 731,
- 0,
- 0,
- 0,
- 0,
- 0,
- 752,
- 0,
- 0,
- 0,
- 762,
- 0,
- 763,
- 0,
- 0,
- 767,
- 0,
- 0,
- 0,
- 770,
- 774,
- 0,
- 0,
- 775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 776,
- 0,
- 0,
- 0,
- 777,
- 783,
- 0,
- 0,
- 0,
- 785,
- 788,
- 0,
- 0,
- 0,
- 0,
- 790,
- 0,
- 0,
- 0,
- 793,
- 0,
- 0,
- 0,
- 0,
- 794,
- 0,
- 0,
- 804,
- 819,
- 821,
- 0,
- 827,
- 0,
- 0,
- 0,
- 834,
- 0,
- 0,
- 835,
- 0,
- 0,
- 0,
- 841,
- 0,
- 844,
- 0,
- 850,
- 851,
- 859,
- 0,
- 860,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 874,
- 0,
- 876,
- 0,
- 877,
- 890,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 893,
- 894,
- 898,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 899,
- 0,
- 0,
- 0,
- 900,
- 904,
- 906,
- 0,
- 0,
- 0,
- 907,
- 0,
- 908,
- 909,
- 0,
- 910,
- 0,
- 0,
- 0,
- 0,
- 911,
- 0,
- 0,
- 0,
- 0,
- 0,
- 916,
- 0,
- 0,
- 0,
- 922,
- 925,
- 0,
- 930,
- 0,
- 934,
- 0,
- 0,
- 0,
- 0,
- 0,
- 943,
- 0,
- 0,
- 944,
- 0,
- 953,
- 954,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 955,
- 0,
- 962,
- 963,
- 0,
- 0,
- 976,
- 0,
- 0,
- 977,
- 978,
- 979,
- 980,
- 0,
- 981,
- 0,
- 0,
- 0,
- 0,
- 984,
- 0,
- 0,
- 985,
- 0,
- 0,
- 987,
- 989,
- 991,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 992,
- 0,
- 0,
- 0,
- 993,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 996,
- 0,
- 0,
- 0,
- 1000,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1002,
- 0,
- 0,
- 0,
- 0,
- 1005,
- 1007,
- 0,
- 0,
- 0,
- 1009,
- 0,
- 0,
- 0,
- 1010,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1011,
- 0,
- 1012,
- 0,
- 0,
- 0,
- 0,
- 1014,
- 1016,
- 0,
- 0,
- 0,
- 1020,
- 0,
- 1021,
- 0,
- 0,
- 0,
- 0,
- 1022,
- 0,
- 0,
- 0,
- 1024,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1025,
- 0,
- 0,
- 1026,
- 1027,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1031,
- 0,
- 1033,
- 0,
- 0,
- 0,
- 0,
- 1034,
- 0,
- 0,
- 0,
- 1037,
- 1040,
- 0,
- 0,
- 0,
- 1042,
- 1043,
- 0,
- 0,
- 1053,
- 0,
- 1054,
- 0,
- 0,
- 1057,
- 0,
- 0,
- 0,
- 1058,
- 0,
- 0,
- 1060,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1061,
- 0,
- 0,
- 1062,
- 0,
- 0,
- 0,
- 0,
- 1063,
- 0,
- 0,
- 0,
- 0,
- 1064,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1065,
- 0,
- 0,
- 0,
- 0,
- 1066,
- 1067,
- 0,
- 0,
- 0,
- 1069,
- 1070,
- 1072,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1073,
- 0,
- 1075,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1080,
- 1084,
- 0,
- 0,
- 0,
- 0,
- 1088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1094,
- 0,
- 1095,
- 0,
- 1107,
- 0,
- 0,
- 0,
- 1112,
- 1114,
- 0,
- 1119,
- 0,
- 1122,
- 0,
- 0,
- 1126,
- 0,
- 1129,
- 0,
- 1130,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1132,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1144,
- 0,
- 0,
- 1145,
- 1146,
- 0,
- 1148,
- 1149,
- 0,
- 0,
- 1150,
- 1151,
- 0,
- 0,
- 0,
- 0,
- 1152,
- 0,
- 1153,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1154,
- 0,
- 1163,
- 0,
- 0,
- 0,
- 1164,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1165,
- 0,
- 1167,
- 0,
- 1170,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1171,
- 1172,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1173,
- 1175,
- 1177,
- 0,
- 1186,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1195,
- 0,
- 0,
- 1221,
- 0,
- 0,
- 1224,
- 0,
- 0,
- 1227,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1228,
- 1229,
- 0,
- 0,
- 1230,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1231,
- 0,
- 0,
- 0,
- 1233,
- 0,
- 0,
- 1243,
- 1244,
- 1246,
- 1248,
- 0,
- 0,
- 0,
- 0,
- 1254,
- 1255,
- 1258,
- 1259,
- 0,
- 0,
- 0,
- 1260,
- 0,
- 0,
- 1261,
- 0,
- 0,
- 0,
- 1262,
- 1264,
- 0,
- 0,
- 1265,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1266,
- 0,
- 1267,
- 0,
- 0,
- 0,
- 0,
- 1273,
- 1274,
- 1276,
- 1289,
- 0,
- 0,
- 1291,
- 1292,
- 1293,
- 0,
- 0,
- 1294,
- 1295,
- 1296,
- 0,
- 0,
- 0,
- 0,
- 1302,
- 0,
- 1304,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1311,
- 1312,
- 0,
- 1314,
- 0,
- 1316,
- 1320,
- 1321,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1322,
- 1323,
- 1324,
- 0,
- 1335,
- 0,
- 1336,
- 0,
- 0,
- 0,
- 0,
- 1341,
- 1342,
- 0,
- 1346,
- 0,
- 1357,
- 0,
- 0,
- 0,
- 1358,
- 1360,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1361,
- 0,
- 0,
- 0,
- 1362,
- 1365,
- 0,
- 1366,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1379,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1386,
- 0,
- 1388,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1395,
- 0,
- 0,
- 0,
- 0,
- 1403,
- 0,
- 1405,
- 0,
- 0,
- 1407,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1408,
- 1409,
- 0,
- 1410,
- 0,
- 0,
- 0,
- 1412,
- 1413,
- 1416,
- 0,
- 0,
- 1429,
- 1451,
- 0,
- 0,
- 1454,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1455,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1456,
- 0,
- 0,
- 0,
- 0,
- 1459,
- 1460,
- 1461,
- 1475,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1477,
- 0,
- 1480,
- 0,
- 1481,
- 0,
- 0,
- 1486,
- 0,
- 0,
- 1495,
- 0,
- 0,
- 0,
- 1496,
- 0,
- 0,
- 1498,
- 1499,
- 1501,
- 1520,
- 1521,
- 0,
- 0,
- 0,
- 1526,
- 0,
- 0,
- 0,
- 0,
- 1528,
- 1529,
- 0,
- 1533,
- 1536,
- 0,
- 0,
- 0,
- 1537,
- 1538,
- 1549,
- 0,
- 1550,
- 1558,
- 1559,
- 1572,
- 0,
- 1573,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1575,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1579,
- 0,
- 1599,
- 0,
- 1603,
- 0,
- 1604,
- 0,
- 1605,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1608,
- 1610,
- 0,
- 0,
- 0,
- 0,
- 1611,
- 0,
- 1615,
- 0,
- 1616,
- 1618,
- 0,
- 1619,
- 0,
- 0,
- 1622,
- 0,
- 0,
- 0,
- 0,
- 1634,
- 0,
- 0,
- 0,
- 1635,
- 0,
- 0,
- 0,
- 1641,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1643,
- 0,
- 0,
- 0,
- 1650,
- 0,
- 0,
- 1652,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1653,
- 0,
- 0,
- 0,
- 1654,
- 0,
- 0,
- 0,
- 0,
- 1655,
- 0,
- 1662,
- 0,
- 0,
- 1663,
- 1664,
- 0,
- 0,
- 1668,
- 0,
- 0,
- 1669,
- 1670,
- 0,
- 1672,
- 1673,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1674,
- 0,
- 0,
- 0,
- 1675,
- 1676,
- 1680,
- 0,
- 1682,
- 0,
- 0,
- 1687,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1704,
- 0,
- 0,
- 1705,
- 0,
- 0,
- 1721,
- 0,
- 0,
- 0,
- 0,
- 1734,
- 1735,
- 0,
- 0,
- 0,
- 0,
- 1737,
- 0,
- 0,
- 0,
- 0,
- 1739,
- 0,
- 0,
- 1740,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1741,
- 1743,
- 0,
- 0,
- 0,
- 0,
- 1745,
- 0,
- 0,
- 0,
- 1749,
- 0,
- 0,
- 0,
- 1751,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1760,
- 0,
- 0,
- 0,
- 0,
- 1765,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1784,
- 0,
- 1785,
- 1787,
- 0,
- 0,
- 0,
- 0,
- 1788,
- 1789,
- 0,
- 0,
- 0,
- 0,
- 1790,
- 1791,
- 1793,
- 0,
- 1798,
- 1799,
- 0,
- 0,
- 0,
- 0,
- 1801,
- 0,
- 1803,
- 1805,
- 0,
- 0,
- 0,
- 1806,
- 1811,
- 0,
- 1812,
- 1814,
- 0,
- 1821,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1822,
- 1833,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1848,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1857,
- 0,
- 0,
- 0,
- 1859,
- 0,
- 0,
- 0,
- 0,
- 1861,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1866,
- 0,
- 1921,
- 1925,
- 0,
- 0,
- 0,
- 1929,
- 1930,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1931,
- 0,
- 0,
- 0,
- 0,
- 1932,
- 0,
- 0,
- 0,
- 1934,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1946,
- 0,
- 0,
- 1948,
- 0,
- 0,
- 0,
- 0,
- 1950,
- 0,
- 1957,
- 0,
- 1958,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1965,
- 1967,
- 0,
- 0,
- 0,
- 0,
- 1968,
- 0,
- 1969,
- 0,
- 1971,
- 1972,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1973,
- 0,
- 0,
- 0,
- 0,
- 1975,
- 0,
- 0,
- 0,
- 0,
- 1976,
- 1979,
- 0,
- 1982,
- 0,
- 0,
- 0,
- 0,
- 1984,
- 1988,
- 0,
- 0,
- 0,
- 0,
- 1990,
- 2004,
- 2008,
- 0,
- 0,
- 0,
- 2012,
- 2013,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2015,
- 0,
- 2016,
- 2017,
- 0,
- 0,
- 0,
- 0,
- 2021,
- 0,
- 0,
- 2025,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2029,
- 2036,
- 2040,
- 0,
- 2042,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2043,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2045,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2046,
- 2047,
- 0,
- 2048,
- 2049,
- 0,
- 2059,
- 0,
- 0,
- 2063,
- 0,
- 2064,
- 2065,
- 0,
- 0,
- 2066,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2069,
- 0,
- 0,
- 0,
- 0,
- 2070,
- 0,
- 2071,
- 0,
- 2072,
- 0,
- 0,
- 0,
- 0,
- 2080,
- 2082,
- 2083,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2085,
- 0,
- 2086,
- 2088,
- 2089,
- 2105,
- 0,
- 0,
- 0,
- 0,
- 2107,
- 0,
- 0,
- 2116,
- 2117,
- 0,
- 2120,
- 0,
- 0,
- 2122,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2123,
- 0,
- 0,
- 2125,
- 2127,
- 2128,
- 0,
- 0,
- 0,
- 2130,
- 0,
- 0,
- 0,
- 2137,
- 2139,
- 2140,
- 2141,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2144,
- 2145,
- 0,
- 0,
- 2146,
- 2149,
- 0,
- 0,
- 0,
- 0,
- 2150,
- 0,
- 0,
- 2151,
- 2158,
- 0,
- 2159,
- 0,
- 2160,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2161,
- 2162,
- 0,
- 0,
- 2194,
- 2202,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2205,
- 2217,
- 0,
- 2220,
- 0,
- 2221,
- 0,
- 2222,
- 2224,
- 0,
- 0,
- 0,
- 0,
- 2237,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2238,
- 0,
- 2239,
- 2241,
- 0,
- 0,
- 2242,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2243,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2252,
- 0,
- 0,
- 2253,
- 0,
- 0,
- 0,
- 2257,
- 2258,
- 0,
- 0,
- 0,
- 2260,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2262,
- 0,
- 2264,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2269,
- 2270,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2271,
- 0,
- 2273,
- 0,
- 0,
- 0,
- 0,
- 2277,
- 0,
- 0,
- 0,
- 0,
- 2278,
- 0,
- 0,
- 0,
- 0,
- 2279,
- 0,
- 2280,
- 0,
- 2283,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2287,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2289,
- 2290,
- 0,
- 0,
- 0,
- 0,
- 2291,
- 0,
- 2292,
- 0,
- 0,
- 0,
- 2293,
- 2295,
- 2296,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2298,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2303,
- 0,
- 2305,
- 0,
- 0,
- 2306,
- 0,
- 2307,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2313,
- 2314,
- 2315,
- 2316,
- 0,
- 0,
- 2318,
- 0,
- 2319,
- 0,
- 2322,
- 0,
- 0,
- 2323,
- 0,
- 2324,
- 0,
- 2326,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2335,
- 0,
- 2336,
- 2338,
- 2339,
- 0,
- 2340,
- 0,
- 0,
- 0,
- 2355,
- 0,
- 2375,
- 0,
- 2382,
- 2386,
- 0,
- 2387,
- 0,
- 0,
- 2394,
- 0,
- 0,
- 0,
- 0,
- 2395,
- 0,
- 2397,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2398,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2399,
- 2402,
- 2404,
- 2408,
- 2411,
- 0,
- 0,
- 0,
- 2413,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2415,
- 0,
- 0,
- 2416,
- 2417,
- 2419,
- 0,
- 2420,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2425,
- 0,
- 0,
- 0,
- 2426,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2427,
- 2428,
- 0,
- 2429,
- 0,
- 0,
- 2430,
- 2434,
- 0,
- 2436,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2441,
- 2442,
- 0,
- 2445,
- 0,
- 0,
- 2446,
- 2457,
- 0,
- 2459,
- 0,
- 0,
- 2462,
- 0,
- 2464,
- 0,
- 2477,
- 0,
- 2478,
- 2486,
- 0,
- 0,
- 0,
- 2491,
- 0,
- 0,
- 2493,
- 0,
- 0,
- 2494,
- 0,
- 2495,
- 0,
- 2513,
- 2523,
- 0,
- 0,
- 0,
- 0,
- 2524,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2528,
- 2529,
- 2530,
- 0,
- 0,
- 2531,
- 0,
- 2533,
- 0,
- 0,
- 2534,
- 2535,
- 0,
- 2536,
- 2537,
- 0,
- 2538,
- 0,
- 2539,
- 2540,
- 0,
- 0,
- 0,
- 2545,
- 2546,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2548,
- 0,
- 0,
- 2549,
- 0,
- 2550,
- 2555,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2557,
- 0,
- 2560,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2561,
- 0,
- 2576,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2577,
- 2578,
- 0,
- 0,
- 0,
- 2579,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2580,
- 0,
- 0,
- 0,
- 0,
- 2581,
- 0,
- 0,
- 0,
- 0,
- 2583,
- 0,
- 2584,
- 0,
- 2588,
- 2590,
- 0,
- 0,
- 0,
- 2591,
- 0,
- 0,
- 0,
- 0,
- 2593,
- 2594,
- 0,
- 2595,
- 0,
- 2601,
- 2602,
- 0,
- 0,
- 2603,
- 0,
- 2605,
- 0,
- 0,
- 0,
- 2606,
- 2607,
- 2611,
- 0,
- 2615,
- 0,
- 0,
- 0,
- 2617,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2619,
- 0,
- 0,
- 2620,
- 0,
- 0,
- 0,
- 2621,
- 0,
- 2623,
- 0,
- 2625,
- 0,
- 0,
- 2628,
- 2629,
- 0,
- 0,
- 2635,
- 2636,
- 2637,
- 0,
- 0,
- 2639,
- 0,
- 0,
- 0,
- 2642,
- 0,
- 0,
- 0,
- 0,
- 2643,
- 0,
- 2644,
- 0,
- 2649,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2655,
- 2656,
- 0,
- 0,
- 2657,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2658,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2659,
- 0,
- 0,
- 0,
- 0,
- 2664,
- 2685,
- 0,
- 2687,
- 0,
- 2688,
- 0,
- 0,
- 2689,
- 0,
- 0,
- 2694,
- 0,
- 2695,
- 0,
- 0,
- 2698,
- 0,
- 2701,
- 2706,
- 0,
- 0,
- 0,
- 2707,
- 0,
- 2709,
- 2710,
- 2711,
- 0,
- 0,
- 0,
- 2720,
- 2730,
- 2735,
- 0,
- 0,
- 0,
- 0,
- 2738,
- 2740,
- 0,
- 0,
- 0,
- 0,
- 2747,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2748,
- 0,
- 0,
- 2749,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2750,
- 0,
- 0,
- 2752,
- 2754,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2758,
- 0,
- 0,
- 0,
- 0,
- 2762,
- 0,
- 0,
- 0,
- 0,
- 2763,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2764,
- 2767,
- 0,
- 0,
- 0,
- 0,
- 2768,
- 0,
- 0,
- 2770,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2771,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2772,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2773,
- 2776,
- 0,
- 0,
- 2783,
- 0,
- 0,
- 2784,
- 0,
- 2789,
- 0,
- 2790,
- 0,
- 0,
- 0,
- 2792,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2793,
- 2795,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2796,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2797,
- 2799,
- 0,
- 0,
- 0,
- 0,
- 2803,
- 0,
- 0,
- 0,
- 0,
- 2806,
- 0,
- 2807,
- 2808,
- 2817,
- 2819,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2821,
- 0,
- 0,
- 0,
- 0,
- 2822,
- 2823,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2824,
- 0,
- 0,
- 2828,
- 0,
- 2834,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2836,
- 0,
- 2838,
- 0,
- 0,
- 2839,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2841,
- 0,
- 0,
- 0,
- 2842,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2843,
- 2844,
- 0,
- 0,
- 0,
- 0,
- 2846,
- 0,
- 0,
- 2847,
- 0,
- 2849,
- 0,
- 2853,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2857,
- 0,
- 0,
- 0,
- 0,
- 2858,
- 0,
- 2859,
- 0,
- 0,
- 2860,
- 0,
- 2862,
- 2868,
- 0,
- 0,
- 0,
- 0,
- 2875,
- 0,
- 2876,
- 0,
- 0,
- 2877,
- 2878,
- 2884,
- 2889,
- 2890,
- 0,
- 0,
- 2891,
- 0,
- 0,
- 2892,
- 0,
- 0,
- 0,
- 2906,
- 2912,
- 0,
- 2913,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2916,
- 0,
- 2934,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2935,
- 0,
- 0,
- 0,
- 0,
- 2939,
- 0,
- 2940,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2941,
- 0,
- 0,
- 0,
- 2946,
- 0,
- 2949,
- 0,
- 0,
- 2950,
- 2954,
- 2955,
- 0,
- 0,
- 0,
- 2959,
- 2961,
- 0,
- 0,
- 2962,
- 0,
- 2963,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2964,
- 2965,
- 2966,
- 2967,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2969,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2970,
- 2975,
- 0,
- 2982,
- 2983,
- 2984,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2989,
- 0,
- 0,
- 2990,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2991,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 2998,
- 0,
- 3000,
- 3001,
- 0,
- 0,
- 3002,
- 0,
- 0,
- 0,
- 3003,
- 0,
- 0,
- 3012,
- 0,
- 0,
- 3022,
- 0,
- 0,
- 3024,
- 0,
- 0,
- 3025,
- 3027,
- 0,
- 0,
- 0,
- 3030,
- 0,
- 0,
- 0,
- 0,
- 3034,
- 3035,
- 0,
- 0,
- 3036,
- 0,
- 3039,
- 0,
- 3049,
- 0,
- 0,
- 3050,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3051,
- 0,
- 3053,
- 0,
- 0,
- 0,
- 0,
- 3057,
- 0,
- 3058,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3063,
- 0,
- 0,
- 3073,
- 3074,
- 3078,
- 3079,
- 0,
- 3080,
- 3086,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3087,
- 0,
- 3092,
- 0,
- 3095,
- 0,
- 3099,
- 0,
- 0,
- 0,
- 3100,
- 0,
- 3101,
- 3102,
- 0,
- 3122,
- 0,
- 0,
- 0,
- 3124,
- 0,
- 3125,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3132,
- 3134,
- 0,
- 0,
- 3136,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3147,
- 0,
- 0,
- 3149,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3150,
- 3151,
- 3152,
- 0,
- 0,
- 0,
- 0,
- 3158,
- 0,
- 0,
- 3160,
- 0,
- 0,
- 3161,
- 0,
- 0,
- 3162,
- 0,
- 3163,
- 3166,
- 3168,
- 0,
- 0,
- 3169,
- 3170,
- 0,
- 0,
- 3171,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3182,
- 0,
- 3184,
- 0,
- 0,
- 3188,
- 0,
- 0,
- 3194,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3204,
- 0,
- 0,
- 0,
- 0,
- 3209,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3216,
- 3217,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3219,
- 0,
- 0,
- 3220,
- 3222,
- 0,
- 3223,
- 0,
- 0,
- 0,
- 0,
- 3224,
- 0,
- 3225,
- 3226,
- 0,
- 3228,
- 3233,
- 0,
- 3239,
- 3241,
- 3242,
- 0,
- 0,
- 3251,
- 3252,
- 3253,
- 3255,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3260,
- 0,
- 0,
- 3261,
- 0,
- 0,
- 0,
- 3267,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3271,
- 0,
- 0,
- 0,
- 3278,
- 0,
- 3282,
- 0,
- 0,
- 0,
- 3284,
- 0,
- 0,
- 0,
- 3285,
- 3286,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3287,
- 3292,
- 0,
- 0,
- 0,
- 0,
- 3294,
- 3296,
- 0,
- 0,
- 3299,
- 3300,
- 3301,
- 0,
- 3302,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3304,
- 3306,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3308,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3311,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3312,
- 3314,
- 3315,
- 0,
- 3318,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3319,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3321,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3322,
- 0,
- 0,
- 3324,
- 3325,
- 0,
- 0,
- 3326,
- 0,
- 0,
- 3328,
- 3329,
- 3331,
- 0,
- 0,
- 3335,
- 0,
- 0,
- 3337,
- 0,
- 3338,
- 0,
- 0,
- 0,
- 0,
- 3343,
- 3347,
- 0,
- 0,
- 0,
- 3348,
- 0,
- 0,
- 3351,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3354,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3355,
- 0,
- 0,
- 3365,
- 3366,
- 3367,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3368,
- 3369,
- 0,
- 3370,
- 0,
- 0,
- 3373,
- 0,
- 0,
- 3376,
- 0,
- 0,
- 3377,
- 0,
- 3379,
- 3387,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3390,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3402,
- 0,
- 3403,
- 3436,
- 3437,
- 3439,
- 0,
- 0,
- 3441,
- 0,
- 0,
- 0,
- 3442,
- 0,
- 0,
- 3449,
- 0,
- 0,
- 0,
- 3450,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3451,
- 0,
- 0,
- 3452,
- 0,
- 3453,
- 3456,
- 0,
- 3457,
- 0,
- 0,
- 3458,
- 0,
- 3459,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3460,
- 0,
- 0,
- 3469,
- 3470,
- 0,
- 0,
- 3475,
- 0,
- 0,
- 0,
- 3480,
- 3487,
- 3489,
- 0,
- 3490,
- 0,
- 0,
- 3491,
- 3499,
- 0,
- 3500,
- 0,
- 0,
- 3501,
- 0,
- 0,
- 0,
- 3502,
- 0,
- 3514,
- 0,
- 0,
- 0,
- 3516,
- 3517,
- 0,
- 0,
- 0,
- 3518,
- 0,
- 0,
- 0,
- 0,
- 3520,
- 3521,
- 3522,
- 0,
- 0,
- 3526,
- 3530,
- 0,
- 0,
- 0,
- 0,
- 3531,
- 0,
- 0,
- 0,
- 0,
- 3536,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3539,
- 3541,
- 0,
- 0,
- 3542,
- 3544,
- 0,
- 3547,
- 3548,
- 0,
- 0,
- 3550,
- 0,
- 3553,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3554,
- 0,
- 3555,
- 0,
- 3558,
- 0,
- 3559,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3563,
- 0,
- 3581,
- 0,
- 0,
- 0,
- 3599,
- 0,
- 0,
- 0,
- 3600,
- 0,
- 3601,
- 0,
- 3602,
- 3603,
- 0,
- 0,
- 3606,
- 3608,
- 0,
- 3610,
- 3611,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3612,
- 3616,
- 3619,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3624,
- 3628,
- 0,
- 3629,
- 3634,
- 3635,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3636,
- 0,
- 3637,
- 0,
- 0,
- 3638,
- 3651,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3652,
- 3653,
- 0,
- 0,
- 0,
- 0,
- 3656,
- 3657,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3658,
- 0,
- 0,
- 0,
- 0,
- 3659,
- 0,
- 3661,
- 3663,
- 3664,
- 0,
- 3665,
- 0,
- 3692,
- 0,
- 0,
- 0,
- 3694,
- 3696,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3698,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3700,
- 0,
- 0,
- 3701,
- 0,
- 0,
- 0,
- 3708,
- 3709,
- 0,
- 0,
- 0,
- 3711,
- 3712,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3723,
- 0,
- 3724,
- 3725,
- 0,
- 0,
- 3726,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3728,
- 3729,
- 0,
- 3734,
- 3735,
- 3737,
- 0,
- 0,
- 0,
- 3743,
- 0,
- 3745,
- 0,
- 0,
- 3746,
- 0,
- 0,
- 3747,
- 3748,
- 0,
- 3757,
- 0,
- 3759,
- 3766,
- 3767,
- 0,
- 3768,
- 0,
- 0,
- 0,
- 0,
- 3769,
- 0,
- 0,
- 3771,
- 0,
- 3774,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3776,
- 0,
- 3777,
- 3786,
- 0,
- 3788,
- 3789,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3791,
- 0,
- 3811,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3814,
- 3815,
- 3816,
- 3820,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3821,
- 0,
- 0,
- 3825,
- 0,
- 0,
- 0,
- 0,
- 3835,
- 0,
- 0,
- 3848,
- 3849,
- 0,
- 0,
- 0,
- 0,
- 3850,
- 3851,
- 3853,
- 0,
- 0,
- 0,
- 0,
- 3859,
- 0,
- 3860,
- 3862,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3863,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3873,
- 0,
- 3874,
- 0,
- 3875,
- 3886,
- 0,
- 3887,
- 0,
- 0,
- 0,
- 0,
- 3892,
- 3913,
- 0,
- 3914,
- 0,
- 0,
- 0,
- 3925,
- 3931,
- 0,
- 0,
- 0,
- 0,
- 3934,
- 3941,
- 3942,
- 0,
- 0,
- 0,
- 0,
- 3943,
- 0,
- 0,
- 0,
- 3944,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3945,
- 0,
- 3947,
- 0,
- 0,
- 0,
- 3956,
- 3957,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3958,
- 0,
- 3959,
- 3965,
- 0,
- 0,
- 0,
- 0,
- 3966,
- 0,
- 0,
- 0,
- 3967,
- 0,
- 0,
- 0,
- 3968,
- 3974,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3975,
- 3977,
- 3978,
- 0,
- 0,
- 0,
- 0,
- 3980,
- 0,
- 3985,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 3986,
- 4011,
- 0,
- 0,
- 4017,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4018,
- 0,
- 0,
- 0,
- 0,
- 4019,
- 0,
- 4023,
- 0,
- 0,
- 0,
- 4027,
- 4028,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4031,
- 4034,
- 0,
- 0,
- 4035,
- 4037,
- 4039,
- 4040,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4059,
- 0,
- 4060,
- 4061,
- 0,
- 4062,
- 4063,
- 4066,
- 0,
- 0,
- 4072,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4091,
- 0,
- 0,
- 0,
- 0,
- 4094,
- 4095,
- 0,
- 0,
- 4096,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4098,
- 4099,
- 0,
- 0,
- 0,
- 4101,
- 0,
- 4104,
- 0,
- 0,
- 0,
- 4105,
- 4108,
- 0,
- 4113,
- 0,
- 0,
- 4115,
- 4116,
- 0,
- 4126,
- 0,
- 0,
- 4127,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4128,
- 4132,
- 4133,
- 0,
- 4134,
- 0,
- 0,
- 0,
- 4137,
- 0,
- 0,
- 4141,
- 0,
- 0,
- 0,
- 0,
- 4144,
- 4146,
- 4147,
- 0,
- 0,
- 0,
- 0,
- 4148,
- 0,
- 0,
- 4311,
- 0,
- 0,
- 0,
- 4314,
- 4329,
- 0,
- 4331,
- 4332,
- 0,
- 4333,
- 0,
- 4334,
- 0,
- 0,
- 0,
- 4335,
- 0,
- 4336,
- 0,
- 0,
- 0,
- 4337,
- 0,
- 0,
- 0,
- 4342,
- 4345,
- 4346,
- 4350,
- 0,
- 4351,
- 4352,
- 0,
- 4354,
- 4355,
- 0,
- 0,
- 4364,
- 0,
- 0,
- 0,
- 0,
- 4369,
- 0,
- 0,
- 0,
- 4373,
- 0,
- 4374,
- 0,
- 0,
- 0,
- 0,
- 4377,
- 0,
- 0,
- 0,
- 0,
- 4378,
- 0,
- 0,
- 0,
- 4380,
- 0,
- 0,
- 0,
- 4381,
- 4382,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4384,
- 0,
- 0,
- 0,
- 0,
- 4385,
- 0,
- 0,
- 0,
- 4386,
- 0,
- 0,
- 0,
- 4391,
- 4398,
- 0,
- 0,
- 0,
- 0,
- 4407,
- 4409,
- 0,
- 0,
- 0,
- 0,
- 4410,
- 0,
- 0,
- 4411,
- 0,
- 4414,
- 4415,
- 4418,
- 0,
- 4427,
- 4428,
- 4430,
- 0,
- 4431,
- 0,
- 4448,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4449,
- 0,
- 0,
- 0,
- 4451,
- 4452,
- 0,
- 4453,
- 4454,
- 0,
- 4456,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4459,
- 0,
- 4463,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4466,
- 0,
- 4467,
- 0,
- 4469,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4470,
- 4471,
- 0,
- 4473,
- 0,
- 0,
- 4475,
- 0,
- 0,
- 0,
- 0,
- 4477,
- 4478,
- 0,
- 0,
- 0,
- 4479,
- 4481,
- 0,
- 4482,
- 0,
- 4484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4486,
- 0,
- 0,
- 4488,
- 0,
- 0,
- 4497,
- 0,
- 4508,
- 0,
- 0,
- 4510,
- 4511,
- 0,
- 4520,
- 4523,
- 0,
- 4524,
- 0,
- 4525,
- 0,
- 4527,
- 0,
- 0,
- 4528,
- 0,
- 0,
- 0,
- 0,
- 4530,
- 0,
- 4531,
- 0,
- 0,
- 4532,
- 0,
- 0,
- 0,
- 4533,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4535,
- 0,
- 0,
- 0,
- 4536,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4541,
- 4543,
- 4544,
- 4545,
- 4547,
- 0,
- 4548,
- 0,
- 0,
- 0,
- 0,
- 4550,
- 4551,
- 0,
- 4553,
- 0,
- 0,
- 0,
- 0,
- 4562,
- 0,
- 0,
- 4571,
- 0,
- 0,
- 0,
- 4574,
- 0,
- 0,
- 0,
- 4575,
- 0,
- 4576,
- 0,
- 4577,
- 0,
- 0,
- 0,
- 4581,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4582,
- 0,
- 0,
- 4586,
- 0,
- 0,
- 0,
- 4588,
- 0,
- 0,
- 4597,
- 0,
- 4598,
- 0,
- 0,
- 0,
- 0,
- 4616,
- 4617,
- 0,
- 4618,
- 0,
- 0,
- 0,
- 0,
- 4619,
- 0,
- 4620,
- 0,
- 0,
- 4621,
- 0,
- 4624,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4625,
- 0,
- 0,
- 0,
- 0,
- 4657,
- 0,
- 4659,
- 0,
- 4667,
- 0,
- 0,
- 0,
- 4668,
- 4670,
- 0,
- 4672,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4673,
- 4676,
- 0,
- 0,
- 0,
- 0,
- 4687,
- 0,
- 0,
- 0,
- 0,
- 4697,
- 0,
- 0,
- 0,
- 0,
- 4699,
- 0,
- 4701,
- 0,
- 0,
- 0,
- 0,
- 4702,
- 0,
- 0,
- 4706,
- 0,
- 0,
- 4713,
- 0,
- 0,
- 0,
- 4714,
- 4715,
- 4716,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4717,
- 0,
- 0,
- 4720,
- 0,
- 4721,
- 4729,
- 4735,
- 0,
- 0,
- 0,
- 4737,
- 0,
- 0,
- 0,
- 4739,
- 0,
- 0,
- 0,
- 4740,
- 0,
- 0,
- 0,
- 4741,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4742,
- 0,
- 4745,
- 4746,
- 4747,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4748,
- 0,
- 0,
- 0,
- 4749,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4751,
- 4786,
- 0,
- 4787,
- 0,
- 4788,
- 4796,
- 0,
- 0,
- 4797,
- 4798,
- 0,
- 4799,
- 4806,
- 4807,
- 0,
- 0,
- 0,
- 0,
- 4809,
- 4810,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4811,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4812,
- 0,
- 4813,
- 0,
- 0,
- 4815,
- 0,
- 4821,
- 4822,
- 0,
- 0,
- 0,
- 0,
- 4823,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4824,
- 0,
- 0,
- 0,
- 0,
- 4826,
- 0,
- 0,
- 0,
- 4828,
- 0,
- 4829,
- 0,
- 0,
- 0,
- 4843,
- 0,
- 0,
- 4847,
- 0,
- 4853,
- 4855,
- 4858,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4859,
- 0,
- 4864,
- 0,
- 0,
- 4879,
- 0,
- 0,
- 0,
- 0,
- 4880,
- 0,
- 0,
- 0,
- 0,
- 4881,
- 0,
- 4882,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4883,
- 0,
- 0,
- 0,
- 0,
- 4884,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4886,
- 4887,
- 4888,
- 4894,
- 4896,
- 0,
- 4902,
- 0,
- 0,
- 4905,
- 0,
- 0,
- 4915,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4916,
- 4917,
- 4919,
- 4921,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4926,
- 0,
- 0,
- 0,
- 0,
- 4927,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 4929,
- 0,
- 4930,
- 4931,
- 0,
- 4938,
- 0,
- 4952,
- 0,
- 4953,
- 4957,
- 4960,
- 4964,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5019,
- 5020,
- 5022,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5023,
- 0,
- 0,
- 0,
- 5024,
- 0,
- 0,
- 0,
- 5025,
- 0,
- 0,
- 0,
- 0,
- 5028,
- 0,
- 0,
- 0,
- 0,
- 5029,
- 5030,
- 5031,
- 0,
- 5033,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5034,
- 5035,
- 0,
- 5036,
- 0,
- 0,
- 5037,
- 0,
- 0,
- 0,
- 0,
- 5038,
- 0,
- 0,
- 5039,
- 0,
- 0,
- 0,
- 5041,
- 5042,
- 0,
- 0,
- 0,
- 0,
- 5044,
- 5049,
- 5054,
- 0,
- 5055,
- 0,
- 5057,
- 0,
- 0,
- 0,
- 5060,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5063,
- 0,
- 5064,
- 5065,
- 0,
- 5067,
- 0,
- 0,
- 0,
- 5068,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5076,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5077,
- 0,
- 0,
- 5078,
- 5080,
- 0,
- 0,
- 5083,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5085,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5098,
- 5099,
- 5101,
- 5105,
- 5107,
- 0,
- 5108,
- 0,
- 5109,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5110,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5117,
- 5118,
- 0,
- 5121,
- 0,
- 5122,
- 0,
- 0,
- 5130,
- 0,
- 0,
- 0,
- 5137,
- 0,
- 0,
- 0,
- 5148,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5151,
- 5154,
- 0,
- 0,
- 0,
- 5155,
- 0,
- 0,
- 5156,
- 5159,
- 5161,
- 0,
- 0,
- 0,
- 0,
- 5162,
- 0,
- 0,
- 0,
- 0,
- 5163,
- 5164,
- 0,
- 5166,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5167,
- 0,
- 0,
- 0,
- 5172,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5178,
- 5179,
- 0,
- 0,
- 5190,
- 0,
- 0,
- 5191,
- 5192,
- 5194,
- 0,
- 0,
- 5198,
- 5201,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5203,
- 0,
- 5206,
- 5209,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5213,
- 0,
- 5214,
- 5216,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5217,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5218,
- 5219,
- 0,
- 5231,
- 0,
- 0,
- 5244,
- 5249,
- 0,
- 5254,
- 0,
- 5255,
- 0,
- 0,
- 5257,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5258,
- 0,
- 5260,
- 5270,
- 0,
- 5277,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5280,
- 5281,
- 5282,
- 5283,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5284,
- 0,
- 5285,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5287,
- 5288,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5289,
- 5291,
- 0,
- 0,
- 5294,
- 0,
- 0,
- 5295,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5304,
- 0,
- 0,
- 5306,
- 5307,
- 5308,
- 0,
- 5309,
- 0,
- 0,
- 5310,
- 0,
- 0,
- 0,
- 0,
- 5311,
- 5312,
- 0,
- 5313,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5316,
- 0,
- 0,
- 0,
- 5317,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5325,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5326,
- 0,
- 5327,
- 5329,
- 0,
- 5332,
- 0,
- 0,
- 0,
- 0,
- 5338,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5340,
- 0,
- 0,
- 5341,
- 0,
- 0,
- 0,
- 5342,
- 0,
- 5343,
- 5344,
- 0,
- 0,
- 5345,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5347,
- 5348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5349,
- 0,
- 5350,
- 0,
- 5354,
- 0,
- 0,
- 0,
- 0,
- 5358,
- 0,
- 0,
- 5359,
- 0,
- 0,
- 5361,
- 0,
- 0,
- 5365,
- 0,
- 5367,
- 0,
- 5373,
- 0,
- 0,
- 0,
- 5379,
- 0,
- 0,
- 0,
- 5380,
- 0,
- 0,
- 0,
- 5382,
- 0,
- 5384,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5385,
- 0,
- 0,
- 0,
- 0,
- 5387,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5388,
- 5390,
- 5393,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5396,
- 0,
- 0,
- 0,
- 0,
- 5397,
- 5402,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5403,
- 0,
- 0,
- 0,
- 5404,
- 5405,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5406,
- 0,
- 0,
- 0,
- 0,
- 5410,
- 0,
- 0,
- 5411,
- 0,
- 5415,
- 0,
- 0,
- 0,
- 0,
- 5416,
- 5434,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5438,
- 0,
- 5440,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5441,
- 5442,
- 0,
- 0,
- 0,
- 5443,
- 5444,
- 5447,
- 0,
- 0,
- 5448,
- 5449,
- 5451,
- 0,
- 0,
- 0,
- 5456,
- 5457,
- 0,
- 0,
- 0,
- 5459,
- 0,
- 0,
- 0,
- 5461,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5464,
- 0,
- 5466,
- 0,
- 0,
- 5467,
- 0,
- 5470,
- 0,
- 0,
- 5473,
- 0,
- 0,
- 5474,
- 0,
- 0,
- 5476,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5477,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5484,
- 0,
- 0,
- 5485,
- 5486,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5488,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5489,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5507,
- 0,
- 0,
- 0,
- 5510,
- 0,
- 5511,
- 0,
- 0,
- 5512,
- 0,
- 0,
- 0,
- 5513,
- 0,
- 5515,
- 0,
- 0,
- 5516,
- 5517,
- 0,
- 5518,
- 0,
- 0,
- 5522,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5534,
- 5535,
- 0,
- 0,
- 5536,
- 0,
- 5538,
- 0,
- 0,
- 5543,
- 0,
- 5544,
- 0,
- 0,
- 5545,
- 0,
- 5547,
- 0,
- 5557,
- 0,
- 0,
- 5558,
- 0,
- 5560,
- 5567,
- 0,
- 0,
- 0,
- 0,
- 5568,
- 0,
- 0,
- 0,
- 5571,
- 5573,
- 0,
- 5574,
- 0,
- 5575,
- 0,
- 0,
- 0,
- 0,
- 5577,
- 0,
- 0,
- 5598,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5600,
- 5609,
- 0,
- 0,
- 0,
- 0,
- 5610,
- 0,
- 0,
- 5612,
- 0,
- 5624,
- 0,
- 5625,
- 0,
- 0,
- 0,
- 5629,
- 0,
- 5641,
- 0,
- 5642,
- 5643,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5651,
- 0,
- 0,
- 0,
- 5652,
- 5653,
- 0,
- 5661,
- 5662,
- 5678,
- 0,
- 5679,
- 0,
- 0,
- 0,
- 0,
- 5685,
- 5686,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5690,
- 5692,
- 0,
- 5703,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5706,
- 0,
- 0,
- 0,
- 0,
- 5707,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5708,
- 0,
- 0,
- 5709,
- 0,
- 5710,
- 0,
- 0,
- 0,
- 5712,
- 0,
- 5733,
- 0,
- 5734,
- 5735,
- 0,
- 0,
- 5744,
- 5751,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5752,
- 0,
- 5754,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5757,
- 5758,
- 0,
- 5760,
- 5761,
- 0,
- 0,
- 0,
- 0,
- 5763,
- 5764,
- 5765,
- 0,
- 5766,
- 0,
- 5767,
- 5768,
- 0,
- 5770,
- 0,
- 0,
- 0,
- 0,
- 5776,
- 5780,
- 0,
- 0,
- 0,
- 0,
- 5782,
- 0,
- 0,
- 0,
- 0,
- 5784,
- 0,
- 0,
- 5788,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5797,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5799,
- 0,
- 0,
- 5801,
- 0,
- 0,
- 0,
- 5811,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5816,
- 0,
- 0,
- 5827,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5830,
- 5831,
- 0,
- 0,
- 5832,
- 0,
- 0,
- 5833,
- 0,
- 5835,
- 5844,
- 5845,
- 0,
- 5846,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5850,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5852,
- 0,
- 5855,
- 5857,
- 0,
- 0,
- 5859,
- 0,
- 5861,
- 0,
- 0,
- 5863,
- 0,
- 5865,
- 0,
- 0,
- 0,
- 5873,
- 5875,
- 0,
- 0,
- 0,
- 5877,
- 0,
- 5879,
- 0,
- 0,
- 0,
- 5888,
- 0,
- 0,
- 5889,
- 5891,
- 0,
- 5894,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5895,
- 0,
- 5897,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5907,
- 0,
- 5911,
- 0,
- 0,
- 5912,
- 0,
- 5913,
- 5922,
- 5924,
- 0,
- 5927,
- 5928,
- 0,
- 0,
- 0,
- 0,
- 5929,
- 5930,
- 0,
- 5933,
- 0,
- 0,
- 0,
- 0,
- 5949,
- 0,
- 0,
- 5951,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5953,
- 0,
- 0,
- 5954,
- 0,
- 5959,
- 5960,
- 5961,
- 0,
- 5964,
- 0,
- 0,
- 0,
- 5976,
- 5978,
- 5987,
- 5990,
- 0,
- 0,
- 0,
- 0,
- 0,
- 5991,
- 0,
- 5992,
- 0,
- 0,
- 0,
- 5994,
- 5995,
- 0,
- 0,
- 5996,
- 0,
- 0,
- 6001,
- 6003,
- 0,
- 0,
- 0,
- 0,
- 6007,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6008,
- 0,
- 0,
- 6009,
- 0,
- 6010,
- 0,
- 0,
- 0,
- 6011,
- 6015,
- 0,
- 6017,
- 0,
- 6019,
- 0,
- 6023,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6025,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6026,
- 0,
- 6030,
- 0,
- 0,
- 6032,
- 0,
- 0,
- 0,
- 6033,
- 6038,
- 6040,
- 0,
- 0,
- 0,
- 6041,
- 6045,
- 0,
- 0,
- 6046,
- 0,
- 0,
- 6053,
- 0,
- 0,
- 6054,
- 0,
- 6055,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6057,
- 0,
- 6063,
- 0,
- 0,
- 0,
- 6064,
- 0,
- 6066,
- 6071,
- 6072,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6075,
- 6076,
- 0,
- 0,
- 6077,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6078,
- 6079,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6080,
- 0,
- 6083,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6084,
- 0,
- 0,
- 6088,
- 0,
- 6089,
- 0,
- 0,
- 6093,
- 6105,
- 0,
- 0,
- 6107,
- 0,
- 6110,
- 0,
- 0,
- 0,
- 6111,
- 6125,
- 6126,
- 0,
- 0,
- 0,
- 6129,
- 0,
- 0,
- 0,
- 0,
- 6130,
- 0,
- 0,
- 0,
- 6131,
- 6134,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6142,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6144,
- 0,
- 0,
- 6146,
- 6151,
- 6153,
- 0,
- 6156,
- 0,
- 6163,
- 0,
- 6180,
- 6181,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6182,
- 0,
- 0,
- 0,
- 0,
- 6184,
- 6195,
- 0,
- 0,
- 6206,
- 0,
- 6208,
- 0,
- 0,
- 6212,
- 6213,
- 6214,
- 0,
- 6215,
- 0,
- 0,
- 0,
- 6228,
- 0,
- 0,
- 0,
- 6234,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6235,
- 6240,
- 0,
- 6242,
- 6243,
- 6244,
- 0,
- 6250,
- 6255,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6257,
- 0,
- 0,
- 0,
- 6258,
- 6278,
- 0,
- 6284,
- 0,
- 0,
- 0,
- 6285,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6286,
- 0,
- 0,
- 0,
- 6320,
- 0,
- 0,
- 6322,
- 6332,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6334,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6335,
- 0,
- 0,
- 6337,
- 0,
- 6338,
- 0,
- 6339,
- 6340,
- 0,
- 0,
- 6356,
- 6357,
- 6369,
- 0,
- 0,
- 0,
- 6370,
- 6371,
- 6372,
- 0,
- 6373,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6376,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6382,
- 6383,
- 6384,
- 0,
- 0,
- 0,
- 0,
- 6386,
- 0,
- 6389,
- 6397,
- 6400,
- 6411,
- 0,
- 6414,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6415,
- 6416,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6417,
- 0,
- 0,
- 0,
- 0,
- 6418,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6420,
- 0,
- 6421,
- 6423,
- 6425,
- 0,
- 6429,
- 6430,
- 0,
- 6433,
- 6438,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6439,
- 6440,
- 0,
- 0,
- 6441,
- 0,
- 0,
- 6444,
- 0,
- 0,
- 0,
- 0,
- 6446,
- 0,
- 0,
- 0,
- 0,
- 6447,
- 6448,
- 0,
- 0,
- 6450,
- 0,
- 0,
- 0,
- 6454,
- 0,
- 0,
- 6455,
- 0,
- 6461,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6462,
- 0,
- 0,
- 6463,
- 0,
- 6464,
- 0,
- 6465,
- 6467,
- 0,
- 0,
- 0,
- 6468,
- 0,
- 6479,
- 6480,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6481,
- 0,
- 0,
- 6485,
- 6487,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6493,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6494,
- 6495,
- 6496,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6498,
- 0,
- 0,
- 0,
- 6507,
- 6508,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6511,
- 6512,
- 0,
- 0,
- 0,
- 0,
- 6513,
- 0,
- 0,
- 0,
- 6514,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6516,
- 0,
- 0,
- 6517,
- 6518,
- 0,
- 0,
- 0,
- 6519,
- 6520,
- 6521,
- 0,
- 6523,
- 0,
- 0,
- 0,
- 0,
- 6524,
- 6528,
- 0,
- 6530,
- 0,
- 0,
- 6532,
- 0,
- 6578,
- 0,
- 0,
- 0,
- 6583,
- 0,
- 6584,
- 0,
- 0,
- 0,
- 6587,
- 0,
- 0,
- 0,
- 6590,
- 0,
- 6591,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6592,
- 0,
- 0,
- 0,
- 0,
- 6593,
- 6594,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6599,
- 6600,
- 0,
- 0,
- 6601,
- 6602,
- 6604,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6608,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6610,
- 6611,
- 0,
- 6615,
- 0,
- 6616,
- 6618,
- 6620,
- 0,
- 6637,
- 0,
- 0,
- 0,
- 0,
- 6639,
- 0,
- 0,
- 0,
- 0,
- 6641,
- 0,
- 6642,
- 0,
- 0,
- 0,
- 6647,
- 0,
- 6660,
- 6663,
- 0,
- 6664,
- 0,
- 6666,
- 6669,
- 0,
- 6675,
- 6676,
- 6677,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6678,
- 0,
- 0,
- 0,
- 6679,
- 0,
- 6680,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6693,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6704,
- 6705,
- 6706,
- 0,
- 0,
- 6711,
- 6713,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6716,
- 0,
- 0,
- 0,
- 6717,
- 0,
- 6719,
- 6724,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6725,
- 6726,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6728,
- 6729,
- 6735,
- 0,
- 6737,
- 6742,
- 0,
- 0,
- 6743,
- 6750,
- 0,
- 6751,
- 0,
- 0,
- 6752,
- 6753,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6754,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6756,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6763,
- 0,
- 0,
- 6764,
- 6765,
- 0,
- 0,
- 0,
- 6770,
- 0,
- 0,
- 0,
- 6776,
- 6780,
- 0,
- 6781,
- 0,
- 0,
- 0,
- 6783,
- 0,
- 6784,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6785,
- 0,
- 0,
- 0,
- 6792,
- 0,
- 0,
- 0,
- 6793,
- 0,
- 0,
- 6802,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6803,
- 0,
- 0,
- 0,
- 6804,
- 0,
- 0,
- 0,
- 6812,
- 0,
- 0,
- 6823,
- 0,
- 6824,
- 6839,
- 0,
- 0,
- 0,
- 0,
- 6852,
- 0,
- 0,
- 6854,
- 0,
- 6856,
- 6857,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6867,
- 0,
- 6868,
- 6870,
- 6872,
- 0,
- 0,
- 0,
- 6873,
- 6874,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6875,
- 0,
- 0,
- 6877,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6878,
- 0,
- 0,
- 0,
- 6879,
- 0,
- 6880,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6887,
- 0,
- 6888,
- 6891,
- 6893,
- 0,
- 6895,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6899,
- 0,
- 0,
- 0,
- 0,
- 6901,
- 0,
- 0,
- 0,
- 0,
- 6910,
- 0,
- 6911,
- 0,
- 0,
- 6912,
- 0,
- 0,
- 6913,
- 6914,
- 0,
- 0,
- 0,
- 6915,
- 0,
- 0,
- 0,
- 6916,
- 6919,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6924,
- 0,
- 6925,
- 0,
- 0,
- 0,
- 6926,
- 6927,
- 6928,
- 0,
- 6929,
- 0,
- 6930,
- 0,
- 0,
- 6931,
- 6935,
- 0,
- 6936,
- 0,
- 0,
- 0,
- 0,
- 6939,
- 6940,
- 6941,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6942,
- 6948,
- 6949,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6952,
- 6954,
- 6963,
- 6965,
- 6966,
- 0,
- 0,
- 6967,
- 6968,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6969,
- 0,
- 0,
- 6970,
- 6979,
- 0,
- 0,
- 6980,
- 0,
- 0,
- 6983,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6984,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6988,
- 6990,
- 6992,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 6995,
- 0,
- 0,
- 0,
- 7012,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7019,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7021,
- 0,
- 0,
- 7022,
- 7023,
- 7028,
- 0,
- 7030,
- 7033,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7038,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7039,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7046,
- 0,
- 7047,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7048,
- 7052,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7054,
- 0,
- 7060,
- 0,
- 0,
- 0,
- 0,
- 7061,
- 0,
- 7065,
- 0,
- 0,
- 0,
- 0,
- 7067,
- 7069,
- 0,
- 7070,
- 7071,
- 7072,
- 0,
- 0,
- 7078,
- 0,
- 7080,
- 7081,
- 0,
- 7083,
- 0,
- 0,
- 0,
- 7084,
- 7087,
- 7088,
- 0,
- 0,
- 7090,
- 0,
- 7093,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7107,
- 0,
- 0,
- 7108,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7110,
- 0,
- 7114,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7115,
- 0,
- 7116,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7117,
- 0,
- 0,
- 7118,
- 0,
- 0,
- 7124,
- 0,
- 7125,
- 0,
- 0,
- 7126,
- 0,
- 0,
- 0,
- 0,
- 7128,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7129,
- 0,
- 7130,
- 0,
- 7132,
- 7133,
- 0,
- 0,
- 7134,
- 0,
- 0,
- 7139,
- 0,
- 7148,
- 7150,
- 0,
- 0,
- 0,
- 0,
- 7152,
- 0,
- 0,
- 0,
- 7153,
- 7156,
- 7157,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7158,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7163,
- 7165,
- 7169,
- 0,
- 7171,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7172,
- 0,
- 7173,
- 7181,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7182,
- 7185,
- 0,
- 0,
- 0,
- 0,
- 7187,
- 0,
- 7201,
- 7204,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7206,
- 7207,
- 0,
- 0,
- 0,
- 0,
- 7211,
- 7216,
- 0,
- 7218,
- 0,
- 0,
- 0,
- 0,
- 7226,
- 7228,
- 7230,
- 7232,
- 7233,
- 7235,
- 7237,
- 0,
- 0,
- 0,
- 0,
- 7238,
- 7241,
- 0,
- 7242,
- 0,
- 0,
- 7247,
- 0,
- 0,
- 0,
- 7266,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7289,
- 0,
- 0,
- 7290,
- 7291,
- 0,
- 0,
- 7292,
- 0,
- 7297,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7300,
- 0,
- 7301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7302,
- 0,
- 0,
- 0,
- 0,
- 7305,
- 0,
- 0,
- 0,
- 0,
- 7307,
- 0,
- 7308,
- 0,
- 7310,
- 0,
- 7335,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7337,
- 0,
- 7343,
- 7347,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7348,
- 0,
- 7349,
- 7350,
- 7352,
- 7354,
- 0,
- 0,
- 0,
- 0,
- 7357,
- 0,
- 7358,
- 7366,
- 0,
- 7367,
- 7368,
- 0,
- 0,
- 7373,
- 0,
- 0,
- 0,
- 7374,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7376,
- 0,
- 0,
- 0,
- 7377,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7378,
- 0,
- 7379,
- 7380,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7383,
- 0,
- 0,
- 7386,
- 0,
- 0,
- 0,
- 0,
- 7398,
- 0,
- 0,
- 0,
- 7399,
- 7400,
- 0,
- 7401,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7402,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7405,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7406,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7421,
- 7427,
- 7429,
- 0,
- 0,
- 0,
- 7435,
- 0,
- 0,
- 7436,
- 0,
- 0,
- 0,
- 7437,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7438,
- 7443,
- 0,
- 7446,
- 0,
- 7448,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7456,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7457,
- 0,
- 0,
- 7461,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7462,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7463,
- 7466,
- 7472,
- 0,
- 7476,
- 0,
- 0,
- 7490,
- 0,
- 7491,
- 0,
- 0,
- 7493,
- 0,
- 0,
- 0,
- 7498,
- 7499,
- 0,
- 0,
- 7508,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7512,
- 0,
- 0,
- 0,
- 7513,
- 7514,
- 7516,
- 0,
- 0,
- 0,
- 0,
- 7518,
- 0,
- 0,
- 7519,
- 7521,
- 7522,
- 0,
- 0,
- 0,
- 7526,
- 0,
- 0,
- 7529,
- 0,
- 0,
- 7531,
- 0,
- 7536,
- 0,
- 7538,
- 0,
- 7539,
- 0,
- 0,
- 7541,
- 7542,
- 7546,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7547,
- 0,
- 7548,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7550,
- 0,
- 0,
- 7552,
- 7553,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7554,
- 7563,
- 0,
- 7573,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7574,
- 7576,
- 0,
- 7578,
- 7581,
- 7583,
- 0,
- 0,
- 0,
- 7584,
- 0,
- 7587,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7589,
- 0,
- 0,
- 0,
- 7594,
- 0,
- 0,
- 7595,
- 0,
- 0,
- 7600,
- 7602,
- 7610,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7612,
- 0,
- 7613,
- 7614,
- 0,
- 0,
- 7615,
- 0,
- 0,
- 7616,
- 0,
- 7620,
- 0,
- 7621,
- 7622,
- 0,
- 7623,
- 0,
- 0,
- 0,
- 0,
- 7626,
- 0,
- 0,
- 0,
- 0,
- 7627,
- 7629,
- 7631,
- 0,
- 0,
- 7633,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7639,
- 0,
- 7640,
- 7642,
- 0,
- 0,
- 7643,
- 0,
- 0,
- 0,
- 0,
- 7644,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7645,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7661,
- 7662,
- 7663,
- 7665,
- 0,
- 7666,
- 0,
- 7667,
- 0,
- 7684,
- 7688,
- 7690,
- 0,
- 7691,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7692,
- 0,
- 0,
- 7700,
- 0,
- 7707,
- 0,
- 7708,
- 0,
- 7709,
- 0,
- 7721,
- 0,
- 0,
- 0,
- 7722,
- 0,
- 7724,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7729,
- 7731,
- 0,
- 7732,
- 0,
- 7733,
- 7735,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7739,
- 0,
- 0,
- 7741,
- 7745,
- 0,
- 7748,
- 0,
- 0,
- 0,
- 7751,
- 0,
- 0,
- 0,
- 7752,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7753,
- 0,
- 0,
- 7756,
- 0,
- 7757,
- 0,
- 7759,
- 0,
- 7760,
- 0,
- 0,
- 0,
- 0,
- 7761,
- 7768,
- 0,
- 0,
- 7769,
- 0,
- 0,
- 7770,
- 0,
- 0,
- 7771,
- 0,
- 0,
- 7772,
- 0,
- 0,
- 7773,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7778,
- 7783,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7784,
- 7785,
- 0,
- 7790,
- 0,
- 0,
- 0,
- 0,
- 7792,
- 0,
- 7798,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7799,
- 0,
- 7810,
- 0,
- 0,
- 7813,
- 0,
- 7814,
- 0,
- 7816,
- 0,
- 7818,
- 7824,
- 7825,
- 7826,
- 0,
- 7828,
- 7830,
- 0,
- 0,
- 0,
- 7840,
- 0,
- 7842,
- 0,
- 7843,
- 0,
- 0,
- 0,
- 0,
- 7844,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7846,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7856,
- 7857,
- 7858,
- 7862,
- 0,
- 7865,
- 0,
- 0,
- 7866,
- 0,
- 0,
- 7913,
- 0,
- 0,
- 0,
- 0,
- 7914,
- 0,
- 0,
- 7915,
- 7917,
- 7918,
- 7919,
- 0,
- 7920,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7921,
- 7922,
- 0,
- 7924,
- 0,
- 0,
- 7925,
- 0,
- 0,
- 7927,
- 0,
- 7930,
- 7935,
- 0,
- 0,
- 7937,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7939,
- 0,
- 7940,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7941,
- 0,
- 0,
- 0,
- 0,
- 7945,
- 0,
- 0,
- 0,
- 0,
- 7949,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7950,
- 0,
- 7953,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7968,
- 0,
- 0,
- 0,
- 0,
- 7969,
- 7972,
- 7992,
- 0,
- 7993,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 7994,
- 0,
- 0,
- 0,
- 0,
- 8007,
- 8008,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8010,
- 0,
- 0,
- 0,
- 8012,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8018,
- 0,
- 8028,
- 8029,
- 0,
- 0,
- 8030,
- 0,
- 0,
- 8032,
- 8033,
- 0,
- 0,
- 8034,
- 8036,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8037,
- 0,
- 0,
- 0,
- 8043,
- 8052,
- 8059,
- 8060,
- 0,
- 0,
- 8061,
- 0,
- 0,
- 0,
- 8062,
- 0,
- 8063,
- 0,
- 8064,
- 0,
- 8066,
- 8068,
- 0,
- 0,
- 0,
- 8080,
- 8081,
- 0,
- 8089,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8092,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8093,
- 8110,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8111,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8112,
- 8115,
- 0,
- 8117,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8120,
- 8121,
- 8122,
- 8128,
- 8129,
- 8130,
- 8131,
- 0,
- 0,
- 8139,
- 0,
- 0,
- 8144,
- 0,
- 0,
- 0,
- 0,
- 8145,
- 8146,
- 8153,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8154,
- 0,
- 8157,
- 8160,
- 8162,
- 0,
- 8164,
- 8165,
- 0,
- 0,
- 0,
- 0,
- 8166,
- 8167,
- 0,
- 0,
- 8179,
- 0,
- 0,
- 0,
- 8185,
- 0,
- 0,
- 0,
- 8186,
- 0,
- 0,
- 8187,
- 0,
- 0,
- 0,
- 8188,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8204,
- 0,
- 0,
- 0,
- 0,
- 8210,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8213,
- 0,
- 8214,
- 0,
- 0,
- 8215,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8218,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8219,
- 0,
- 8221,
- 0,
- 0,
- 8222,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8225,
- 0,
- 0,
- 0,
- 8233,
- 0,
- 0,
- 8242,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8247,
- 0,
- 8248,
- 8252,
- 0,
- 8256,
- 8257,
- 0,
- 0,
- 8261,
- 0,
- 8264,
- 8265,
- 0,
- 0,
- 0,
- 0,
- 8267,
- 0,
- 0,
- 0,
- 8269,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8270,
- 0,
- 0,
- 0,
- 8278,
- 0,
- 8279,
- 8283,
- 0,
- 0,
- 8285,
- 8286,
- 8289,
- 8292,
- 0,
- 0,
- 0,
- 0,
- 8293,
- 8295,
- 8299,
- 8300,
- 8301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8304,
- 8307,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8321,
- 0,
- 0,
- 0,
- 8322,
- 8323,
- 8325,
- 8326,
- 8327,
- 0,
- 0,
- 8332,
- 8338,
- 0,
- 0,
- 8340,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8350,
- 0,
- 0,
- 8351,
- 0,
- 8354,
- 8355,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8360,
- 8372,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8377,
- 0,
- 0,
- 0,
- 0,
- 8380,
- 0,
- 0,
- 0,
- 8383,
- 0,
- 8384,
- 0,
- 0,
- 0,
- 0,
- 8386,
- 8392,
- 0,
- 0,
- 8394,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8396,
- 8397,
- 0,
- 8398,
- 0,
- 8399,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8400,
- 0,
- 8401,
- 8410,
- 8411,
- 0,
- 8412,
- 8413,
- 8422,
- 0,
- 0,
- 0,
- 0,
- 8423,
- 0,
- 0,
- 0,
- 0,
- 8424,
- 0,
- 0,
- 8425,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8441,
- 8442,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8443,
- 0,
- 0,
- 8444,
- 0,
- 8447,
- 0,
- 0,
- 0,
- 0,
- 8451,
- 0,
- 8458,
- 0,
- 8462,
- 0,
- 0,
- 8468,
- 0,
- 8469,
- 0,
- 0,
- 0,
- 8470,
- 0,
- 8473,
- 8479,
- 8480,
- 0,
- 0,
- 0,
- 0,
- 8481,
- 8483,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8484,
- 0,
- 0,
- 8490,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8491,
- 8493,
- 8494,
- 0,
- 8528,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8530,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8534,
- 8538,
- 8540,
- 0,
- 0,
- 8541,
- 0,
- 0,
- 8545,
- 0,
- 8557,
- 0,
- 0,
- 8569,
- 8570,
- 0,
- 0,
- 8571,
- 8574,
- 8575,
- 8579,
- 0,
- 8583,
- 0,
- 0,
- 0,
- 0,
- 8591,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8606,
- 0,
- 8607,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8608,
- 0,
- 0,
- 8609,
- 0,
- 0,
- 0,
- 8610,
- 0,
- 0,
- 0,
- 8611,
- 0,
- 0,
- 8613,
- 8617,
- 8621,
- 0,
- 0,
- 8622,
- 0,
- 8623,
- 0,
- 8624,
- 8625,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8637,
- 8638,
- 8639,
- 8650,
- 0,
- 0,
- 0,
- 0,
- 8652,
- 8654,
- 8655,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8656,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8657,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8658,
- 0,
- 0,
- 8659,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8660,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8661,
- 8663,
- 8664,
- 0,
- 0,
- 0,
- 0,
- 8665,
- 0,
- 8669,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8671,
- 8674,
- 0,
- 8684,
- 0,
- 8686,
- 0,
- 0,
- 0,
- 8689,
- 0,
- 0,
- 0,
- 8690,
- 0,
- 8706,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8710,
- 0,
- 8711,
- 8713,
- 8714,
- 8724,
- 8727,
- 8728,
- 8733,
- 8736,
- 0,
- 8737,
- 8739,
- 0,
- 0,
- 0,
- 0,
- 8742,
- 8743,
- 8745,
- 8754,
- 0,
- 0,
- 0,
- 0,
- 8756,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8757,
- 8760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8762,
- 8763,
- 8764,
- 0,
- 8766,
- 8769,
- 8770,
- 8773,
- 0,
- 8774,
- 0,
- 8779,
- 0,
- 0,
- 0,
- 0,
- 8780,
- 0,
- 0,
- 8781,
- 0,
- 0,
- 8783,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8784,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8785,
- 0,
- 0,
- 0,
- 0,
- 8786,
- 0,
- 0,
- 0,
- 0,
- 8788,
- 8790,
- 0,
- 0,
- 0,
- 8803,
- 0,
- 8813,
- 8814,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8815,
- 8816,
- 0,
- 0,
- 0,
- 0,
- 8818,
- 0,
- 0,
- 0,
- 0,
- 8822,
- 8828,
- 8829,
- 0,
- 8831,
- 0,
- 0,
- 0,
- 0,
- 8833,
- 0,
- 0,
- 0,
- 8834,
- 0,
- 0,
- 0,
- 8835,
- 0,
- 8836,
- 0,
- 0,
- 0,
- 8837,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8838,
- 8839,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8840,
- 0,
- 0,
- 0,
- 8841,
- 0,
- 8842,
- 0,
- 0,
- 0,
- 8846,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8847,
- 0,
- 8848,
- 0,
- 0,
- 8864,
- 0,
- 0,
- 8866,
- 0,
- 0,
- 8870,
- 8872,
- 0,
- 0,
- 8873,
- 8874,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8875,
- 0,
- 8876,
- 0,
- 0,
- 0,
- 0,
- 8896,
- 8900,
- 0,
- 0,
- 0,
- 0,
- 8901,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8904,
- 0,
- 8907,
- 0,
- 0,
- 0,
- 0,
- 8911,
- 8912,
- 8913,
- 0,
- 0,
- 0,
- 8914,
- 0,
- 8915,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8916,
- 0,
- 0,
- 0,
- 8929,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 8930,
- 0,
- 8932,
- 0,
- 8943,
- 0,
- 0,
- 0,
- 8945,
- 8947,
- 0,
- 0,
- 0,
- 0,
- 8949,
- 0,
- 8950,
- 0,
- 8954,
- 8957,
- 0,
- 0,
- 8970,
- 0,
- 0,
- 0,
- 0,
- 8971,
- 0,
- 8996,
- 0,
- 0,
- 0,
- 0,
- 8997,
- 9000,
- 0,
- 0,
- 0,
- 0,
- 9001,
- 9002,
- 0,
- 9004,
- 9009,
- 9024,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9027,
- 9082,
- 0,
- 0,
- 9083,
- 9089,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9090,
- 0,
- 0,
- 0,
- 9092,
- 0,
- 0,
- 9093,
- 0,
- 9095,
- 0,
- 0,
- 9096,
- 9097,
- 9101,
- 9102,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9112,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9114,
- 0,
- 0,
- 9120,
- 0,
- 9121,
- 9122,
- 0,
- 0,
- 0,
- 9123,
- 9124,
- 0,
- 0,
- 9125,
- 0,
- 0,
- 9126,
- 0,
- 9127,
- 0,
- 0,
- 9129,
- 9131,
- 0,
- 0,
- 0,
- 9132,
- 0,
- 0,
- 9136,
- 0,
- 9144,
- 0,
- 0,
- 9148,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9149,
- 0,
- 9152,
- 9163,
- 0,
- 0,
- 9165,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9166,
- 0,
- 9169,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9170,
- 0,
- 0,
- 0,
- 0,
- 9172,
- 0,
- 9174,
- 9175,
- 9176,
- 0,
- 9177,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9186,
- 0,
- 9187,
- 0,
- 0,
- 0,
- 9188,
- 9189,
- 0,
- 0,
- 9190,
- 0,
- 0,
- 0,
- 0,
- 9191,
- 0,
- 0,
- 0,
- 9193,
- 0,
- 0,
- 0,
- 0,
- 9197,
- 9198,
- 0,
- 0,
- 0,
- 9208,
- 9211,
- 0,
- 0,
- 0,
- 0,
- 9216,
- 9217,
- 0,
- 9220,
- 0,
- 0,
- 0,
- 0,
- 9221,
- 9222,
- 9223,
- 0,
- 9224,
- 9225,
- 0,
- 0,
- 9227,
- 0,
- 9228,
- 9229,
- 0,
- 0,
- 9230,
- 0,
- 9232,
- 0,
- 9233,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9234,
- 9235,
- 0,
- 0,
- 9237,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9238,
- 9240,
- 0,
- 0,
- 9241,
- 0,
- 0,
- 0,
- 0,
- 9244,
- 0,
- 0,
- 0,
- 0,
- 9247,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9248,
- 0,
- 0,
- 0,
- 9249,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9250,
- 0,
- 0,
- 0,
- 0,
- 9251,
- 0,
- 0,
- 9252,
- 9255,
- 0,
- 0,
- 0,
- 9256,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9257,
- 0,
- 0,
- 9258,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9259,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9262,
- 9263,
- 0,
- 0,
- 9265,
- 9266,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9268,
- 9271,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9273,
- 0,
- 0,
- 0,
- 9276,
- 9277,
- 9279,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9280,
- 0,
- 0,
- 9293,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9297,
- 9301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9308,
- 9309,
- 9313,
- 9321,
- 9322,
- 0,
- 9326,
- 9327,
- 0,
- 0,
- 9477,
- 0,
- 9479,
- 0,
- 0,
- 0,
- 0,
- 9482,
- 0,
- 0,
- 0,
- 9483,
- 0,
- 9484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9485,
- 0,
- 0,
- 9486,
- 0,
- 0,
- 0,
- 9489,
- 0,
- 0,
- 0,
- 0,
- 9490,
- 9491,
- 0,
- 0,
- 0,
- 0,
- 9493,
- 0,
- 9495,
- 9496,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9500,
- 0,
- 9502,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9504,
- 9507,
- 0,
- 9509,
- 0,
- 9511,
- 0,
- 0,
- 9513,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9515,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9516,
- 9517,
- 0,
- 0,
- 0,
- 0,
- 9532,
- 0,
- 0,
- 9533,
- 0,
- 0,
- 9538,
- 0,
- 9539,
- 9540,
- 0,
- 0,
- 0,
- 0,
- 9541,
- 0,
- 0,
- 0,
- 9542,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9544,
- 9545,
- 0,
- 9546,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9547,
- 9548,
- 0,
- 0,
- 0,
- 9550,
- 0,
- 9557,
- 0,
- 9558,
- 0,
- 9561,
- 0,
- 9563,
- 9570,
- 0,
- 9572,
- 9574,
- 9575,
- 0,
- 0,
- 0,
- 9577,
- 9592,
- 0,
- 0,
- 9596,
- 0,
- 0,
- 0,
- 9598,
- 0,
- 9600,
- 0,
- 9601,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9608,
- 0,
- 9638,
- 9639,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9641,
- 0,
- 0,
- 9643,
- 9644,
- 9645,
- 9646,
- 0,
- 0,
- 0,
- 9648,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9650,
- 9654,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9655,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9656,
- 0,
- 9657,
- 0,
- 0,
- 0,
- 0,
- 9658,
- 0,
- 0,
- 9659,
- 0,
- 0,
- 9664,
- 0,
- 0,
- 9665,
- 0,
- 9667,
- 9669,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9671,
- 0,
- 9673,
- 9681,
- 0,
- 0,
- 0,
- 0,
- 9682,
- 9683,
- 9684,
- 0,
- 0,
- 0,
- 0,
- 9686,
- 9698,
- 0,
- 0,
- 9700,
- 9701,
- 9702,
- 0,
- 9703,
- 9717,
- 0,
- 0,
- 0,
- 0,
- 9718,
- 0,
- 9726,
- 0,
- 0,
- 0,
- 0,
- 9727,
- 0,
- 0,
- 0,
- 9728,
- 0,
- 9742,
- 0,
- 9744,
- 0,
- 0,
- 0,
- 9750,
- 0,
- 9754,
- 9755,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9756,
- 0,
- 9757,
- 9768,
- 0,
- 9769,
- 0,
- 0,
- 0,
- 9770,
- 9771,
- 0,
- 9773,
- 0,
- 9774,
- 0,
- 9775,
- 0,
- 0,
- 0,
- 9776,
- 9777,
- 9784,
- 0,
- 0,
- 0,
- 9786,
- 0,
- 9789,
- 0,
- 0,
- 0,
- 0,
- 9793,
- 9794,
- 0,
- 0,
- 0,
- 9808,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9811,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9812,
- 0,
- 9820,
- 0,
- 9823,
- 0,
- 9828,
- 0,
- 0,
- 0,
- 0,
- 9830,
- 0,
- 0,
- 9833,
- 9836,
- 0,
- 0,
- 0,
- 9840,
- 0,
- 0,
- 0,
- 9841,
- 0,
- 0,
- 9842,
- 0,
- 9845,
- 0,
- 0,
- 0,
- 9847,
- 9848,
- 0,
- 0,
- 9855,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9856,
- 9863,
- 9865,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9866,
- 9867,
- 9868,
- 9873,
- 9875,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9880,
- 0,
- 9886,
- 0,
- 0,
- 0,
- 9887,
- 0,
- 0,
- 9891,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9906,
- 9907,
- 9908,
- 0,
- 0,
- 0,
- 9909,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9910,
- 0,
- 0,
- 0,
- 0,
- 9913,
- 0,
- 0,
- 0,
- 0,
- 9914,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9922,
- 0,
- 0,
- 0,
- 0,
- 9923,
- 9925,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9930,
- 0,
- 0,
- 0,
- 9931,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9932,
- 0,
- 9939,
- 0,
- 0,
- 9940,
- 9962,
- 9966,
- 0,
- 9969,
- 9970,
- 0,
- 0,
- 9974,
- 0,
- 9979,
- 9981,
- 9982,
- 0,
- 0,
- 0,
- 9985,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9987,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 9988,
- 9993,
- 0,
- 0,
- 9994,
- 0,
- 0,
- 0,
- 9997,
- 0,
- 10004,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10007,
- 10019,
- 10020,
- 10022,
- 0,
- 0,
- 0,
- 10031,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10032,
- 0,
- 0,
- 10034,
- 0,
- 10036,
- 0,
- 0,
- 0,
- 0,
- 10038,
- 0,
- 10039,
- 10040,
- 10041,
- 10042,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10043,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10045,
- 10054,
- 0,
- 0,
- 0,
- 0,
- 10055,
- 0,
- 0,
- 10057,
- 10058,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10059,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10060,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10063,
- 0,
- 10066,
- 0,
- 0,
- 0,
- 10070,
- 0,
- 10072,
- 0,
- 0,
- 10076,
- 10077,
- 0,
- 0,
- 10084,
- 0,
- 10087,
- 10090,
- 10091,
- 0,
- 0,
- 0,
- 10094,
- 10097,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10098,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10103,
- 0,
- 10104,
- 0,
- 10108,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10120,
- 0,
- 0,
- 0,
- 10122,
- 0,
- 0,
- 10125,
- 0,
- 0,
- 0,
- 0,
- 10127,
- 10128,
- 0,
- 0,
- 10134,
- 0,
- 10135,
- 10136,
- 0,
- 10137,
- 0,
- 0,
- 10147,
- 0,
- 10149,
- 10150,
- 0,
- 0,
- 10156,
- 0,
- 10158,
- 10159,
- 10160,
- 10168,
- 0,
- 0,
- 10171,
- 0,
- 10173,
- 0,
- 0,
- 0,
- 10176,
- 0,
- 0,
- 0,
- 0,
- 10177,
- 0,
- 0,
- 0,
- 0,
- 10178,
- 0,
- 0,
- 0,
- 0,
- 10194,
- 0,
- 10202,
- 0,
- 0,
- 10203,
- 10204,
- 0,
- 10205,
- 10206,
- 0,
- 10207,
- 0,
- 0,
- 0,
- 0,
- 10209,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10213,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10217,
- 0,
- 10229,
- 0,
- 10230,
- 10231,
- 0,
- 0,
- 10232,
- 0,
- 0,
- 10237,
- 10238,
- 10244,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10250,
- 0,
- 10252,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10255,
- 0,
- 0,
- 10257,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10258,
- 0,
- 10259,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10260,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10284,
- 10288,
- 10289,
- 0,
- 0,
- 0,
- 10290,
- 0,
- 10296,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10297,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10298,
- 0,
- 0,
- 0,
- 0,
- 10299,
- 10303,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10306,
- 0,
- 0,
- 0,
- 10307,
- 0,
- 10308,
- 0,
- 0,
- 0,
- 0,
- 10311,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10315,
- 10317,
- 0,
- 0,
- 0,
- 10318,
- 10319,
- 0,
- 10321,
- 0,
- 10326,
- 0,
- 10328,
- 0,
- 0,
- 0,
- 0,
- 10329,
- 0,
- 0,
- 10331,
- 0,
- 10332,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10334,
- 0,
- 0,
- 10335,
- 10338,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10339,
- 10349,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10351,
- 0,
- 10353,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10362,
- 0,
- 10368,
- 0,
- 10369,
- 0,
- 0,
- 0,
- 10372,
- 10373,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10374,
- 0,
- 0,
- 0,
- 10375,
- 0,
- 10376,
- 0,
- 0,
- 10386,
- 10388,
- 10390,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10391,
- 0,
- 0,
- 10392,
- 10394,
- 0,
- 0,
- 10396,
- 0,
- 10397,
- 0,
- 10403,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10404,
- 0,
- 10405,
- 10410,
- 0,
- 0,
- 10411,
- 0,
- 10412,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10421,
- 10422,
- 10423,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10425,
- 0,
- 0,
- 10427,
- 0,
- 0,
- 10430,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10432,
- 0,
- 10433,
- 10434,
- 0,
- 0,
- 0,
- 0,
- 10436,
- 10437,
- 0,
- 10438,
- 0,
- 10439,
- 0,
- 10444,
- 10446,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10448,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10449,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10451,
- 0,
- 10453,
- 0,
- 0,
- 0,
- 10454,
- 10457,
- 0,
- 0,
- 10459,
- 0,
- 10469,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10472,
- 10481,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10482,
- 10483,
- 0,
- 10492,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10499,
- 0,
- 0,
- 0,
- 10502,
- 0,
- 0,
- 10510,
- 0,
- 10521,
- 10524,
- 0,
- 0,
- 10525,
- 10526,
- 10528,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10530,
- 0,
- 0,
- 0,
- 0,
- 10533,
- 0,
- 10534,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10535,
- 10536,
- 0,
- 0,
- 10544,
- 0,
- 10553,
- 10556,
- 0,
- 10557,
- 10559,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10562,
- 10563,
- 10564,
- 0,
- 10565,
- 0,
- 0,
- 0,
- 10566,
- 0,
- 10567,
- 0,
- 0,
- 0,
- 0,
- 10575,
- 0,
- 0,
- 10576,
- 0,
- 10578,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10585,
- 10586,
- 10587,
- 10589,
- 0,
- 10590,
- 0,
- 0,
- 10594,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10598,
- 0,
- 0,
- 10601,
- 0,
- 0,
- 0,
- 10602,
- 0,
- 10603,
- 0,
- 10604,
- 0,
- 10605,
- 0,
- 0,
- 10607,
- 0,
- 10626,
- 0,
- 10627,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10629,
- 10630,
- 10631,
- 0,
- 0,
- 0,
- 10646,
- 0,
- 0,
- 0,
- 10647,
- 0,
- 10650,
- 0,
- 10651,
- 0,
- 0,
- 0,
- 10652,
- 10653,
- 10655,
- 0,
- 10658,
- 0,
- 0,
- 10659,
- 0,
- 10667,
- 0,
- 0,
- 0,
- 0,
- 10669,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10670,
- 0,
- 0,
- 0,
- 10671,
- 0,
- 0,
- 0,
- 0,
- 10672,
- 10673,
- 0,
- 10674,
- 0,
- 0,
- 0,
- 10676,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10678,
- 0,
- 10682,
- 0,
- 0,
- 10692,
- 0,
- 10697,
- 0,
- 0,
- 0,
- 0,
- 10698,
- 0,
- 0,
- 0,
- 10700,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10703,
- 0,
- 10704,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10705,
- 0,
- 10715,
- 10718,
- 10720,
- 0,
- 0,
- 10722,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10723,
- 0,
- 0,
- 0,
- 0,
- 10726,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10727,
- 10730,
- 10743,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10744,
- 0,
- 0,
- 10745,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10748,
- 0,
- 0,
- 0,
- 0,
- 10750,
- 0,
- 0,
- 10752,
- 10753,
- 0,
- 0,
- 0,
- 10756,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10758,
- 0,
- 0,
- 0,
- 10759,
- 0,
- 10769,
- 0,
- 0,
- 10772,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10773,
- 0,
- 0,
- 0,
- 10777,
- 0,
- 0,
- 10779,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10780,
- 10784,
- 0,
- 0,
- 0,
- 10789,
- 0,
- 0,
- 0,
- 10791,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10795,
- 0,
- 0,
- 10796,
- 0,
- 10808,
- 0,
- 10809,
- 0,
- 0,
- 0,
- 10810,
- 0,
- 0,
- 0,
- 10812,
- 0,
- 0,
- 10814,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10815,
- 0,
- 0,
- 0,
- 0,
- 10816,
- 10817,
- 0,
- 0,
- 0,
- 0,
- 10819,
- 0,
- 10820,
- 0,
- 0,
- 0,
- 0,
- 10821,
- 10822,
- 10823,
- 0,
- 10826,
- 10849,
- 0,
- 0,
- 0,
- 0,
- 10850,
- 0,
- 0,
- 10852,
- 0,
- 10853,
- 0,
- 0,
- 10856,
- 0,
- 0,
- 10857,
- 10858,
- 10859,
- 10860,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10863,
- 0,
- 10866,
- 10867,
- 10872,
- 10890,
- 0,
- 0,
- 10891,
- 10892,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10893,
- 0,
- 0,
- 0,
- 10896,
- 10899,
- 0,
- 0,
- 10900,
- 10902,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10903,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10905,
- 0,
- 10906,
- 0,
- 0,
- 0,
- 0,
- 10908,
- 10911,
- 0,
- 10912,
- 0,
- 0,
- 10916,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10917,
- 0,
- 10918,
- 0,
- 0,
- 0,
- 10923,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10924,
- 0,
- 0,
- 10928,
- 10929,
- 0,
- 0,
- 10930,
- 0,
- 0,
- 0,
- 10932,
- 0,
- 0,
- 0,
- 0,
- 10939,
- 0,
- 0,
- 10945,
- 0,
- 0,
- 0,
- 10947,
- 0,
- 0,
- 10948,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10958,
- 0,
- 10960,
- 10962,
- 0,
- 0,
- 10964,
- 0,
- 0,
- 0,
- 10966,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10967,
- 0,
- 0,
- 0,
- 10968,
- 0,
- 0,
- 0,
- 10973,
- 0,
- 0,
- 0,
- 0,
- 0,
- 10975,
- 0,
- 0,
- 0,
- 10976,
- 10978,
- 0,
- 0,
- 10982,
- 10984,
- 10987,
- 0,
- 0,
- 10988,
- 0,
- 10989,
- 0,
- 0,
- 10991,
- 0,
- 0,
- 0,
- 0,
- 10992,
- 0,
- 0,
- 0,
- 10993,
- 0,
- 10995,
- 0,
- 0,
- 0,
- 10996,
- 10997,
- 0,
- 0,
- 0,
- 10998,
- 0,
- 10999,
- 0,
- 11001,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11010,
- 11012,
- 0,
- 11013,
- 11016,
- 11017,
- 0,
- 0,
- 11019,
- 11020,
- 11021,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11022,
- 0,
- 0,
- 11023,
- 11029,
- 0,
- 0,
- 0,
- 0,
- 11031,
- 0,
- 0,
- 0,
- 11034,
- 0,
- 0,
- 0,
- 0,
- 11055,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11056,
- 11060,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11061,
- 0,
- 0,
- 11064,
- 11065,
- 0,
- 11066,
- 0,
- 11069,
- 0,
- 11085,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11086,
- 0,
- 0,
- 0,
- 11088,
- 0,
- 0,
- 0,
- 11094,
- 0,
- 0,
- 0,
- 11095,
- 11096,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11097,
- 11098,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11099,
- 0,
- 0,
- 11102,
- 11108,
- 0,
- 0,
- 0,
- 11109,
- 0,
- 11114,
- 11119,
- 0,
- 11131,
- 0,
- 0,
- 0,
- 11142,
- 0,
- 0,
- 11143,
- 0,
- 11146,
- 0,
- 11147,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11148,
- 0,
- 11149,
- 11152,
- 11153,
- 11154,
- 0,
- 11156,
- 0,
- 11157,
- 0,
- 0,
- 0,
- 11158,
- 0,
- 0,
- 11159,
- 11160,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11163,
- 0,
- 0,
- 11164,
- 11166,
- 0,
- 0,
- 0,
- 11172,
- 11174,
- 0,
- 0,
- 0,
- 11176,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11182,
- 11183,
- 0,
- 0,
- 0,
- 11184,
- 11187,
- 0,
- 0,
- 11188,
- 11189,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11194,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11200,
- 11202,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11203,
- 0,
- 11204,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11205,
- 0,
- 0,
- 0,
- 11206,
- 0,
- 11207,
- 0,
- 0,
- 11209,
- 0,
- 11211,
- 0,
- 11214,
- 0,
- 0,
- 11231,
- 0,
- 0,
- 0,
- 11293,
- 11295,
- 0,
- 0,
- 11296,
- 11297,
- 11302,
- 0,
- 0,
- 0,
- 11307,
- 0,
- 0,
- 0,
- 0,
- 11309,
- 11310,
- 0,
- 11311,
- 0,
- 0,
- 0,
- 11313,
- 0,
- 11314,
- 0,
- 0,
- 0,
- 0,
- 11334,
- 0,
- 11338,
- 0,
- 0,
- 0,
- 11339,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11340,
- 0,
- 11341,
- 11342,
- 0,
- 11344,
- 0,
- 11345,
- 0,
- 0,
- 0,
- 11348,
- 11349,
- 0,
- 0,
- 11350,
- 0,
- 0,
- 0,
- 11355,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11356,
- 0,
- 11357,
- 11370,
- 0,
- 0,
- 11371,
- 0,
- 11374,
- 11376,
- 0,
- 0,
- 0,
- 11377,
- 0,
- 0,
- 11378,
- 11383,
- 0,
- 11386,
- 11399,
- 0,
- 11400,
- 11406,
- 0,
- 0,
- 0,
- 11408,
- 0,
- 0,
- 11409,
- 11412,
- 0,
- 0,
- 0,
- 0,
- 11417,
- 0,
- 0,
- 0,
- 11418,
- 0,
- 11421,
- 0,
- 11426,
- 11429,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11430,
- 0,
- 11437,
- 0,
- 11438,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11440,
- 11453,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11454,
- 0,
- 0,
- 0,
- 0,
- 11455,
- 0,
- 0,
- 11456,
- 11460,
- 11461,
- 11463,
- 0,
- 11469,
- 0,
- 11473,
- 0,
- 0,
- 0,
- 0,
- 11474,
- 0,
- 0,
- 0,
- 11475,
- 0,
- 11476,
- 11477,
- 11480,
- 0,
- 0,
- 0,
- 0,
- 11481,
- 0,
- 0,
- 11484,
- 0,
- 0,
- 11487,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11497,
- 0,
- 0,
- 11502,
- 0,
- 11509,
- 0,
- 0,
- 11510,
- 11511,
- 11513,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11515,
- 0,
- 0,
- 0,
- 0,
- 11516,
- 0,
- 11520,
- 11521,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11529,
- 11530,
- 11531,
- 11534,
- 0,
- 0,
- 11543,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11547,
- 0,
- 11548,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11552,
- 11556,
- 0,
- 11557,
- 0,
- 0,
- 11559,
- 0,
- 11560,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11561,
- 0,
- 0,
- 11563,
- 11564,
- 0,
- 11565,
- 0,
- 0,
- 0,
- 0,
- 11567,
- 0,
- 0,
- 0,
- 11569,
- 0,
- 11574,
- 0,
- 11575,
- 0,
- 0,
- 0,
- 11577,
- 0,
- 11578,
- 0,
- 0,
- 0,
- 11580,
- 11581,
- 0,
- 0,
- 0,
- 11582,
- 11584,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11587,
- 0,
- 11588,
- 11591,
- 0,
- 11595,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11596,
- 0,
- 11597,
- 0,
- 0,
- 0,
- 0,
- 11598,
- 11601,
- 0,
- 0,
- 0,
- 11602,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11603,
- 11604,
- 0,
- 11606,
- 0,
- 0,
- 11608,
- 0,
- 0,
- 0,
- 0,
- 11610,
- 0,
- 0,
- 11611,
- 0,
- 0,
- 0,
- 0,
- 11613,
- 0,
- 11622,
- 0,
- 0,
- 0,
- 11623,
- 0,
- 0,
- 0,
- 0,
- 11625,
- 0,
- 0,
- 11626,
- 11627,
- 11628,
- 11630,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11639,
- 0,
- 0,
- 11646,
- 0,
- 11648,
- 11649,
- 0,
- 11650,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11651,
- 0,
- 0,
- 11652,
- 11653,
- 11656,
- 0,
- 0,
- 11677,
- 11679,
- 0,
- 0,
- 0,
- 0,
- 11680,
- 0,
- 0,
- 11681,
- 0,
- 11685,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11688,
- 0,
- 0,
- 0,
- 11716,
- 0,
- 11719,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11721,
- 0,
- 0,
- 11724,
- 11743,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11745,
- 11748,
- 11750,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11751,
- 0,
- 0,
- 0,
- 11752,
- 11754,
- 0,
- 11755,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11759,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11760,
- 0,
- 0,
- 0,
- 11761,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11766,
- 11767,
- 0,
- 11772,
- 11773,
- 0,
- 11774,
- 0,
- 0,
- 11775,
- 0,
- 11777,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11778,
- 11780,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11783,
- 0,
- 11784,
- 0,
- 0,
- 0,
- 11785,
- 0,
- 0,
- 0,
- 11786,
- 0,
- 0,
- 0,
- 0,
- 11788,
- 0,
- 0,
- 11789,
- 11791,
- 11792,
- 0,
- 0,
- 0,
- 0,
- 11795,
- 11834,
- 11835,
- 11836,
- 0,
- 0,
- 11837,
- 0,
- 0,
- 0,
- 11838,
- 0,
- 0,
- 11846,
- 11851,
- 0,
- 11852,
- 0,
- 11869,
- 0,
- 0,
- 0,
- 11871,
- 0,
- 0,
- 0,
- 11872,
- 11874,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11875,
- 0,
- 11876,
- 11877,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11883,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11884,
- 0,
- 11885,
- 0,
- 11886,
- 0,
- 0,
- 11887,
- 0,
- 11894,
- 11895,
- 11897,
- 11909,
- 11910,
- 0,
- 11912,
- 11918,
- 0,
- 0,
- 11920,
- 0,
- 11922,
- 11924,
- 11927,
- 11928,
- 0,
- 0,
- 0,
- 0,
- 11929,
- 0,
- 11934,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11941,
- 11943,
- 11944,
- 0,
- 11945,
- 0,
- 0,
- 0,
- 0,
- 11948,
- 11949,
- 0,
- 0,
- 0,
- 0,
- 11953,
- 0,
- 11954,
- 0,
- 11955,
- 0,
- 11956,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11957,
- 0,
- 0,
- 11959,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11961,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11978,
- 0,
- 0,
- 0,
- 11979,
- 11980,
- 11986,
- 11987,
- 0,
- 11992,
- 0,
- 0,
- 0,
- 0,
- 0,
- 11993,
- 0,
- 0,
- 0,
- 11994,
- 0,
- 11999,
- 12004,
- 12005,
- 12006,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12011,
- 0,
- 0,
- 12012,
- 12014,
- 0,
- 0,
- 12015,
- 0,
- 0,
- 12019,
- 12028,
- 0,
- 0,
- 12029,
- 0,
- 0,
- 12032,
- 12033,
- 0,
- 0,
- 0,
- 0,
- 12034,
- 0,
- 12041,
- 12043,
- 0,
- 0,
- 12044,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12046,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12054,
- 12055,
- 0,
- 12056,
- 0,
- 0,
- 0,
- 12060,
- 12064,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12065,
- 12067,
- 12068,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12074,
- 0,
- 0,
- 0,
- 12075,
- 12076,
- 0,
- 0,
- 0,
- 12079,
- 0,
- 12081,
- 12086,
- 12087,
- 0,
- 0,
- 12088,
- 0,
- 0,
- 0,
- 0,
- 12089,
- 0,
- 12092,
- 0,
- 0,
- 0,
- 0,
- 12097,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12098,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12102,
- 12103,
- 12104,
- 12111,
- 0,
- 0,
- 12114,
- 12116,
- 0,
- 0,
- 0,
- 12118,
- 0,
- 0,
- 0,
- 12119,
- 12120,
- 12128,
- 0,
- 0,
- 0,
- 0,
- 12130,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12131,
- 0,
- 0,
- 0,
- 12132,
- 12134,
- 0,
- 0,
- 0,
- 0,
- 12137,
- 0,
- 12139,
- 0,
- 12141,
- 0,
- 0,
- 12142,
- 0,
- 0,
- 0,
- 12144,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12145,
- 0,
- 12148,
- 0,
- 12153,
- 0,
- 0,
- 0,
- 0,
- 12154,
- 12171,
- 12173,
- 0,
- 0,
- 0,
- 12175,
- 0,
- 0,
- 0,
- 0,
- 12178,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12183,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12184,
- 0,
- 0,
- 0,
- 12186,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12187,
- 12188,
- 0,
- 0,
- 12189,
- 0,
- 12196,
- 0,
- 12197,
- 0,
- 0,
- 12198,
- 0,
- 12201,
- 0,
- 0,
- 0,
- 0,
- 12203,
- 0,
- 12209,
- 0,
- 0,
- 0,
- 0,
- 12210,
- 12211,
- 12212,
- 12213,
- 0,
- 12217,
- 12218,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12222,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12223,
- 0,
- 0,
- 12229,
- 0,
- 0,
- 0,
- 0,
- 12233,
- 0,
- 0,
- 0,
- 0,
- 12234,
- 0,
- 0,
- 12236,
- 12242,
- 0,
- 0,
- 0,
- 12243,
- 0,
- 0,
- 0,
- 12244,
- 12253,
- 0,
- 12254,
- 12256,
- 0,
- 12257,
- 0,
- 0,
- 12275,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12277,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12278,
- 0,
- 12289,
- 0,
- 0,
- 12290,
- 0,
- 12292,
- 12293,
- 0,
- 0,
- 12294,
- 0,
- 12295,
- 0,
- 0,
- 12296,
- 0,
- 12297,
- 0,
- 12298,
- 0,
- 0,
- 0,
- 0,
- 12301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12309,
- 0,
- 12338,
- 12340,
- 0,
- 0,
- 0,
- 0,
- 12341,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12342,
- 12343,
- 0,
- 12344,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12345,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12346,
- 0,
- 0,
- 0,
- 0,
- 12348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12350,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12351,
- 0,
- 12355,
- 12356,
- 12357,
- 0,
- 0,
- 12367,
- 12370,
- 12371,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12372,
- 12376,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12379,
- 0,
- 12382,
- 0,
- 12383,
- 0,
- 0,
- 12384,
- 0,
- 0,
- 0,
- 0,
- 12393,
- 0,
- 0,
- 12394,
- 0,
- 0,
- 0,
- 0,
- 12398,
- 12403,
- 0,
- 0,
- 12404,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12410,
- 0,
- 0,
- 0,
- 12411,
- 0,
- 0,
- 0,
- 12412,
- 0,
- 0,
- 0,
- 0,
- 12420,
- 0,
- 12421,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12423,
- 0,
- 12425,
- 12429,
- 0,
- 0,
- 0,
- 12431,
- 12432,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12434,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12435,
- 12436,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12437,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12438,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12445,
- 0,
- 0,
- 0,
- 12450,
- 12451,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12452,
- 12475,
- 0,
- 0,
- 12493,
- 12494,
- 0,
- 0,
- 0,
- 12495,
- 0,
- 0,
- 0,
- 0,
- 12496,
- 12502,
- 12509,
- 0,
- 0,
- 0,
- 0,
- 12510,
- 0,
- 12512,
- 12513,
- 0,
- 0,
- 0,
- 0,
- 12514,
- 0,
- 0,
- 0,
- 12515,
- 0,
- 12520,
- 0,
- 0,
- 0,
- 12524,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12527,
- 0,
- 0,
- 0,
- 12528,
- 0,
- 0,
- 0,
- 12529,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12530,
- 0,
- 12535,
- 0,
- 0,
- 12536,
- 0,
- 12538,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12540,
- 0,
- 12548,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12550,
- 0,
- 0,
- 0,
- 12551,
- 12552,
- 0,
- 0,
- 0,
- 12554,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12555,
- 0,
- 0,
- 12562,
- 0,
- 12565,
- 0,
- 12566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12569,
- 0,
- 0,
- 0,
- 12571,
- 12574,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12577,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12578,
- 12579,
- 12603,
- 0,
- 12608,
- 0,
- 0,
- 12611,
- 0,
- 12612,
- 0,
- 12615,
- 0,
- 12625,
- 0,
- 0,
- 0,
- 0,
- 12627,
- 12646,
- 0,
- 12648,
- 0,
- 0,
- 12657,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12670,
- 0,
- 0,
- 12671,
- 0,
- 12673,
- 12677,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12679,
- 0,
- 12681,
- 0,
- 12682,
- 12693,
- 0,
- 12694,
- 0,
- 12697,
- 0,
- 12701,
- 0,
- 0,
- 0,
- 12703,
- 12704,
- 0,
- 0,
- 0,
- 0,
- 12707,
- 12737,
- 0,
- 0,
- 12739,
- 0,
- 0,
- 12740,
- 0,
- 0,
- 12742,
- 12743,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12745,
- 0,
- 12746,
- 12747,
- 0,
- 12748,
- 0,
- 0,
- 12759,
- 12767,
- 0,
- 0,
- 0,
- 0,
- 12773,
- 0,
- 12774,
- 12778,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12779,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12780,
- 12793,
- 0,
- 12824,
- 0,
- 12825,
- 0,
- 12836,
- 0,
- 0,
- 0,
- 0,
- 12839,
- 0,
- 12842,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12843,
- 12845,
- 0,
- 12846,
- 0,
- 0,
- 0,
- 0,
- 12847,
- 0,
- 0,
- 12850,
- 12852,
- 12853,
- 0,
- 0,
- 0,
- 12854,
- 0,
- 0,
- 0,
- 12855,
- 0,
- 12856,
- 0,
- 12858,
- 0,
- 0,
- 12859,
- 0,
- 12862,
- 0,
- 12863,
- 0,
- 0,
- 12866,
- 0,
- 12869,
- 12872,
- 12873,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12875,
- 0,
- 12877,
- 0,
- 0,
- 12878,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12884,
- 12885,
- 12888,
- 0,
- 12889,
- 0,
- 0,
- 0,
- 0,
- 12893,
- 0,
- 0,
- 0,
- 12895,
- 12896,
- 12898,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12902,
- 0,
- 12909,
- 12910,
- 0,
- 12926,
- 0,
- 12928,
- 0,
- 0,
- 0,
- 12929,
- 0,
- 12930,
- 0,
- 0,
- 0,
- 0,
- 12931,
- 0,
- 12932,
- 12933,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12934,
- 0,
- 12942,
- 0,
- 0,
- 0,
- 0,
- 12944,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12946,
- 0,
- 0,
- 12948,
- 0,
- 0,
- 12949,
- 0,
- 0,
- 0,
- 0,
- 12950,
- 0,
- 0,
- 0,
- 0,
- 12951,
- 0,
- 12952,
- 0,
- 12953,
- 0,
- 0,
- 0,
- 12954,
- 12958,
- 12959,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12960,
- 12964,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12966,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12970,
- 0,
- 12971,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 12972,
- 0,
- 0,
- 12982,
- 0,
- 0,
- 0,
- 12984,
- 12985,
- 0,
- 12986,
- 12996,
- 12997,
- 13001,
- 13002,
- 0,
- 0,
- 0,
- 0,
- 13004,
- 0,
- 0,
- 13005,
- 0,
- 0,
- 13007,
- 13009,
- 0,
- 13017,
- 0,
- 0,
- 0,
- 13020,
- 0,
- 13021,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13022,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13024,
- 13027,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13028,
- 0,
- 0,
- 13029,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13032,
- 0,
- 13037,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13040,
- 0,
- 0,
- 13041,
- 0,
- 0,
- 0,
- 13043,
- 13044,
- 13046,
- 0,
- 0,
- 0,
- 0,
- 13047,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13049,
- 13054,
- 0,
- 13056,
- 0,
- 0,
- 13060,
- 13061,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13067,
- 0,
- 0,
- 13068,
- 0,
- 13071,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13077,
- 13078,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13079,
- 13080,
- 13081,
- 0,
- 13082,
- 0,
- 0,
- 0,
- 13085,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13086,
- 0,
- 13087,
- 13088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13094,
- 0,
- 13099,
- 0,
- 13100,
- 0,
- 0,
- 0,
- 13101,
- 0,
- 13125,
- 13126,
- 13128,
- 13129,
- 0,
- 0,
- 13130,
- 0,
- 13131,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13134,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13150,
- 0,
- 13168,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13169,
- 0,
- 0,
- 13170,
- 0,
- 0,
- 0,
- 0,
- 13174,
- 0,
- 0,
- 0,
- 13176,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13177,
- 0,
- 13178,
- 13183,
- 13187,
- 0,
- 0,
- 0,
- 13189,
- 0,
- 0,
- 13190,
- 0,
- 0,
- 13191,
- 0,
- 0,
- 13206,
- 0,
- 0,
- 0,
- 13207,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13212,
- 0,
- 0,
- 13219,
- 13232,
- 0,
- 0,
- 0,
- 13241,
- 0,
- 13249,
- 13253,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13255,
- 13259,
- 0,
- 13260,
- 13261,
- 0,
- 13262,
- 0,
- 13272,
- 0,
- 0,
- 0,
- 0,
- 13276,
- 0,
- 0,
- 0,
- 0,
- 13277,
- 13299,
- 0,
- 0,
- 13301,
- 13302,
- 0,
- 0,
- 13303,
- 0,
- 0,
- 13305,
- 0,
- 13310,
- 0,
- 0,
- 0,
- 13311,
- 0,
- 0,
- 0,
- 0,
- 13325,
- 0,
- 13328,
- 0,
- 0,
- 0,
- 13329,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13330,
- 0,
- 0,
- 13331,
- 0,
- 13335,
- 0,
- 0,
- 13342,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13343,
- 0,
- 13354,
- 0,
- 13362,
- 0,
- 13366,
- 13367,
- 13369,
- 0,
- 0,
- 13371,
- 13372,
- 0,
- 13373,
- 13374,
- 0,
- 13376,
- 0,
- 13380,
- 13381,
- 13386,
- 0,
- 13387,
- 13388,
- 0,
- 13389,
- 13391,
- 13395,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13401,
- 13409,
- 0,
- 13410,
- 0,
- 0,
- 0,
- 0,
- 13420,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13422,
- 0,
- 0,
- 0,
- 0,
- 13423,
- 0,
- 0,
- 0,
- 0,
- 13425,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13427,
- 0,
- 0,
- 0,
- 13428,
- 0,
- 0,
- 13430,
- 13438,
- 0,
- 13439,
- 0,
- 13445,
- 0,
- 13448,
- 13449,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13451,
- 0,
- 13457,
- 0,
- 0,
- 0,
- 0,
- 13458,
- 13459,
- 0,
- 13460,
- 0,
- 0,
- 0,
- 0,
- 13464,
- 13465,
- 13466,
- 13470,
- 0,
- 13471,
- 13472,
- 13474,
- 13475,
- 0,
- 13476,
- 0,
- 0,
- 13478,
- 13479,
- 0,
- 13481,
- 0,
- 0,
- 0,
- 0,
- 13487,
- 0,
- 13490,
- 0,
- 13493,
- 0,
- 0,
- 13494,
- 0,
- 0,
- 13495,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13496,
- 13497,
- 0,
- 13500,
- 0,
- 0,
- 13516,
- 13522,
- 0,
- 0,
- 13525,
- 13528,
- 0,
- 0,
- 0,
- 13530,
- 13535,
- 0,
- 13537,
- 13539,
- 0,
- 13540,
- 0,
- 13543,
- 0,
- 13544,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13545,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13547,
- 0,
- 0,
- 0,
- 13549,
- 13555,
- 0,
- 0,
- 0,
- 13556,
- 13557,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13558,
- 0,
- 13563,
- 0,
- 0,
- 0,
- 0,
- 13564,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13569,
- 0,
- 0,
- 13571,
- 0,
- 0,
- 0,
- 0,
- 13573,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13578,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13581,
- 0,
- 13586,
- 0,
- 13595,
- 0,
- 13600,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13601,
- 13603,
- 0,
- 13604,
- 13605,
- 13606,
- 13607,
- 0,
- 0,
- 13617,
- 13618,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13623,
- 0,
- 13625,
- 13627,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13629,
- 0,
- 0,
- 0,
- 13634,
- 0,
- 0,
- 0,
- 13638,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13654,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13656,
- 0,
- 13659,
- 0,
- 0,
- 13660,
- 0,
- 0,
- 13662,
- 0,
- 0,
- 0,
- 13663,
- 0,
- 13664,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13668,
- 0,
- 13669,
- 13671,
- 0,
- 0,
- 13672,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13675,
- 13685,
- 0,
- 13686,
- 0,
- 0,
- 0,
- 13687,
- 0,
- 0,
- 0,
- 13692,
- 13694,
- 13697,
- 0,
- 0,
- 0,
- 13702,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13705,
- 0,
- 0,
- 0,
- 0,
- 13707,
- 0,
- 0,
- 0,
- 13714,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13715,
- 0,
- 13716,
- 13717,
- 0,
- 0,
- 13719,
- 13724,
- 13730,
- 13731,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13732,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13734,
- 0,
- 13736,
- 0,
- 0,
- 13737,
- 13738,
- 13747,
- 0,
- 13751,
- 0,
- 0,
- 13752,
- 0,
- 0,
- 0,
- 13753,
- 0,
- 13757,
- 0,
- 0,
- 13762,
- 13763,
- 0,
- 13764,
- 13765,
- 0,
- 13766,
- 0,
- 0,
- 13767,
- 0,
- 0,
- 0,
- 13768,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13769,
- 0,
- 0,
- 13772,
- 0,
- 13775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13776,
- 13778,
- 13787,
- 0,
- 0,
- 0,
- 13797,
- 0,
- 13798,
- 0,
- 13801,
- 0,
- 13804,
- 13806,
- 0,
- 0,
- 0,
- 0,
- 13816,
- 13817,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13834,
- 0,
- 13836,
- 0,
- 0,
- 13838,
- 0,
- 0,
- 13839,
- 0,
- 13840,
- 0,
- 0,
- 0,
- 0,
- 13842,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13843,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13845,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13858,
- 0,
- 0,
- 13860,
- 0,
- 0,
- 13861,
- 0,
- 0,
- 13862,
- 13863,
- 0,
- 13868,
- 0,
- 13869,
- 13870,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13872,
- 0,
- 0,
- 0,
- 0,
- 13873,
- 13878,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13886,
- 0,
- 13888,
- 13889,
- 13890,
- 0,
- 0,
- 13891,
- 13894,
- 0,
- 13897,
- 13899,
- 13900,
- 13904,
- 0,
- 0,
- 13906,
- 0,
- 0,
- 0,
- 13909,
- 0,
- 0,
- 0,
- 13910,
- 0,
- 0,
- 0,
- 13911,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13912,
- 13917,
- 0,
- 0,
- 0,
- 0,
- 13918,
- 0,
- 13919,
- 0,
- 0,
- 13920,
- 0,
- 0,
- 0,
- 13921,
- 0,
- 0,
- 13922,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13924,
- 0,
- 13927,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13932,
- 0,
- 13933,
- 0,
- 13934,
- 0,
- 0,
- 13935,
- 0,
- 13944,
- 0,
- 0,
- 0,
- 13954,
- 0,
- 0,
- 13955,
- 0,
- 0,
- 0,
- 0,
- 13956,
- 0,
- 13957,
- 0,
- 13967,
- 13969,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 13970,
- 13990,
- 0,
- 13991,
- 13994,
- 0,
- 13995,
- 0,
- 0,
- 0,
- 0,
- 13996,
- 0,
- 0,
- 13999,
- 0,
- 0,
- 0,
- 14018,
- 0,
- 14019,
- 0,
- 14021,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14041,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14043,
- 0,
- 0,
- 0,
- 0,
- 14046,
- 0,
- 0,
- 0,
- 14048,
- 14049,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14051,
- 0,
- 0,
- 14052,
- 14056,
- 0,
- 14063,
- 0,
- 14064,
- 14066,
- 0,
- 0,
- 14067,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14068,
- 0,
- 0,
- 0,
- 14072,
- 0,
- 14074,
- 14075,
- 0,
- 14076,
- 14079,
- 14085,
- 14086,
- 14087,
- 14093,
- 0,
- 0,
- 0,
- 0,
- 14095,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14096,
- 14097,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14098,
- 0,
- 14102,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14103,
- 0,
- 0,
- 0,
- 14104,
- 0,
- 0,
- 14105,
- 0,
- 0,
- 0,
- 14107,
- 14108,
- 0,
- 0,
- 14109,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14117,
- 0,
- 0,
- 0,
- 0,
- 14118,
- 0,
- 0,
- 0,
- 0,
- 14119,
- 0,
- 0,
- 14120,
- 0,
- 0,
- 14121,
- 0,
- 14122,
- 14127,
- 0,
- 14128,
- 14136,
- 0,
- 0,
- 14138,
- 0,
- 14140,
- 0,
- 0,
- 0,
- 14141,
- 14142,
- 0,
- 0,
- 0,
- 0,
- 14146,
- 0,
- 0,
- 14149,
- 0,
- 14151,
- 0,
- 0,
- 0,
- 14152,
- 0,
- 0,
- 14153,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14154,
- 0,
- 14156,
- 14157,
- 0,
- 0,
- 14159,
- 0,
- 14161,
- 0,
- 0,
- 0,
- 0,
- 14162,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14163,
- 0,
- 0,
- 14173,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14174,
- 0,
- 0,
- 14176,
- 0,
- 0,
- 14178,
- 0,
- 0,
- 14179,
- 14181,
- 0,
- 0,
- 14182,
- 14185,
- 14187,
- 0,
- 14190,
- 0,
- 0,
- 14197,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14198,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14199,
- 14200,
- 0,
- 0,
- 0,
- 14204,
- 0,
- 0,
- 14208,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14231,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14234,
- 0,
- 0,
- 14235,
- 0,
- 0,
- 0,
- 14240,
- 14241,
- 0,
- 0,
- 0,
- 14246,
- 0,
- 0,
- 0,
- 14247,
- 0,
- 14250,
- 0,
- 0,
- 14251,
- 0,
- 0,
- 14254,
- 0,
- 0,
- 14256,
- 0,
- 0,
- 0,
- 14260,
- 0,
- 14261,
- 0,
- 0,
- 0,
- 0,
- 14262,
- 14267,
- 14269,
- 0,
- 0,
- 14277,
- 0,
- 0,
- 14278,
- 0,
- 14279,
- 14282,
- 0,
- 0,
- 0,
- 14283,
- 0,
- 0,
- 0,
- 14284,
- 14285,
- 0,
- 0,
- 0,
- 0,
- 14286,
- 0,
- 0,
- 0,
- 14288,
- 0,
- 0,
- 0,
- 14289,
- 0,
- 14290,
- 0,
- 14293,
- 14301,
- 14302,
- 14304,
- 14305,
- 0,
- 14307,
- 0,
- 14308,
- 14309,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14311,
- 14312,
- 0,
- 0,
- 14317,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14318,
- 0,
- 0,
- 0,
- 0,
- 14320,
- 0,
- 0,
- 0,
- 0,
- 14321,
- 14322,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14326,
- 14329,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14330,
- 14331,
- 0,
- 0,
- 0,
- 0,
- 14332,
- 0,
- 0,
- 0,
- 14333,
- 0,
- 0,
- 14337,
- 14340,
- 0,
- 14341,
- 0,
- 0,
- 14342,
- 0,
- 14345,
- 14346,
- 0,
- 0,
- 14347,
- 0,
- 14362,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14364,
- 14365,
- 14371,
- 0,
- 14373,
- 0,
- 0,
- 14374,
- 0,
- 14379,
- 0,
- 14400,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14401,
- 0,
- 0,
- 14405,
- 0,
- 14406,
- 0,
- 14408,
- 14409,
- 0,
- 0,
- 0,
- 14417,
- 0,
- 0,
- 14424,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14430,
- 0,
- 0,
- 0,
- 14431,
- 0,
- 0,
- 14435,
- 0,
- 14440,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14442,
- 0,
- 0,
- 14443,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14446,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14454,
- 0,
- 14457,
- 0,
- 14460,
- 0,
- 0,
- 14466,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14467,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14469,
- 0,
- 14477,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14478,
- 14482,
- 0,
- 0,
- 0,
- 14483,
- 0,
- 0,
- 0,
- 14485,
- 14486,
- 0,
- 0,
- 0,
- 14487,
- 14488,
- 14489,
- 14492,
- 14493,
- 14494,
- 14495,
- 14496,
- 14497,
- 0,
- 14499,
- 0,
- 14501,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14502,
- 0,
- 14507,
- 14512,
- 14513,
- 14514,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14515,
- 14526,
- 14530,
- 0,
- 14537,
- 0,
- 14544,
- 0,
- 14547,
- 0,
- 0,
- 14548,
- 14550,
- 14551,
- 0,
- 0,
- 14552,
- 0,
- 0,
- 0,
- 14553,
- 0,
- 14554,
- 0,
- 0,
- 0,
- 0,
- 14556,
- 14564,
- 0,
- 0,
- 14565,
- 14566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14568,
- 0,
- 0,
- 14569,
- 0,
- 0,
- 0,
- 14571,
- 14576,
- 0,
- 0,
- 14577,
- 14578,
- 14579,
- 0,
- 0,
- 14580,
- 0,
- 0,
- 0,
- 0,
- 14582,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14583,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14587,
- 0,
- 14588,
- 0,
- 0,
- 14600,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14601,
- 0,
- 0,
- 14604,
- 14605,
- 14611,
- 0,
- 14613,
- 0,
- 0,
- 0,
- 0,
- 14615,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14627,
- 0,
- 14628,
- 0,
- 0,
- 0,
- 0,
- 14631,
- 0,
- 14633,
- 14634,
- 0,
- 0,
- 0,
- 0,
- 14635,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14636,
- 0,
- 0,
- 14639,
- 14642,
- 0,
- 0,
- 0,
- 0,
- 14644,
- 0,
- 0,
- 0,
- 0,
- 14645,
- 14646,
- 0,
- 14653,
- 0,
- 0,
- 14654,
- 0,
- 14658,
- 0,
- 14661,
- 0,
- 0,
- 0,
- 14665,
- 0,
- 0,
- 0,
- 14668,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14669,
- 0,
- 0,
- 14670,
- 0,
- 0,
- 0,
- 14680,
- 0,
- 0,
- 14681,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14682,
- 14683,
- 0,
- 0,
- 0,
- 0,
- 14686,
- 0,
- 0,
- 0,
- 0,
- 14687,
- 14697,
- 0,
- 0,
- 0,
- 0,
- 14699,
- 14705,
- 14711,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14712,
- 0,
- 0,
- 0,
- 14713,
- 0,
- 0,
- 0,
- 0,
- 14719,
- 0,
- 14720,
- 14721,
- 14726,
- 0,
- 0,
- 0,
- 14728,
- 14729,
- 0,
- 0,
- 0,
- 0,
- 14731,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14733,
- 14736,
- 14737,
- 0,
- 0,
- 14740,
- 14742,
- 0,
- 0,
- 0,
- 14744,
- 14753,
- 0,
- 0,
- 0,
- 0,
- 14755,
- 14758,
- 14760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14761,
- 14762,
- 14765,
- 14771,
- 0,
- 14772,
- 0,
- 14773,
- 14774,
- 0,
- 0,
- 14775,
- 0,
- 0,
- 14776,
- 0,
- 0,
- 0,
- 0,
- 14777,
- 0,
- 14779,
- 0,
- 0,
- 14782,
- 0,
- 0,
- 14785,
- 14786,
- 14788,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14795,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14798,
- 0,
- 14803,
- 14804,
- 14806,
- 0,
- 0,
- 0,
- 14809,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14810,
- 0,
- 0,
- 0,
- 0,
- 14811,
- 0,
- 14812,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14815,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14816,
- 0,
- 14818,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14819,
- 0,
- 14820,
- 0,
- 14823,
- 0,
- 0,
- 0,
- 14824,
- 0,
- 0,
- 14826,
- 14827,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14830,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14833,
- 0,
- 14845,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14846,
- 0,
- 0,
- 14847,
- 14871,
- 0,
- 14873,
- 0,
- 14876,
- 0,
- 14877,
- 14878,
- 14880,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14881,
- 0,
- 14882,
- 14894,
- 0,
- 0,
- 0,
- 0,
- 14895,
- 0,
- 14907,
- 0,
- 14908,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14911,
- 0,
- 0,
- 0,
- 0,
- 14920,
- 0,
- 0,
- 14931,
- 0,
- 14932,
- 14934,
- 14935,
- 0,
- 0,
- 14936,
- 0,
- 14945,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 14947,
- 0,
- 0,
- 14948,
- 14949,
- 14951,
- 0,
- 0,
- 14952,
- 0,
- 0,
- 0,
- 14964,
- 14973,
- 0,
- 0,
- 14990,
- 0,
- 0,
- 0,
- 0,
- 14995,
- 0,
- 0,
- 14998,
- 15001,
- 0,
- 0,
- 15002,
- 15020,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15021,
- 0,
- 15022,
- 0,
- 0,
- 0,
- 0,
- 15023,
- 0,
- 0,
- 15025,
- 15029,
- 15033,
- 0,
- 0,
- 0,
- 15034,
- 0,
- 0,
- 0,
- 15035,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15043,
- 15044,
- 0,
- 0,
- 0,
- 15045,
- 15046,
- 15048,
- 15050,
- 0,
- 15065,
- 0,
- 0,
- 0,
- 0,
- 15066,
- 0,
- 0,
- 15075,
- 15082,
- 15084,
- 0,
- 0,
- 15085,
- 15086,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15088,
- 0,
- 0,
- 0,
- 15089,
- 0,
- 0,
- 0,
- 0,
- 15094,
- 0,
- 15096,
- 0,
- 15097,
- 0,
- 15100,
- 0,
- 0,
- 15102,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15105,
- 0,
- 0,
- 15106,
- 0,
- 15109,
- 15113,
- 0,
- 0,
- 0,
- 15115,
- 0,
- 15118,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15119,
- 0,
- 0,
- 15120,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15123,
- 15129,
- 0,
- 0,
- 0,
- 15130,
- 0,
- 15131,
- 0,
- 0,
- 15134,
- 0,
- 15135,
- 0,
- 0,
- 0,
- 15137,
- 15138,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15139,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15140,
- 0,
- 0,
- 15154,
- 15162,
- 0,
- 15169,
- 15170,
- 0,
- 15175,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15177,
- 0,
- 15178,
- 15179,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15183,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15185,
- 15187,
- 0,
- 15194,
- 15195,
- 15196,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15204,
- 0,
- 0,
- 0,
- 0,
- 15206,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15207,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15213,
- 0,
- 15214,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15232,
- 0,
- 0,
- 0,
- 0,
- 15234,
- 0,
- 15238,
- 15240,
- 0,
- 15248,
- 0,
- 0,
- 0,
- 0,
- 15250,
- 15251,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15252,
- 0,
- 0,
- 0,
- 15255,
- 15262,
- 15266,
- 0,
- 0,
- 0,
- 15267,
- 0,
- 0,
- 0,
- 15277,
- 15279,
- 0,
- 0,
- 0,
- 15280,
- 15281,
- 15282,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15285,
- 0,
- 0,
- 0,
- 0,
- 15289,
- 0,
- 0,
- 15291,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15296,
- 15297,
- 0,
- 0,
- 15304,
- 0,
- 0,
- 0,
- 0,
- 15306,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15307,
- 15308,
- 0,
- 15309,
- 0,
- 0,
- 15311,
- 0,
- 0,
- 15312,
- 15313,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15314,
- 15317,
- 0,
- 0,
- 0,
- 15318,
- 15319,
- 0,
- 0,
- 0,
- 0,
- 15320,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15321,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15324,
- 0,
- 15325,
- 15326,
- 0,
- 15330,
- 0,
- 0,
- 0,
- 0,
- 15334,
- 0,
- 15335,
- 0,
- 15341,
- 0,
- 0,
- 15342,
- 0,
- 0,
- 15343,
- 15344,
- 0,
- 0,
- 0,
- 0,
- 15345,
- 0,
- 0,
- 0,
- 0,
- 15347,
- 0,
- 0,
- 15348,
- 15349,
- 15350,
- 0,
- 15356,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15357,
- 0,
- 15358,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15359,
- 15360,
- 15364,
- 0,
- 15380,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15392,
- 0,
- 0,
- 15393,
- 0,
- 15395,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15396,
- 0,
- 0,
- 15397,
- 15398,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15399,
- 0,
- 15400,
- 0,
- 0,
- 0,
- 15402,
- 0,
- 15405,
- 15410,
- 0,
- 0,
- 0,
- 0,
- 15411,
- 0,
- 0,
- 0,
- 15412,
- 0,
- 15416,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15428,
- 0,
- 15435,
- 0,
- 0,
- 15438,
- 0,
- 0,
- 0,
- 0,
- 15439,
- 0,
- 0,
- 0,
- 15440,
- 0,
- 0,
- 0,
- 15441,
- 15449,
- 15451,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15452,
- 0,
- 0,
- 15455,
- 0,
- 0,
- 0,
- 15456,
- 0,
- 0,
- 15458,
- 0,
- 15460,
- 15461,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15462,
- 15464,
- 0,
- 15465,
- 0,
- 0,
- 15466,
- 0,
- 0,
- 15467,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15468,
- 0,
- 0,
- 0,
- 0,
- 15481,
- 0,
- 0,
- 15484,
- 0,
- 15485,
- 15486,
- 0,
- 0,
- 0,
- 15487,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15488,
- 0,
- 15492,
- 15498,
- 0,
- 0,
- 0,
- 15499,
- 0,
- 0,
- 0,
- 15500,
- 0,
- 15501,
- 0,
- 0,
- 15512,
- 0,
- 15522,
- 0,
- 0,
- 0,
- 15524,
- 0,
- 15525,
- 15526,
- 0,
- 0,
- 15527,
- 0,
- 0,
- 15545,
- 15546,
- 0,
- 15548,
- 15552,
- 0,
- 15553,
- 0,
- 0,
- 0,
- 15554,
- 0,
- 15555,
- 0,
- 15557,
- 15565,
- 15573,
- 15577,
- 15578,
- 0,
- 15582,
- 0,
- 15583,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15586,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15588,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15589,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15593,
- 15594,
- 0,
- 0,
- 0,
- 0,
- 15595,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15596,
- 0,
- 0,
- 0,
- 15597,
- 0,
- 0,
- 0,
- 0,
- 15600,
- 0,
- 0,
- 15601,
- 0,
- 0,
- 0,
- 0,
- 15602,
- 15603,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15604,
- 0,
- 15609,
- 0,
- 0,
- 15612,
- 0,
- 0,
- 15613,
- 0,
- 0,
- 15615,
- 15617,
- 15618,
- 0,
- 0,
- 15620,
- 0,
- 15636,
- 15637,
- 0,
- 0,
- 15649,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15650,
- 0,
- 0,
- 15651,
- 0,
- 0,
- 0,
- 15656,
- 0,
- 15658,
- 0,
- 0,
- 0,
- 15664,
- 0,
- 0,
- 15665,
- 0,
- 0,
- 15668,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15669,
- 0,
- 0,
- 15674,
- 0,
- 0,
- 15675,
- 0,
- 0,
- 0,
- 0,
- 15676,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15677,
- 0,
- 0,
- 0,
- 0,
- 15678,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15679,
- 0,
- 0,
- 15681,
- 0,
- 15686,
- 0,
- 0,
- 0,
- 0,
- 15687,
- 0,
- 15688,
- 0,
- 0,
- 15690,
- 0,
- 0,
- 0,
- 15697,
- 0,
- 15699,
- 15700,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15701,
- 0,
- 15702,
- 15703,
- 0,
- 15704,
- 0,
- 15705,
- 0,
- 15707,
- 0,
- 15709,
- 0,
- 15712,
- 15716,
- 0,
- 15717,
- 0,
- 15718,
- 15720,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15724,
- 0,
- 0,
- 0,
- 15725,
- 0,
- 15726,
- 0,
- 0,
- 0,
- 15740,
- 0,
- 15745,
- 15746,
- 0,
- 0,
- 15747,
- 0,
- 15748,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15749,
- 0,
- 0,
- 0,
- 15752,
- 0,
- 15753,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15759,
- 0,
- 0,
- 0,
- 15765,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15767,
- 0,
- 0,
- 0,
- 15771,
- 0,
- 0,
- 15784,
- 0,
- 0,
- 0,
- 0,
- 15785,
- 15790,
- 15791,
- 0,
- 0,
- 15792,
- 0,
- 0,
- 0,
- 15807,
- 0,
- 15811,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15818,
- 0,
- 0,
- 0,
- 15819,
- 0,
- 0,
- 0,
- 0,
- 15821,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15822,
- 15824,
- 0,
- 0,
- 15827,
- 0,
- 0,
- 15829,
- 15831,
- 0,
- 15832,
- 0,
- 0,
- 15833,
- 0,
- 15835,
- 15838,
- 15839,
- 15843,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15844,
- 0,
- 0,
- 0,
- 0,
- 15845,
- 15851,
- 15856,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15858,
- 15860,
- 0,
- 15861,
- 0,
- 0,
- 0,
- 15864,
- 0,
- 0,
- 0,
- 0,
- 15865,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15866,
- 0,
- 15872,
- 0,
- 0,
- 15876,
- 0,
- 0,
- 0,
- 0,
- 15877,
- 15878,
- 15883,
- 15885,
- 0,
- 0,
- 15888,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15889,
- 15890,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15892,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15893,
- 0,
- 0,
- 15894,
- 0,
- 0,
- 0,
- 15895,
- 0,
- 15896,
- 15897,
- 0,
- 15898,
- 15901,
- 15902,
- 0,
- 15911,
- 15915,
- 0,
- 15916,
- 0,
- 15924,
- 15935,
- 0,
- 15937,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15950,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15958,
- 0,
- 0,
- 0,
- 15961,
- 0,
- 0,
- 15966,
- 0,
- 15967,
- 0,
- 0,
- 15977,
- 0,
- 0,
- 15978,
- 0,
- 0,
- 15981,
- 15982,
- 15983,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 15986,
- 0,
- 0,
- 0,
- 15990,
- 0,
- 15991,
- 15995,
- 15998,
- 0,
- 15999,
- 0,
- 16000,
- 0,
- 0,
- 0,
- 0,
- 16008,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16009,
- 16011,
- 0,
- 16013,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16014,
- 0,
- 0,
- 16015,
- 16023,
- 16024,
- 16025,
- 0,
- 0,
- 16026,
- 0,
- 16030,
- 0,
- 16032,
- 0,
- 16033,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16035,
- 16036,
- 16037,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16039,
- 0,
- 0,
- 0,
- 0,
- 16041,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16043,
- 16044,
- 0,
- 0,
- 16047,
- 0,
- 0,
- 0,
- 16048,
- 0,
- 0,
- 16049,
- 16050,
- 16052,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16055,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16056,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16058,
- 16060,
- 16061,
- 0,
- 0,
- 16063,
- 0,
- 0,
- 16064,
- 0,
- 0,
- 0,
- 16067,
- 16068,
- 0,
- 0,
- 16069,
- 16078,
- 0,
- 0,
- 0,
- 16079,
- 0,
- 0,
- 0,
- 16080,
- 0,
- 16081,
- 0,
- 0,
- 0,
- 16088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16089,
- 16093,
- 0,
- 16097,
- 0,
- 16103,
- 0,
- 16104,
- 16105,
- 0,
- 0,
- 16256,
- 0,
- 0,
- 16259,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16260,
- 16261,
- 0,
- 0,
- 16262,
- 0,
- 0,
- 16263,
- 0,
- 16268,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16269,
- 0,
- 0,
- 16270,
- 16273,
- 0,
- 16274,
- 0,
- 0,
- 0,
- 0,
- 16275,
- 16276,
- 16277,
- 16280,
- 0,
- 0,
- 0,
- 16281,
- 16284,
- 0,
- 0,
- 0,
- 16286,
- 0,
- 16289,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16290,
- 0,
- 0,
- 0,
- 0,
- 16291,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16292,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16293,
- 16295,
- 16297,
- 0,
- 16302,
- 0,
- 16304,
- 0,
- 16305,
- 0,
- 16306,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16307,
- 16308,
- 16312,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16313,
- 16315,
- 0,
- 16318,
- 0,
- 0,
- 0,
- 16321,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16326,
- 16333,
- 16336,
- 0,
- 0,
- 0,
- 0,
- 16337,
- 16340,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16345,
- 0,
- 0,
- 16346,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16347,
- 0,
- 0,
- 16348,
- 0,
- 0,
- 0,
- 0,
- 16349,
- 0,
- 0,
- 0,
- 16350,
- 0,
- 16357,
- 0,
- 0,
- 0,
- 0,
- 16359,
- 16360,
- 0,
- 0,
- 0,
- 0,
- 16362,
- 16363,
- 16364,
- 16365,
- 0,
- 0,
- 16366,
- 0,
- 0,
- 0,
- 0,
- 16367,
- 16368,
- 0,
- 16369,
- 16374,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16376,
- 0,
- 0,
- 0,
- 0,
- 16378,
- 16379,
- 0,
- 16380,
- 0,
- 0,
- 0,
- 16381,
- 16383,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16390,
- 0,
- 0,
- 0,
- 16399,
- 0,
- 16402,
- 16404,
- 16406,
- 16407,
- 0,
- 0,
- 0,
- 16409,
- 16411,
- 0,
- 0,
- 0,
- 0,
- 16412,
- 0,
- 16413,
- 16415,
- 16423,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16424,
- 0,
- 0,
- 0,
- 16428,
- 16434,
- 16435,
- 16449,
- 0,
- 16450,
- 16451,
- 0,
- 0,
- 0,
- 16453,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16454,
- 0,
- 0,
- 16456,
- 16458,
- 0,
- 0,
- 16459,
- 0,
- 0,
- 16460,
- 0,
- 0,
- 0,
- 0,
- 16462,
- 0,
- 16463,
- 0,
- 0,
- 16466,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16479,
- 0,
- 0,
- 16480,
- 0,
- 16481,
- 16484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16485,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16489,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16491,
- 0,
- 0,
- 16498,
- 0,
- 0,
- 16503,
- 0,
- 16505,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16506,
- 0,
- 0,
- 0,
- 16508,
- 16509,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16511,
- 16513,
- 0,
- 0,
- 0,
- 16516,
- 0,
- 16517,
- 0,
- 16519,
- 0,
- 16529,
- 0,
- 0,
- 16531,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16534,
- 0,
- 0,
- 16541,
- 16542,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16543,
- 16547,
- 16548,
- 0,
- 0,
- 0,
- 16551,
- 0,
- 16552,
- 0,
- 0,
- 0,
- 16553,
- 0,
- 0,
- 16558,
- 0,
- 0,
- 16562,
- 16565,
- 0,
- 0,
- 0,
- 16570,
- 0,
- 0,
- 0,
- 16573,
- 16585,
- 0,
- 0,
- 0,
- 16586,
- 16587,
- 16595,
- 0,
- 16596,
- 0,
- 16598,
- 0,
- 0,
- 0,
- 16600,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16601,
- 0,
- 0,
- 0,
- 0,
- 16603,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16604,
- 16612,
- 0,
- 0,
- 0,
- 0,
- 16613,
- 0,
- 16618,
- 0,
- 0,
- 0,
- 16640,
- 0,
- 0,
- 16641,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16645,
- 0,
- 0,
- 0,
- 0,
- 16646,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16651,
- 0,
- 0,
- 0,
- 0,
- 16653,
- 16654,
- 0,
- 0,
- 0,
- 16655,
- 0,
- 0,
- 16656,
- 16667,
- 0,
- 0,
- 0,
- 0,
- 16671,
- 0,
- 16672,
- 0,
- 0,
- 0,
- 16673,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16676,
- 0,
- 16686,
- 0,
- 0,
- 0,
- 0,
- 16689,
- 0,
- 16690,
- 0,
- 16692,
- 0,
- 16693,
- 0,
- 16694,
- 0,
- 16696,
- 0,
- 0,
- 0,
- 16705,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16707,
- 0,
- 0,
- 0,
- 16709,
- 0,
- 0,
- 0,
- 0,
- 16711,
- 0,
- 16712,
- 16713,
- 0,
- 0,
- 0,
- 16715,
- 0,
- 0,
- 0,
- 0,
- 16716,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16718,
- 16724,
- 0,
- 0,
- 16726,
- 16727,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16728,
- 0,
- 16729,
- 0,
- 0,
- 16730,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16731,
- 0,
- 0,
- 0,
- 16732,
- 0,
- 0,
- 0,
- 0,
- 16734,
- 16738,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16743,
- 0,
- 0,
- 16745,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16749,
- 0,
- 16752,
- 0,
- 0,
- 0,
- 0,
- 16756,
- 0,
- 0,
- 16758,
- 0,
- 16759,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16762,
- 0,
- 16769,
- 0,
- 16770,
- 0,
- 16772,
- 0,
- 0,
- 0,
- 16777,
- 16780,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16781,
- 0,
- 0,
- 16782,
- 0,
- 16784,
- 0,
- 0,
- 16785,
- 16787,
- 16792,
- 0,
- 0,
- 16794,
- 0,
- 0,
- 0,
- 16798,
- 0,
- 0,
- 16809,
- 0,
- 0,
- 16814,
- 16816,
- 16817,
- 0,
- 16819,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16820,
- 0,
- 0,
- 16836,
- 16839,
- 0,
- 0,
- 16841,
- 16851,
- 16857,
- 0,
- 0,
- 16858,
- 16859,
- 0,
- 0,
- 16860,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16862,
- 0,
- 16863,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16864,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16876,
- 0,
- 16881,
- 16882,
- 0,
- 16885,
- 16886,
- 0,
- 16887,
- 0,
- 0,
- 0,
- 16889,
- 16891,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16894,
- 16895,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16897,
- 0,
- 16898,
- 0,
- 0,
- 0,
- 0,
- 0,
- 16913,
- 0,
- 0,
- 16924,
- 16925,
- 16926,
- 0,
- 0,
- 16927,
- 0,
- 0,
- 0,
- 16937,
- 16938,
- 0,
- 0,
- 0,
- 16940,
- 16941,
- 0,
- 0,
- 0,
- 16942,
- 16945,
- 0,
- 16946,
- 16949,
- 16950,
- 0,
- 0,
- 0,
- 16952,
- 16955,
- 0,
- 0,
- 0,
- 16965,
- 0,
- 16969,
- 0,
- 0,
- 16975,
- 0,
- 0,
- 16976,
- 0,
- 0,
- 0,
- 0,
- 16978,
- 0,
- 0,
- 16981,
- 0,
- 16983,
- 16989,
- 0,
- 0,
- 0,
- 0,
- 16990,
- 0,
- 0,
- 16991,
- 0,
- 0,
- 0,
- 16993,
- 0,
- 16994,
- 16996,
- 17000,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17002,
- 17004,
- 0,
- 17006,
- 0,
- 0,
- 17007,
- 0,
- 0,
- 0,
- 0,
- 17008,
- 17013,
- 17014,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17021,
- 0,
- 17031,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17033,
- 17036,
- 0,
- 17038,
- 0,
- 0,
- 17039,
- 0,
- 17045,
- 0,
- 0,
- 17046,
- 17047,
- 0,
- 0,
- 0,
- 0,
- 17048,
- 0,
- 17049,
- 17050,
- 0,
- 17051,
- 17053,
- 0,
- 17054,
- 0,
- 17055,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17063,
- 0,
- 0,
- 17064,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17065,
- 0,
- 0,
- 17068,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17072,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17073,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17074,
- 0,
- 17080,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17081,
- 17083,
- 17084,
- 0,
- 0,
- 0,
- 17085,
- 0,
- 0,
- 0,
- 0,
- 17092,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17093,
- 0,
- 17095,
- 17102,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17103,
- 0,
- 0,
- 17105,
- 0,
- 17107,
- 0,
- 0,
- 0,
- 0,
- 17114,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17115,
- 17125,
- 17127,
- 0,
- 0,
- 17128,
- 0,
- 0,
- 0,
- 17129,
- 17130,
- 0,
- 17131,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17132,
- 17135,
- 17145,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17146,
- 0,
- 17147,
- 0,
- 17148,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17149,
- 17150,
- 0,
- 17151,
- 17153,
- 0,
- 17155,
- 0,
- 0,
- 0,
- 0,
- 17163,
- 17171,
- 0,
- 17174,
- 0,
- 0,
- 0,
- 0,
- 17179,
- 0,
- 0,
- 17182,
- 17185,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17186,
- 0,
- 0,
- 17188,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17189,
- 17191,
- 0,
- 17194,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17195,
- 17196,
- 17203,
- 17204,
- 0,
- 0,
- 17205,
- 17217,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17218,
- 0,
- 0,
- 0,
- 0,
- 17219,
- 0,
- 17220,
- 0,
- 17221,
- 0,
- 0,
- 17230,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17236,
- 0,
- 17238,
- 17239,
- 0,
- 0,
- 0,
- 17241,
- 17244,
- 0,
- 0,
- 17245,
- 0,
- 17248,
- 0,
- 0,
- 17251,
- 0,
- 17252,
- 0,
- 0,
- 17264,
- 0,
- 17266,
- 0,
- 0,
- 0,
- 17268,
- 0,
- 0,
- 0,
- 0,
- 17271,
- 17272,
- 0,
- 17273,
- 0,
- 17295,
- 0,
- 17302,
- 0,
- 17305,
- 0,
- 0,
- 0,
- 17306,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17308,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17309,
- 0,
- 17310,
- 17313,
- 0,
- 0,
- 0,
- 0,
- 17314,
- 17315,
- 0,
- 17317,
- 0,
- 0,
- 0,
- 0,
- 17318,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17320,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17334,
- 0,
- 17344,
- 17348,
- 0,
- 0,
- 0,
- 17350,
- 17351,
- 0,
- 0,
- 17353,
- 0,
- 0,
- 17354,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17355,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17356,
- 17357,
- 0,
- 0,
- 17359,
- 0,
- 0,
- 0,
- 17371,
- 0,
- 17372,
- 0,
- 0,
- 0,
- 17393,
- 0,
- 0,
- 0,
- 0,
- 17394,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17395,
- 0,
- 0,
- 17399,
- 0,
- 0,
- 0,
- 17401,
- 17417,
- 0,
- 17418,
- 0,
- 17419,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17422,
- 17423,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17424,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17428,
- 17429,
- 17433,
- 0,
- 0,
- 0,
- 17437,
- 0,
- 0,
- 17441,
- 0,
- 0,
- 17442,
- 0,
- 0,
- 17453,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17454,
- 17456,
- 17462,
- 0,
- 0,
- 17466,
- 0,
- 0,
- 17468,
- 0,
- 0,
- 17469,
- 0,
- 0,
- 0,
- 0,
- 17470,
- 0,
- 17475,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17479,
- 0,
- 0,
- 0,
- 17483,
- 17484,
- 0,
- 17485,
- 0,
- 17486,
- 0,
- 17491,
- 17492,
- 0,
- 0,
- 17493,
- 0,
- 17494,
- 17495,
- 0,
- 0,
- 0,
- 17496,
- 0,
- 0,
- 0,
- 17497,
- 0,
- 0,
- 0,
- 17502,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17503,
- 0,
- 17505,
- 0,
- 17507,
- 0,
- 0,
- 0,
- 17512,
- 17513,
- 17514,
- 0,
- 0,
- 17515,
- 0,
- 0,
- 0,
- 17519,
- 0,
- 0,
- 0,
- 17522,
- 0,
- 0,
- 17523,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17527,
- 0,
- 0,
- 0,
- 17528,
- 0,
- 0,
- 0,
- 17534,
- 0,
- 0,
- 0,
- 0,
- 17536,
- 0,
- 0,
- 0,
- 17539,
- 0,
- 17540,
- 17543,
- 17549,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17556,
- 0,
- 0,
- 17558,
- 0,
- 17559,
- 0,
- 0,
- 17560,
- 0,
- 0,
- 0,
- 17563,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17564,
- 0,
- 0,
- 17565,
- 17566,
- 0,
- 17567,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17569,
- 17570,
- 0,
- 17575,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17581,
- 0,
- 0,
- 0,
- 17582,
- 17583,
- 0,
- 17586,
- 0,
- 0,
- 17587,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17588,
- 0,
- 0,
- 0,
- 0,
- 17596,
- 17597,
- 0,
- 0,
- 17598,
- 17600,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17601,
- 0,
- 0,
- 0,
- 17604,
- 0,
- 0,
- 17605,
- 0,
- 0,
- 17607,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17612,
- 0,
- 0,
- 17618,
- 0,
- 17621,
- 17622,
- 0,
- 0,
- 0,
- 0,
- 17623,
- 0,
- 0,
- 17624,
- 0,
- 0,
- 17630,
- 0,
- 0,
- 17631,
- 17633,
- 17634,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17635,
- 0,
- 0,
- 17636,
- 0,
- 0,
- 17637,
- 0,
- 17638,
- 0,
- 17640,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17641,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17643,
- 0,
- 0,
- 0,
- 0,
- 17645,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17646,
- 17662,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17663,
- 17664,
- 0,
- 17665,
- 17666,
- 0,
- 0,
- 0,
- 17669,
- 17671,
- 17673,
- 0,
- 17679,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17684,
- 0,
- 0,
- 0,
- 17686,
- 0,
- 17714,
- 0,
- 0,
- 17720,
- 17722,
- 17726,
- 0,
- 0,
- 17728,
- 0,
- 0,
- 17729,
- 0,
- 0,
- 0,
- 17732,
- 0,
- 17733,
- 0,
- 17734,
- 0,
- 0,
- 0,
- 17735,
- 0,
- 0,
- 0,
- 0,
- 17737,
- 0,
- 0,
- 0,
- 0,
- 17739,
- 0,
- 0,
- 0,
- 17741,
- 17742,
- 0,
- 0,
- 0,
- 0,
- 17743,
- 17744,
- 17745,
- 0,
- 0,
- 0,
- 17749,
- 0,
- 17750,
- 17751,
- 17752,
- 17754,
- 17761,
- 17762,
- 0,
- 17763,
- 0,
- 17766,
- 0,
- 17772,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17776,
- 0,
- 0,
- 17777,
- 0,
- 0,
- 17778,
- 17779,
- 0,
- 17782,
- 17783,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17784,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17821,
- 0,
- 0,
- 0,
- 17822,
- 0,
- 0,
- 0,
- 17823,
- 17825,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17826,
- 17831,
- 17832,
- 17833,
- 0,
- 0,
- 17845,
- 0,
- 0,
- 0,
- 17846,
- 0,
- 0,
- 0,
- 17848,
- 17850,
- 17854,
- 0,
- 17855,
- 0,
- 0,
- 17859,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17860,
- 17861,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17870,
- 17871,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17872,
- 0,
- 0,
- 0,
- 17879,
- 0,
- 0,
- 0,
- 17881,
- 17883,
- 0,
- 17884,
- 0,
- 17885,
- 0,
- 0,
- 17886,
- 0,
- 0,
- 17887,
- 17891,
- 17953,
- 0,
- 0,
- 0,
- 0,
- 17954,
- 0,
- 0,
- 17955,
- 0,
- 17968,
- 0,
- 0,
- 17972,
- 0,
- 0,
- 0,
- 0,
- 0,
- 17974,
- 0,
- 0,
- 0,
- 0,
- 17976,
- 17978,
- 0,
- 0,
- 17983,
- 0,
- 0,
- 0,
- 0,
- 18003,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18007,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18009,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18010,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18012,
- 0,
- 0,
- 18014,
- 0,
- 0,
- 0,
- 18015,
- 0,
- 0,
- 0,
- 18016,
- 0,
- 18017,
- 0,
- 0,
- 0,
- 18030,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18031,
- 0,
- 0,
- 18036,
- 18037,
- 18038,
- 0,
- 0,
- 18049,
- 18056,
- 0,
- 18057,
- 18058,
- 0,
- 18059,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18062,
- 0,
- 0,
- 0,
- 0,
- 18064,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18067,
- 0,
- 0,
- 0,
- 18068,
- 0,
- 0,
- 18075,
- 0,
- 0,
- 18078,
- 18093,
- 18094,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18097,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18098,
- 18100,
- 0,
- 0,
- 0,
- 18108,
- 0,
- 18111,
- 0,
- 0,
- 18112,
- 0,
- 18113,
- 0,
- 0,
- 18115,
- 18116,
- 0,
- 18118,
- 0,
- 0,
- 0,
- 0,
- 18121,
- 0,
- 0,
- 0,
- 0,
- 18123,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18124,
- 0,
- 0,
- 0,
- 0,
- 18125,
- 18126,
- 0,
- 18127,
- 0,
- 0,
- 18128,
- 18135,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18150,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18151,
- 18152,
- 0,
- 0,
- 18156,
- 18164,
- 0,
- 18166,
- 18171,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18172,
- 18183,
- 0,
- 18184,
- 0,
- 0,
- 0,
- 0,
- 18185,
- 0,
- 18187,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18188,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18189,
- 0,
- 0,
- 18190,
- 0,
- 0,
- 18191,
- 18192,
- 0,
- 0,
- 18194,
- 18195,
- 18196,
- 0,
- 0,
- 0,
- 18197,
- 0,
- 18203,
- 0,
- 18204,
- 0,
- 0,
- 0,
- 0,
- 18205,
- 0,
- 0,
- 0,
- 18207,
- 18208,
- 0,
- 0,
- 18214,
- 0,
- 0,
- 0,
- 18215,
- 18216,
- 0,
- 0,
- 0,
- 18220,
- 0,
- 0,
- 18222,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18223,
- 0,
- 18225,
- 18231,
- 0,
- 18234,
- 0,
- 18235,
- 0,
- 0,
- 0,
- 0,
- 18240,
- 0,
- 0,
- 18241,
- 18242,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18243,
- 18251,
- 0,
- 18253,
- 0,
- 18254,
- 0,
- 0,
- 0,
- 18266,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18269,
- 18270,
- 18271,
- 18273,
- 18281,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18282,
- 0,
- 18283,
- 0,
- 18284,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18285,
- 0,
- 18287,
- 18289,
- 0,
- 0,
- 18290,
- 0,
- 0,
- 0,
- 0,
- 18308,
- 0,
- 0,
- 0,
- 18310,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18311,
- 0,
- 18312,
- 18313,
- 0,
- 18315,
- 0,
- 0,
- 18316,
- 18320,
- 0,
- 18331,
- 0,
- 18332,
- 0,
- 18336,
- 0,
- 0,
- 0,
- 0,
- 18337,
- 0,
- 18340,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18341,
- 0,
- 18344,
- 18345,
- 0,
- 18346,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18348,
- 0,
- 18351,
- 0,
- 0,
- 18356,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18357,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18367,
- 0,
- 0,
- 0,
- 18368,
- 0,
- 18369,
- 0,
- 18370,
- 18371,
- 0,
- 0,
- 0,
- 18437,
- 18444,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18445,
- 18450,
- 0,
- 0,
- 0,
- 0,
- 18451,
- 0,
- 18452,
- 0,
- 0,
- 0,
- 18453,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18455,
- 0,
- 0,
- 0,
- 18456,
- 0,
- 18457,
- 0,
- 18460,
- 0,
- 0,
- 18461,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18466,
- 0,
- 0,
- 18467,
- 0,
- 0,
- 0,
- 0,
- 18473,
- 0,
- 0,
- 0,
- 18476,
- 0,
- 18477,
- 0,
- 0,
- 0,
- 18478,
- 18479,
- 18480,
- 0,
- 0,
- 0,
- 18485,
- 0,
- 0,
- 0,
- 18486,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18488,
- 18490,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18491,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18495,
- 0,
- 0,
- 18496,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18505,
- 0,
- 18521,
- 0,
- 18522,
- 18523,
- 0,
- 0,
- 0,
- 18525,
- 18526,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18527,
- 0,
- 0,
- 0,
- 0,
- 18532,
- 18533,
- 0,
- 18534,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18535,
- 18537,
- 0,
- 18538,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18540,
- 18541,
- 18542,
- 18543,
- 0,
- 18546,
- 0,
- 0,
- 0,
- 0,
- 18553,
- 18556,
- 0,
- 0,
- 18558,
- 0,
- 0,
- 18569,
- 18571,
- 0,
- 0,
- 0,
- 18572,
- 0,
- 18574,
- 0,
- 0,
- 0,
- 0,
- 18586,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18588,
- 0,
- 0,
- 18589,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18590,
- 0,
- 18592,
- 0,
- 0,
- 0,
- 0,
- 18594,
- 0,
- 0,
- 0,
- 18596,
- 0,
- 0,
- 18597,
- 18598,
- 0,
- 0,
- 18601,
- 0,
- 0,
- 0,
- 0,
- 18602,
- 0,
- 0,
- 0,
- 18603,
- 18604,
- 0,
- 18605,
- 0,
- 0,
- 0,
- 0,
- 18608,
- 0,
- 0,
- 18611,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18612,
- 0,
- 18616,
- 0,
- 0,
- 18617,
- 18619,
- 0,
- 0,
- 0,
- 18628,
- 0,
- 0,
- 0,
- 18629,
- 0,
- 0,
- 18630,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18631,
- 0,
- 18632,
- 0,
- 0,
- 18635,
- 18637,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18641,
- 18643,
- 18648,
- 0,
- 18652,
- 0,
- 0,
- 18653,
- 0,
- 18655,
- 18656,
- 0,
- 0,
- 0,
- 18657,
- 0,
- 0,
- 18666,
- 18674,
- 0,
- 0,
- 0,
- 0,
- 18677,
- 18684,
- 18685,
- 0,
- 0,
- 18686,
- 0,
- 0,
- 18690,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18695,
- 18696,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18697,
- 0,
- 0,
- 18700,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18702,
- 0,
- 18708,
- 0,
- 0,
- 18709,
- 0,
- 18710,
- 0,
- 0,
- 18711,
- 0,
- 18714,
- 0,
- 0,
- 18718,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18719,
- 0,
- 0,
- 18722,
- 0,
- 18726,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18731,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18739,
- 18741,
- 0,
- 0,
- 18742,
- 0,
- 18743,
- 18744,
- 18746,
- 18748,
- 0,
- 18752,
- 18753,
- 0,
- 0,
- 18754,
- 18763,
- 0,
- 18765,
- 0,
- 0,
- 0,
- 18766,
- 0,
- 0,
- 0,
- 18769,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18773,
- 18778,
- 18779,
- 18781,
- 0,
- 0,
- 18784,
- 18787,
- 0,
- 18788,
- 0,
- 18793,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18795,
- 0,
- 0,
- 18800,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18801,
- 18804,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18806,
- 0,
- 0,
- 0,
- 18811,
- 18815,
- 18816,
- 0,
- 0,
- 0,
- 0,
- 18825,
- 0,
- 0,
- 18827,
- 18829,
- 0,
- 0,
- 18830,
- 0,
- 0,
- 0,
- 0,
- 18831,
- 0,
- 0,
- 18832,
- 0,
- 0,
- 0,
- 0,
- 18833,
- 0,
- 18840,
- 0,
- 18841,
- 0,
- 18842,
- 0,
- 0,
- 0,
- 0,
- 18843,
- 0,
- 18844,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18845,
- 18846,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18848,
- 0,
- 0,
- 0,
- 18853,
- 18860,
- 0,
- 0,
- 18862,
- 18866,
- 0,
- 0,
- 18867,
- 18869,
- 0,
- 0,
- 18874,
- 18881,
- 18891,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18892,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18895,
- 0,
- 18896,
- 0,
- 0,
- 0,
- 18900,
- 0,
- 0,
- 0,
- 18901,
- 0,
- 18902,
- 18915,
- 18916,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18919,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18920,
- 0,
- 0,
- 0,
- 18921,
- 18929,
- 0,
- 0,
- 0,
- 0,
- 18930,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18932,
- 0,
- 0,
- 0,
- 0,
- 18934,
- 18942,
- 0,
- 0,
- 0,
- 18951,
- 18957,
- 0,
- 0,
- 0,
- 0,
- 18958,
- 0,
- 0,
- 0,
- 0,
- 18959,
- 18960,
- 0,
- 0,
- 18961,
- 0,
- 0,
- 18962,
- 0,
- 0,
- 0,
- 0,
- 18963,
- 18964,
- 0,
- 0,
- 0,
- 18965,
- 0,
- 18967,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18968,
- 0,
- 18969,
- 0,
- 18970,
- 18973,
- 18976,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18977,
- 0,
- 0,
- 0,
- 18981,
- 0,
- 0,
- 0,
- 18990,
- 0,
- 18998,
- 0,
- 0,
- 0,
- 0,
- 0,
- 18999,
- 19003,
- 0,
- 0,
- 19005,
- 0,
- 0,
- 0,
- 19006,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19008,
- 19011,
- 0,
- 0,
- 19018,
- 0,
- 0,
- 19019,
- 0,
- 19024,
- 0,
- 19031,
- 19032,
- 0,
- 19039,
- 0,
- 19041,
- 19050,
- 0,
- 0,
- 0,
- 19051,
- 19055,
- 19056,
- 0,
- 19059,
- 19063,
- 19064,
- 0,
- 0,
- 19088,
- 0,
- 0,
- 0,
- 19093,
- 19094,
- 0,
- 0,
- 0,
- 0,
- 19095,
- 0,
- 19096,
- 0,
- 0,
- 0,
- 19097,
- 0,
- 0,
- 19098,
- 0,
- 19099,
- 19100,
- 0,
- 0,
- 19103,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19111,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19112,
- 0,
- 0,
- 0,
- 19116,
- 19117,
- 0,
- 19121,
- 19122,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19123,
- 19124,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19125,
- 19126,
- 0,
- 19128,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19129,
- 19130,
- 19131,
- 19132,
- 0,
- 0,
- 19146,
- 0,
- 0,
- 19147,
- 19156,
- 19158,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19182,
- 19185,
- 0,
- 0,
- 19187,
- 0,
- 0,
- 0,
- 19193,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19194,
- 0,
- 19197,
- 0,
- 0,
- 0,
- 0,
- 19198,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19202,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19203,
- 0,
- 19205,
- 19210,
- 0,
- 0,
- 0,
- 19213,
- 0,
- 19218,
- 0,
- 0,
- 0,
- 19223,
- 19229,
- 0,
- 0,
- 19230,
- 0,
- 0,
- 19231,
- 19232,
- 19233,
- 19239,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19240,
- 0,
- 19248,
- 19249,
- 0,
- 0,
- 0,
- 0,
- 19254,
- 0,
- 19256,
- 19258,
- 19259,
- 0,
- 0,
- 19261,
- 0,
- 19266,
- 0,
- 0,
- 0,
- 19272,
- 0,
- 19278,
- 19281,
- 19282,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19283,
- 0,
- 0,
- 19284,
- 0,
- 0,
- 19285,
- 19287,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19288,
- 19291,
- 0,
- 19292,
- 0,
- 0,
- 0,
- 0,
- 19297,
- 0,
- 19298,
- 0,
- 0,
- 0,
- 0,
- 19302,
- 19303,
- 0,
- 0,
- 0,
- 0,
- 19304,
- 19305,
- 0,
- 0,
- 0,
- 0,
- 19314,
- 0,
- 0,
- 19315,
- 0,
- 0,
- 19321,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19322,
- 0,
- 19333,
- 0,
- 19334,
- 19335,
- 0,
- 19336,
- 19337,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19346,
- 0,
- 0,
- 19353,
- 0,
- 19354,
- 19362,
- 0,
- 19366,
- 19367,
- 0,
- 0,
- 19369,
- 0,
- 19375,
- 0,
- 19377,
- 19380,
- 19388,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19389,
- 19390,
- 0,
- 0,
- 0,
- 0,
- 19392,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19402,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19412,
- 0,
- 0,
- 19413,
- 19422,
- 0,
- 19424,
- 0,
- 0,
- 0,
- 19425,
- 0,
- 0,
- 0,
- 19428,
- 0,
- 0,
- 0,
- 0,
- 19431,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19432,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19448,
- 19459,
- 0,
- 0,
- 19461,
- 0,
- 19462,
- 19463,
- 0,
- 19467,
- 19474,
- 19482,
- 0,
- 0,
- 0,
- 0,
- 19494,
- 0,
- 0,
- 0,
- 0,
- 19501,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19502,
- 19504,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19505,
- 0,
- 0,
- 0,
- 0,
- 19506,
- 19507,
- 0,
- 0,
- 0,
- 19508,
- 0,
- 0,
- 19511,
- 0,
- 0,
- 19514,
- 0,
- 19515,
- 0,
- 19516,
- 0,
- 19518,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19530,
- 0,
- 19537,
- 19538,
- 0,
- 19543,
- 19546,
- 0,
- 19547,
- 19551,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19552,
- 19553,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19555,
- 0,
- 0,
- 19556,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19560,
- 19561,
- 0,
- 0,
- 19562,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19565,
- 19567,
- 0,
- 19568,
- 0,
- 0,
- 0,
- 19569,
- 19570,
- 0,
- 19578,
- 0,
- 0,
- 0,
- 0,
- 19580,
- 0,
- 0,
- 0,
- 0,
- 19581,
- 19584,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19585,
- 19586,
- 0,
- 0,
- 0,
- 19587,
- 19588,
- 0,
- 19589,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19592,
- 19593,
- 19599,
- 0,
- 19600,
- 0,
- 0,
- 19604,
- 0,
- 0,
- 19605,
- 0,
- 19606,
- 19608,
- 19610,
- 0,
- 19613,
- 19614,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19616,
- 19617,
- 0,
- 0,
- 19618,
- 0,
- 0,
- 19619,
- 0,
- 0,
- 0,
- 19620,
- 19621,
- 19631,
- 0,
- 0,
- 19632,
- 19634,
- 19636,
- 0,
- 19643,
- 0,
- 0,
- 19644,
- 19658,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19659,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19675,
- 19677,
- 0,
- 0,
- 0,
- 0,
- 19679,
- 0,
- 19683,
- 0,
- 19684,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19687,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19688,
- 19689,
- 19692,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19695,
- 19697,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19698,
- 19699,
- 0,
- 0,
- 19700,
- 0,
- 19702,
- 0,
- 0,
- 19703,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19704,
- 19708,
- 0,
- 19710,
- 0,
- 19713,
- 0,
- 0,
- 0,
- 19715,
- 0,
- 0,
- 0,
- 0,
- 19718,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19720,
- 0,
- 19722,
- 0,
- 0,
- 19725,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19730,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19731,
- 0,
- 19734,
- 19735,
- 19739,
- 0,
- 0,
- 19740,
- 0,
- 19741,
- 0,
- 0,
- 0,
- 19746,
- 0,
- 0,
- 19747,
- 0,
- 19771,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19772,
- 19775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19778,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19779,
- 0,
- 0,
- 19780,
- 19790,
- 0,
- 19791,
- 0,
- 0,
- 19792,
- 0,
- 0,
- 0,
- 19793,
- 0,
- 0,
- 19796,
- 19797,
- 0,
- 0,
- 0,
- 19799,
- 0,
- 0,
- 0,
- 19801,
- 0,
- 0,
- 0,
- 0,
- 19803,
- 0,
- 19804,
- 0,
- 19805,
- 0,
- 0,
- 19807,
- 0,
- 0,
- 0,
- 19808,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19809,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19816,
- 0,
- 19821,
- 0,
- 19822,
- 19830,
- 19831,
- 0,
- 0,
- 0,
- 19833,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19838,
- 0,
- 0,
- 0,
- 0,
- 19839,
- 0,
- 0,
- 19843,
- 0,
- 0,
- 0,
- 0,
- 19845,
- 0,
- 0,
- 0,
- 0,
- 19847,
- 0,
- 0,
- 19848,
- 0,
- 19849,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19851,
- 0,
- 0,
- 0,
- 19854,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19864,
- 0,
- 19865,
- 0,
- 19866,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19868,
- 0,
- 0,
- 19870,
- 0,
- 0,
- 19871,
- 0,
- 0,
- 19872,
- 19873,
- 19875,
- 0,
- 19880,
- 19882,
- 19884,
- 0,
- 0,
- 19885,
- 19886,
- 19888,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19890,
- 19892,
- 19893,
- 0,
- 0,
- 19894,
- 0,
- 0,
- 0,
- 19895,
- 0,
- 19896,
- 19902,
- 0,
- 0,
- 19903,
- 0,
- 0,
- 19905,
- 0,
- 0,
- 0,
- 19906,
- 0,
- 19908,
- 0,
- 19909,
- 19911,
- 0,
- 0,
- 0,
- 19913,
- 19920,
- 0,
- 19938,
- 19939,
- 19940,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19942,
- 0,
- 19943,
- 0,
- 19945,
- 0,
- 0,
- 0,
- 19951,
- 19952,
- 19954,
- 19960,
- 0,
- 19965,
- 0,
- 19971,
- 0,
- 0,
- 0,
- 0,
- 0,
- 19975,
- 0,
- 19976,
- 0,
- 19990,
- 0,
- 0,
- 19991,
- 0,
- 19993,
- 0,
- 19995,
- 0,
- 0,
- 0,
- 19998,
- 19999,
- 20001,
- 0,
- 20003,
- 20005,
- 0,
- 20011,
- 20012,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20014,
- 0,
- 20020,
- 0,
- 0,
- 0,
- 0,
- 20021,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20023,
- 20024,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20025,
- 0,
- 0,
- 20027,
- 0,
- 0,
- 20029,
- 0,
- 0,
- 20032,
- 0,
- 0,
- 0,
- 0,
- 20044,
- 20045,
- 0,
- 20048,
- 20049,
- 0,
- 0,
- 20050,
- 0,
- 20052,
- 0,
- 0,
- 20054,
- 20057,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20059,
- 0,
- 0,
- 20061,
- 0,
- 20062,
- 0,
- 20064,
- 0,
- 0,
- 20066,
- 0,
- 0,
- 20067,
- 0,
- 0,
- 0,
- 0,
- 20069,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20070,
- 20071,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20072,
- 0,
- 0,
- 20073,
- 20074,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20075,
- 0,
- 20078,
- 0,
- 0,
- 0,
- 0,
- 20080,
- 0,
- 20081,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20095,
- 0,
- 20098,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20107,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20112,
- 0,
- 0,
- 0,
- 20113,
- 20114,
- 0,
- 0,
- 0,
- 20115,
- 20123,
- 20124,
- 0,
- 0,
- 0,
- 20131,
- 20133,
- 20134,
- 0,
- 0,
- 0,
- 0,
- 20136,
- 0,
- 0,
- 20137,
- 20138,
- 20150,
- 0,
- 20152,
- 0,
- 0,
- 0,
- 20153,
- 0,
- 0,
- 20154,
- 0,
- 0,
- 0,
- 20158,
- 0,
- 20163,
- 0,
- 0,
- 20164,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20166,
- 0,
- 20168,
- 0,
- 20170,
- 0,
- 20175,
- 0,
- 0,
- 20178,
- 0,
- 0,
- 0,
- 0,
- 20223,
- 0,
- 0,
- 0,
- 0,
- 20224,
- 0,
- 20226,
- 0,
- 0,
- 20230,
- 0,
- 20231,
- 0,
- 0,
- 0,
- 0,
- 20232,
- 0,
- 0,
- 20233,
- 20234,
- 0,
- 20244,
- 0,
- 20247,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20249,
- 0,
- 0,
- 0,
- 20250,
- 0,
- 0,
- 0,
- 0,
- 20251,
- 0,
- 20253,
- 0,
- 20254,
- 0,
- 0,
- 0,
- 0,
- 20256,
- 0,
- 0,
- 20264,
- 0,
- 0,
- 0,
- 0,
- 20266,
- 0,
- 0,
- 0,
- 20278,
- 0,
- 0,
- 20279,
- 20282,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20283,
- 0,
- 20284,
- 0,
- 20285,
- 0,
- 20287,
- 20290,
- 0,
- 0,
- 0,
- 0,
- 20292,
- 0,
- 0,
- 0,
- 0,
- 20293,
- 20297,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20299,
- 0,
- 20300,
- 20303,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20307,
- 0,
- 0,
- 20308,
- 0,
- 20309,
- 0,
- 20310,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20312,
- 0,
- 0,
- 0,
- 20314,
- 0,
- 0,
- 0,
- 0,
- 20315,
- 20316,
- 0,
- 20322,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20339,
- 0,
- 0,
- 0,
- 20342,
- 0,
- 0,
- 0,
- 0,
- 20352,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20362,
- 0,
- 0,
- 20365,
- 0,
- 20375,
- 20377,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20378,
- 20379,
- 0,
- 20380,
- 0,
- 0,
- 20381,
- 0,
- 20382,
- 0,
- 20383,
- 0,
- 20388,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20390,
- 20392,
- 20393,
- 0,
- 0,
- 20395,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20396,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20398,
- 20415,
- 0,
- 0,
- 0,
- 20417,
- 0,
- 0,
- 20420,
- 0,
- 0,
- 20426,
- 20428,
- 0,
- 20431,
- 0,
- 0,
- 20432,
- 0,
- 20433,
- 20434,
- 20435,
- 0,
- 0,
- 0,
- 0,
- 20440,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20442,
- 0,
- 20443,
- 0,
- 20446,
- 0,
- 0,
- 0,
- 0,
- 20448,
- 0,
- 20451,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20452,
- 20453,
- 0,
- 0,
- 20454,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20457,
- 0,
- 20458,
- 0,
- 0,
- 0,
- 20465,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20469,
- 0,
- 0,
- 0,
- 20473,
- 0,
- 20476,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20477,
- 0,
- 0,
- 20485,
- 0,
- 0,
- 20486,
- 0,
- 0,
- 20487,
- 0,
- 20496,
- 0,
- 20497,
- 0,
- 0,
- 20498,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20499,
- 20500,
- 0,
- 20501,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20520,
- 20527,
- 0,
- 20529,
- 0,
- 0,
- 0,
- 0,
- 20539,
- 0,
- 0,
- 20540,
- 0,
- 0,
- 0,
- 20543,
- 0,
- 0,
- 0,
- 20546,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20548,
- 0,
- 0,
- 20563,
- 0,
- 0,
- 20564,
- 0,
- 20566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20589,
- 0,
- 0,
- 0,
- 0,
- 20590,
- 0,
- 0,
- 20593,
- 20594,
- 0,
- 0,
- 0,
- 0,
- 20595,
- 0,
- 20597,
- 20598,
- 0,
- 0,
- 0,
- 20618,
- 20620,
- 0,
- 0,
- 0,
- 0,
- 20621,
- 0,
- 0,
- 0,
- 0,
- 20627,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20628,
- 0,
- 0,
- 0,
- 20629,
- 0,
- 20630,
- 0,
- 0,
- 20639,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20707,
- 0,
- 0,
- 20709,
- 0,
- 0,
- 0,
- 20713,
- 20714,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20724,
- 20725,
- 0,
- 0,
- 0,
- 0,
- 20726,
- 20728,
- 20729,
- 0,
- 20733,
- 0,
- 20734,
- 0,
- 20735,
- 20736,
- 0,
- 20737,
- 0,
- 0,
- 20744,
- 0,
- 20745,
- 0,
- 20748,
- 0,
- 0,
- 20749,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20750,
- 0,
- 0,
- 0,
- 0,
- 20754,
- 0,
- 0,
- 0,
- 20761,
- 0,
- 0,
- 20763,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20766,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20767,
- 0,
- 0,
- 0,
- 0,
- 20768,
- 0,
- 20769,
- 20777,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20785,
- 0,
- 0,
- 0,
- 20786,
- 20795,
- 20801,
- 0,
- 20802,
- 0,
- 20807,
- 0,
- 0,
- 20808,
- 0,
- 0,
- 20810,
- 0,
- 0,
- 20811,
- 0,
- 20812,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20813,
- 0,
- 0,
- 20818,
- 20820,
- 20821,
- 0,
- 0,
- 0,
- 20822,
- 0,
- 20823,
- 0,
- 0,
- 0,
- 20826,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20829,
- 20830,
- 20831,
- 0,
- 20832,
- 20836,
- 0,
- 0,
- 20839,
- 0,
- 0,
- 20840,
- 20842,
- 0,
- 20843,
- 0,
- 20844,
- 0,
- 20854,
- 0,
- 0,
- 0,
- 20855,
- 0,
- 0,
- 0,
- 0,
- 20856,
- 0,
- 0,
- 0,
- 20869,
- 0,
- 0,
- 20871,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20873,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20876,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20880,
- 0,
- 0,
- 20882,
- 0,
- 0,
- 0,
- 0,
- 20883,
- 20884,
- 0,
- 0,
- 20890,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20891,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20905,
- 0,
- 20906,
- 20910,
- 0,
- 0,
- 20912,
- 20915,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20916,
- 0,
- 20917,
- 0,
- 20919,
- 20920,
- 20922,
- 0,
- 20927,
- 0,
- 20928,
- 20929,
- 20930,
- 0,
- 0,
- 20935,
- 0,
- 0,
- 20939,
- 0,
- 0,
- 20941,
- 0,
- 0,
- 0,
- 20943,
- 0,
- 0,
- 0,
- 20946,
- 20947,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20950,
- 0,
- 20954,
- 0,
- 0,
- 20955,
- 20964,
- 0,
- 0,
- 20967,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20973,
- 20975,
- 0,
- 0,
- 0,
- 20984,
- 0,
- 20987,
- 20988,
- 0,
- 0,
- 0,
- 0,
- 0,
- 20989,
- 0,
- 0,
- 0,
- 20995,
- 0,
- 20998,
- 0,
- 20999,
- 0,
- 0,
- 0,
- 0,
- 21000,
- 21001,
- 0,
- 0,
- 0,
- 0,
- 21008,
- 0,
- 21010,
- 0,
- 21016,
- 0,
- 0,
- 0,
- 21017,
- 21018,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21021,
- 21026,
- 21027,
- 21028,
- 0,
- 0,
- 21029,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21030,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21031,
- 21032,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21037,
- 0,
- 0,
- 21038,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21039,
- 0,
- 21041,
- 0,
- 21046,
- 21047,
- 0,
- 0,
- 0,
- 21049,
- 21053,
- 0,
- 0,
- 21057,
- 21064,
- 21065,
- 0,
- 0,
- 21066,
- 21067,
- 0,
- 0,
- 0,
- 21069,
- 0,
- 0,
- 0,
- 21071,
- 21072,
- 0,
- 0,
- 21073,
- 0,
- 21074,
- 0,
- 0,
- 21078,
- 0,
- 0,
- 0,
- 0,
- 21079,
- 0,
- 0,
- 21080,
- 21081,
- 0,
- 0,
- 21086,
- 21087,
- 0,
- 21089,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21091,
- 0,
- 21093,
- 0,
- 21094,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21095,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21096,
- 0,
- 21098,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21099,
- 0,
- 0,
- 21100,
- 21101,
- 21102,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21103,
- 0,
- 21104,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21105,
- 21108,
- 21109,
- 0,
- 0,
- 21112,
- 21113,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21115,
- 21122,
- 21123,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21125,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21129,
- 21131,
- 0,
- 0,
- 21134,
- 0,
- 0,
- 0,
- 21137,
- 21142,
- 0,
- 21143,
- 0,
- 0,
- 21144,
- 0,
- 21145,
- 21146,
- 0,
- 21152,
- 21154,
- 21155,
- 21156,
- 0,
- 0,
- 0,
- 21160,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21161,
- 0,
- 21164,
- 0,
- 21166,
- 0,
- 0,
- 0,
- 0,
- 21170,
- 0,
- 0,
- 0,
- 0,
- 21171,
- 0,
- 0,
- 21172,
- 0,
- 21174,
- 0,
- 21175,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21176,
- 21179,
- 21188,
- 0,
- 0,
- 0,
- 21189,
- 0,
- 0,
- 21190,
- 0,
- 0,
- 0,
- 21192,
- 0,
- 0,
- 21193,
- 0,
- 0,
- 0,
- 21198,
- 0,
- 21212,
- 0,
- 0,
- 21213,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21215,
- 21216,
- 0,
- 0,
- 21223,
- 21225,
- 0,
- 21226,
- 0,
- 0,
- 0,
- 0,
- 21227,
- 21228,
- 0,
- 0,
- 21229,
- 0,
- 0,
- 0,
- 0,
- 21230,
- 21236,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21237,
- 0,
- 0,
- 21238,
- 21239,
- 0,
- 0,
- 0,
- 0,
- 21256,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21257,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21259,
- 0,
- 0,
- 0,
- 21263,
- 0,
- 21272,
- 0,
- 21274,
- 0,
- 21282,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21283,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21294,
- 0,
- 0,
- 21297,
- 0,
- 0,
- 0,
- 0,
- 21298,
- 0,
- 0,
- 0,
- 21299,
- 0,
- 21300,
- 21302,
- 0,
- 21316,
- 0,
- 21318,
- 21322,
- 21323,
- 0,
- 21324,
- 0,
- 21326,
- 0,
- 0,
- 0,
- 21327,
- 21328,
- 0,
- 0,
- 0,
- 21352,
- 0,
- 0,
- 21354,
- 21361,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21362,
- 0,
- 0,
- 0,
- 21363,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21366,
- 0,
- 0,
- 21367,
- 21372,
- 21374,
- 0,
- 0,
- 0,
- 21375,
- 21377,
- 0,
- 21378,
- 0,
- 0,
- 0,
- 21380,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21381,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21382,
- 0,
- 21383,
- 0,
- 0,
- 21384,
- 0,
- 0,
- 21385,
- 0,
- 0,
- 0,
- 0,
- 21389,
- 21390,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21397,
- 21398,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21399,
- 0,
- 21400,
- 0,
- 0,
- 0,
- 0,
- 21402,
- 0,
- 0,
- 0,
- 21403,
- 21404,
- 0,
- 21405,
- 21406,
- 0,
- 0,
- 0,
- 21407,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21408,
- 0,
- 0,
- 0,
- 0,
- 21409,
- 0,
- 21421,
- 0,
- 21422,
- 0,
- 0,
- 0,
- 21425,
- 21428,
- 0,
- 0,
- 0,
- 0,
- 21429,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21433,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21434,
- 0,
- 21443,
- 0,
- 21444,
- 21449,
- 0,
- 21452,
- 0,
- 21453,
- 21454,
- 0,
- 0,
- 0,
- 21457,
- 0,
- 0,
- 21458,
- 0,
- 0,
- 0,
- 21460,
- 21461,
- 0,
- 0,
- 21464,
- 0,
- 0,
- 0,
- 21473,
- 21478,
- 0,
- 0,
- 21479,
- 0,
- 0,
- 21481,
- 21483,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21484,
- 0,
- 0,
- 21485,
- 21486,
- 0,
- 0,
- 21488,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21523,
- 0,
- 0,
- 21525,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21526,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21529,
- 21530,
- 0,
- 0,
- 21531,
- 0,
- 0,
- 21533,
- 0,
- 0,
- 21539,
- 21564,
- 0,
- 21567,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21575,
- 0,
- 0,
- 0,
- 0,
- 21577,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21591,
- 0,
- 0,
- 21604,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21605,
- 0,
- 21606,
- 0,
- 0,
- 21617,
- 21618,
- 21619,
- 21620,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21623,
- 0,
- 0,
- 0,
- 0,
- 21631,
- 0,
- 21635,
- 0,
- 0,
- 0,
- 0,
- 21639,
- 21646,
- 21653,
- 21662,
- 0,
- 0,
- 21663,
- 21664,
- 0,
- 21666,
- 0,
- 0,
- 21667,
- 0,
- 21670,
- 21672,
- 21673,
- 0,
- 21674,
- 21683,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21684,
- 0,
- 21694,
- 0,
- 0,
- 0,
- 0,
- 21695,
- 21700,
- 0,
- 21703,
- 0,
- 21704,
- 0,
- 0,
- 21709,
- 0,
- 0,
- 0,
- 21710,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21711,
- 0,
- 0,
- 0,
- 21712,
- 0,
- 21717,
- 0,
- 21730,
- 0,
- 0,
- 0,
- 21731,
- 21733,
- 0,
- 0,
- 0,
- 0,
- 21737,
- 21741,
- 21742,
- 0,
- 21747,
- 0,
- 0,
- 0,
- 21749,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21750,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21752,
- 0,
- 0,
- 0,
- 0,
- 21753,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21755,
- 21756,
- 0,
- 21757,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21760,
- 0,
- 0,
- 21763,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21764,
- 0,
- 0,
- 21766,
- 0,
- 0,
- 21767,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21773,
- 0,
- 21774,
- 0,
- 0,
- 21775,
- 0,
- 0,
- 0,
- 0,
- 21776,
- 0,
- 0,
- 21777,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21780,
- 21787,
- 21788,
- 21791,
- 0,
- 0,
- 0,
- 21797,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21805,
- 0,
- 0,
- 0,
- 0,
- 21806,
- 0,
- 21807,
- 21809,
- 0,
- 21810,
- 21811,
- 0,
- 21817,
- 21819,
- 21820,
- 0,
- 21823,
- 0,
- 21824,
- 0,
- 0,
- 21825,
- 0,
- 0,
- 21826,
- 21832,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21833,
- 21848,
- 21849,
- 0,
- 0,
- 21867,
- 21870,
- 21871,
- 21873,
- 0,
- 0,
- 0,
- 21874,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21875,
- 0,
- 21878,
- 0,
- 0,
- 0,
- 21879,
- 0,
- 21881,
- 21886,
- 0,
- 0,
- 0,
- 0,
- 21887,
- 0,
- 0,
- 21888,
- 21894,
- 21895,
- 21897,
- 0,
- 21901,
- 0,
- 21904,
- 0,
- 0,
- 21906,
- 0,
- 0,
- 0,
- 21909,
- 21910,
- 21911,
- 0,
- 0,
- 21912,
- 0,
- 0,
- 21913,
- 21914,
- 21915,
- 0,
- 21919,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21921,
- 0,
- 0,
- 21922,
- 21933,
- 21939,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21944,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21945,
- 0,
- 21947,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21949,
- 0,
- 0,
- 0,
- 21950,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21951,
- 0,
- 21952,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21954,
- 21957,
- 0,
- 0,
- 0,
- 0,
- 21958,
- 0,
- 21959,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21962,
- 21963,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21964,
- 21965,
- 0,
- 0,
- 21969,
- 21970,
- 0,
- 0,
- 0,
- 21974,
- 0,
- 0,
- 21980,
- 21981,
- 0,
- 21982,
- 0,
- 0,
- 0,
- 0,
- 0,
- 21985,
- 0,
- 21988,
- 0,
- 21992,
- 0,
- 21999,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22001,
- 0,
- 22002,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22003,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22004,
- 0,
- 0,
- 0,
- 22008,
- 0,
- 22009,
- 22015,
- 0,
- 0,
- 22016,
- 0,
- 0,
- 0,
- 22017,
- 22019,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22020,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22021,
- 22037,
- 0,
- 22039,
- 0,
- 0,
- 0,
- 22040,
- 0,
- 0,
- 0,
- 22048,
- 22049,
- 0,
- 0,
- 22053,
- 22055,
- 22056,
- 22059,
- 0,
- 0,
- 22060,
- 22061,
- 0,
- 0,
- 22064,
- 0,
- 0,
- 0,
- 0,
- 22066,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22073,
- 0,
- 0,
- 0,
- 22074,
- 22075,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22076,
- 0,
- 0,
- 0,
- 0,
- 22077,
- 22084,
- 22099,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22104,
- 0,
- 0,
- 22107,
- 0,
- 22108,
- 0,
- 22109,
- 0,
- 22110,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22111,
- 22119,
- 0,
- 22120,
- 22122,
- 0,
- 0,
- 0,
- 0,
- 22125,
- 0,
- 0,
- 0,
- 22128,
- 22129,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22141,
- 0,
- 0,
- 0,
- 22142,
- 0,
- 0,
- 22144,
- 22146,
- 0,
- 22148,
- 22149,
- 22151,
- 22154,
- 0,
- 0,
- 0,
- 22162,
- 0,
- 0,
- 0,
- 0,
- 22164,
- 22177,
- 0,
- 0,
- 0,
- 0,
- 22179,
- 0,
- 22182,
- 22183,
- 0,
- 0,
- 22184,
- 22188,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22190,
- 0,
- 22194,
- 22201,
- 0,
- 0,
- 22208,
- 0,
- 22209,
- 0,
- 22212,
- 0,
- 0,
- 22215,
- 0,
- 22223,
- 22231,
- 0,
- 0,
- 22232,
- 0,
- 22234,
- 0,
- 0,
- 22235,
- 22236,
- 0,
- 22237,
- 0,
- 22240,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22241,
- 0,
- 0,
- 0,
- 22242,
- 22246,
- 22247,
- 0,
- 0,
- 0,
- 22259,
- 22268,
- 0,
- 22269,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22270,
- 0,
- 0,
- 0,
- 0,
- 22271,
- 0,
- 22272,
- 0,
- 22277,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22278,
- 22280,
- 22283,
- 22286,
- 0,
- 0,
- 22287,
- 22289,
- 0,
- 0,
- 22290,
- 0,
- 22293,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22295,
- 0,
- 22301,
- 22302,
- 0,
- 0,
- 0,
- 22305,
- 0,
- 22308,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22315,
- 0,
- 0,
- 0,
- 22317,
- 0,
- 22334,
- 0,
- 0,
- 0,
- 22335,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22336,
- 0,
- 22338,
- 22344,
- 0,
- 22347,
- 22349,
- 0,
- 22350,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22357,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22358,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22359,
- 22360,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22361,
- 22366,
- 0,
- 0,
- 22369,
- 0,
- 22370,
- 22373,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22375,
- 0,
- 22377,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22378,
- 0,
- 0,
- 0,
- 0,
- 22381,
- 0,
- 0,
- 0,
- 0,
- 22382,
- 0,
- 22383,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22391,
- 0,
- 0,
- 22392,
- 22395,
- 22396,
- 22402,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22405,
- 0,
- 0,
- 22406,
- 0,
- 0,
- 22408,
- 0,
- 0,
- 22409,
- 22410,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22424,
- 0,
- 0,
- 0,
- 0,
- 22426,
- 0,
- 0,
- 0,
- 22427,
- 0,
- 22428,
- 0,
- 22432,
- 0,
- 22435,
- 22442,
- 22443,
- 0,
- 0,
- 0,
- 0,
- 22444,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22446,
- 0,
- 22454,
- 0,
- 22455,
- 0,
- 0,
- 0,
- 22465,
- 0,
- 22470,
- 0,
- 22471,
- 0,
- 0,
- 0,
- 0,
- 22472,
- 22473,
- 0,
- 22487,
- 0,
- 0,
- 0,
- 22488,
- 0,
- 0,
- 0,
- 0,
- 22489,
- 0,
- 0,
- 22499,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22514,
- 0,
- 0,
- 22515,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22516,
- 0,
- 0,
- 0,
- 22517,
- 22520,
- 0,
- 0,
- 0,
- 22534,
- 0,
- 0,
- 22535,
- 0,
- 0,
- 22536,
- 0,
- 22540,
- 22553,
- 0,
- 22555,
- 0,
- 0,
- 0,
- 0,
- 22561,
- 0,
- 0,
- 22562,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22566,
- 0,
- 0,
- 0,
- 0,
- 22567,
- 22568,
- 0,
- 0,
- 22575,
- 0,
- 22579,
- 0,
- 22582,
- 22583,
- 22585,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22586,
- 0,
- 0,
- 22587,
- 0,
- 0,
- 22590,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22591,
- 0,
- 22592,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22593,
- 0,
- 22602,
- 0,
- 0,
- 22604,
- 0,
- 0,
- 22609,
- 0,
- 0,
- 22618,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22619,
- 0,
- 22624,
- 22625,
- 0,
- 0,
- 22638,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22639,
- 0,
- 0,
- 22640,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22644,
- 0,
- 22645,
- 22647,
- 0,
- 0,
- 0,
- 0,
- 22652,
- 22653,
- 0,
- 0,
- 0,
- 22654,
- 0,
- 22655,
- 0,
- 0,
- 0,
- 22656,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22673,
- 22675,
- 22676,
- 0,
- 0,
- 22678,
- 22679,
- 0,
- 22691,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22693,
- 0,
- 0,
- 22696,
- 0,
- 22699,
- 22707,
- 22708,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22718,
- 0,
- 22719,
- 0,
- 0,
- 0,
- 0,
- 22723,
- 0,
- 0,
- 0,
- 22724,
- 22725,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22726,
- 22728,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22729,
- 0,
- 0,
- 22731,
- 0,
- 0,
- 0,
- 0,
- 22732,
- 22735,
- 22736,
- 0,
- 0,
- 0,
- 0,
- 22739,
- 0,
- 22749,
- 0,
- 0,
- 22751,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22758,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22764,
- 22765,
- 22766,
- 0,
- 22768,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22769,
- 22770,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22771,
- 0,
- 0,
- 22772,
- 22775,
- 0,
- 22776,
- 22777,
- 22780,
- 0,
- 0,
- 22782,
- 22784,
- 0,
- 22787,
- 0,
- 22789,
- 22796,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22798,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22802,
- 0,
- 22803,
- 22804,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22805,
- 0,
- 0,
- 22810,
- 22811,
- 22814,
- 22816,
- 0,
- 22825,
- 22826,
- 0,
- 22831,
- 22833,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22834,
- 0,
- 22836,
- 22838,
- 0,
- 22839,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22840,
- 0,
- 22847,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22856,
- 22857,
- 0,
- 22858,
- 22859,
- 0,
- 0,
- 22862,
- 0,
- 0,
- 22864,
- 0,
- 0,
- 0,
- 0,
- 22865,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22866,
- 0,
- 22867,
- 22868,
- 0,
- 0,
- 0,
- 0,
- 22869,
- 0,
- 22871,
- 0,
- 22872,
- 0,
- 22873,
- 22881,
- 22882,
- 22884,
- 22885,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22886,
- 22887,
- 0,
- 22894,
- 0,
- 22895,
- 0,
- 0,
- 0,
- 22900,
- 0,
- 22901,
- 0,
- 0,
- 0,
- 0,
- 22904,
- 0,
- 0,
- 0,
- 0,
- 22905,
- 22907,
- 0,
- 0,
- 0,
- 22915,
- 22917,
- 0,
- 0,
- 22918,
- 0,
- 0,
- 0,
- 22920,
- 0,
- 0,
- 0,
- 22929,
- 22930,
- 0,
- 0,
- 0,
- 22941,
- 22942,
- 0,
- 0,
- 0,
- 22943,
- 0,
- 0,
- 0,
- 22944,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22946,
- 0,
- 22947,
- 0,
- 0,
- 22954,
- 0,
- 22956,
- 0,
- 0,
- 22962,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22963,
- 0,
- 0,
- 22964,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22965,
- 0,
- 22968,
- 0,
- 0,
- 0,
- 22969,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22970,
- 0,
- 22971,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22978,
- 0,
- 0,
- 22979,
- 0,
- 22987,
- 0,
- 0,
- 22989,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 22990,
- 0,
- 23005,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23006,
- 23007,
- 23008,
- 0,
- 0,
- 23023,
- 23024,
- 23029,
- 0,
- 0,
- 0,
- 0,
- 23030,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23032,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23035,
- 0,
- 0,
- 0,
- 0,
- 23038,
- 0,
- 0,
- 0,
- 23048,
- 0,
- 23049,
- 23052,
- 23053,
- 23060,
- 23061,
- 0,
- 23063,
- 0,
- 0,
- 0,
- 0,
- 23067,
- 23068,
- 0,
- 0,
- 0,
- 23069,
- 23073,
- 0,
- 0,
- 0,
- 23127,
- 0,
- 23128,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23129,
- 0,
- 23138,
- 23141,
- 0,
- 23149,
- 0,
- 0,
- 23150,
- 0,
- 0,
- 0,
- 23152,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23154,
- 0,
- 0,
- 0,
- 0,
- 23157,
- 23159,
- 23160,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23180,
- 0,
- 0,
- 0,
- 0,
- 23181,
- 0,
- 0,
- 23188,
- 0,
- 23189,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23195,
- 0,
- 0,
- 23196,
- 23199,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23202,
- 0,
- 23204,
- 0,
- 23207,
- 0,
- 23209,
- 23210,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23227,
- 23229,
- 0,
- 0,
- 23230,
- 23234,
- 23238,
- 0,
- 0,
- 0,
- 23245,
- 23246,
- 23248,
- 0,
- 0,
- 0,
- 0,
- 23249,
- 23254,
- 0,
- 0,
- 0,
- 23265,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23268,
- 0,
- 23276,
- 0,
- 0,
- 0,
- 0,
- 23277,
- 0,
- 23297,
- 0,
- 23298,
- 0,
- 0,
- 0,
- 0,
- 23299,
- 0,
- 23302,
- 0,
- 0,
- 23303,
- 23312,
- 0,
- 0,
- 23314,
- 0,
- 23320,
- 0,
- 0,
- 0,
- 0,
- 23324,
- 0,
- 23325,
- 0,
- 23328,
- 0,
- 23334,
- 0,
- 0,
- 0,
- 23337,
- 0,
- 0,
- 0,
- 0,
- 23343,
- 23344,
- 23346,
- 0,
- 23348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23353,
- 0,
- 0,
- 0,
- 0,
- 23355,
- 0,
- 23356,
- 23358,
- 0,
- 0,
- 0,
- 23359,
- 23360,
- 0,
- 23361,
- 0,
- 23367,
- 0,
- 23369,
- 0,
- 0,
- 23373,
- 0,
- 23378,
- 23379,
- 0,
- 23382,
- 23383,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23387,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23388,
- 23390,
- 0,
- 0,
- 23393,
- 23398,
- 0,
- 0,
- 0,
- 23399,
- 0,
- 0,
- 0,
- 23400,
- 0,
- 0,
- 0,
- 0,
- 23401,
- 0,
- 0,
- 0,
- 23415,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23416,
- 0,
- 23422,
- 0,
- 23443,
- 23444,
- 0,
- 0,
- 0,
- 0,
- 23448,
- 0,
- 23454,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23456,
- 0,
- 0,
- 23458,
- 23464,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23465,
- 0,
- 0,
- 0,
- 23470,
- 23471,
- 0,
- 0,
- 23472,
- 0,
- 0,
- 0,
- 23473,
- 23496,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23497,
- 0,
- 23499,
- 0,
- 0,
- 23502,
- 0,
- 0,
- 23503,
- 0,
- 0,
- 23513,
- 0,
- 0,
- 23515,
- 0,
- 0,
- 0,
- 23517,
- 0,
- 0,
- 0,
- 0,
- 23518,
- 23519,
- 23521,
- 23524,
- 0,
- 23525,
- 23528,
- 23539,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23541,
- 0,
- 0,
- 23544,
- 0,
- 0,
- 23556,
- 0,
- 0,
- 23557,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23559,
- 0,
- 23560,
- 0,
- 0,
- 23561,
- 0,
- 0,
- 23566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23568,
- 23569,
- 23570,
- 0,
- 0,
- 0,
- 0,
- 23571,
- 0,
- 23574,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23575,
- 0,
- 23579,
- 0,
- 0,
- 23581,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23587,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23596,
- 23598,
- 0,
- 0,
- 0,
- 0,
- 23602,
- 23606,
- 0,
- 0,
- 23607,
- 0,
- 23608,
- 0,
- 0,
- 0,
- 23614,
- 23616,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23618,
- 0,
- 0,
- 23619,
- 0,
- 0,
- 0,
- 0,
- 23621,
- 23626,
- 0,
- 23627,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23629,
- 0,
- 23630,
- 0,
- 0,
- 0,
- 0,
- 23634,
- 0,
- 23636,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23638,
- 0,
- 0,
- 0,
- 0,
- 23640,
- 23667,
- 0,
- 23669,
- 0,
- 0,
- 0,
- 23681,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23682,
- 0,
- 23683,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23684,
- 0,
- 0,
- 0,
- 23685,
- 23689,
- 0,
- 23693,
- 23694,
- 23700,
- 0,
- 23702,
- 0,
- 23709,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23712,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23714,
- 0,
- 0,
- 23715,
- 0,
- 0,
- 0,
- 0,
- 23718,
- 0,
- 0,
- 23720,
- 0,
- 0,
- 0,
- 0,
- 23722,
- 0,
- 0,
- 0,
- 23726,
- 23729,
- 0,
- 23741,
- 23746,
- 0,
- 23748,
- 0,
- 0,
- 0,
- 0,
- 23749,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23750,
- 0,
- 0,
- 0,
- 0,
- 23751,
- 0,
- 23753,
- 0,
- 0,
- 0,
- 0,
- 23757,
- 23765,
- 0,
- 0,
- 0,
- 23770,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23771,
- 0,
- 23772,
- 23781,
- 0,
- 0,
- 23796,
- 0,
- 0,
- 0,
- 0,
- 23798,
- 0,
- 23799,
- 0,
- 0,
- 0,
- 23802,
- 0,
- 0,
- 23806,
- 0,
- 23807,
- 0,
- 0,
- 23808,
- 0,
- 23809,
- 0,
- 23819,
- 0,
- 0,
- 0,
- 23821,
- 0,
- 23827,
- 0,
- 0,
- 0,
- 23829,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23830,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23832,
- 23833,
- 23834,
- 23835,
- 0,
- 0,
- 0,
- 0,
- 23837,
- 23838,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23846,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23847,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23879,
- 23881,
- 0,
- 0,
- 23882,
- 23883,
- 23895,
- 0,
- 23899,
- 0,
- 0,
- 0,
- 0,
- 23901,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23902,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23903,
- 23905,
- 0,
- 23906,
- 0,
- 23907,
- 23918,
- 23919,
- 23920,
- 0,
- 23922,
- 0,
- 23924,
- 0,
- 23927,
- 0,
- 23934,
- 0,
- 23937,
- 23941,
- 0,
- 23942,
- 23946,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23955,
- 23956,
- 23958,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23959,
- 0,
- 23962,
- 23965,
- 0,
- 23966,
- 0,
- 0,
- 0,
- 0,
- 23967,
- 23968,
- 0,
- 0,
- 23973,
- 0,
- 0,
- 23974,
- 0,
- 0,
- 0,
- 0,
- 23975,
- 0,
- 23976,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23977,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23980,
- 0,
- 0,
- 23984,
- 0,
- 23985,
- 0,
- 0,
- 23987,
- 0,
- 0,
- 23988,
- 23990,
- 23991,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23992,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23994,
- 0,
- 0,
- 0,
- 23998,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 23999,
- 0,
- 0,
- 24003,
- 0,
- 24004,
- 0,
- 24006,
- 0,
- 0,
- 0,
- 24007,
- 0,
- 0,
- 24008,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24009,
- 0,
- 0,
- 24010,
- 0,
- 0,
- 24011,
- 0,
- 0,
- 24013,
- 24014,
- 0,
- 0,
- 24015,
- 24016,
- 24027,
- 0,
- 24028,
- 24029,
- 0,
- 24030,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24033,
- 24034,
- 0,
- 24035,
- 0,
- 0,
- 24036,
- 0,
- 0,
- 24044,
- 0,
- 24048,
- 24049,
- 24063,
- 24067,
- 0,
- 24068,
- 24070,
- 0,
- 0,
- 24071,
- 24078,
- 24087,
- 0,
- 24090,
- 0,
- 0,
- 0,
- 24095,
- 0,
- 24098,
- 24101,
- 24104,
- 24106,
- 0,
- 24107,
- 0,
- 0,
- 0,
- 24108,
- 0,
- 0,
- 0,
- 0,
- 24110,
- 24111,
- 0,
- 24113,
- 0,
- 0,
- 24115,
- 24120,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24124,
- 0,
- 24125,
- 0,
- 24126,
- 0,
- 24127,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24135,
- 0,
- 0,
- 24136,
- 0,
- 24137,
- 24142,
- 0,
- 0,
- 0,
- 24146,
- 0,
- 0,
- 24147,
- 24149,
- 24154,
- 0,
- 24163,
- 0,
- 0,
- 0,
- 24165,
- 24166,
- 24167,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24169,
- 24170,
- 24175,
- 0,
- 0,
- 0,
- 24178,
- 0,
- 0,
- 24179,
- 0,
- 0,
- 24181,
- 0,
- 24184,
- 24197,
- 0,
- 24201,
- 24204,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24206,
- 24212,
- 24220,
- 0,
- 0,
- 0,
- 24224,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24226,
- 0,
- 24234,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24235,
- 0,
- 24236,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24239,
- 24240,
- 24241,
- 0,
- 0,
- 24248,
- 0,
- 0,
- 24249,
- 0,
- 24251,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24253,
- 0,
- 24268,
- 0,
- 0,
- 0,
- 24269,
- 0,
- 24271,
- 24272,
- 0,
- 0,
- 0,
- 0,
- 24273,
- 0,
- 0,
- 24274,
- 0,
- 0,
- 24279,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24280,
- 0,
- 24293,
- 24294,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24296,
- 0,
- 0,
- 24323,
- 0,
- 0,
- 0,
- 24329,
- 24330,
- 24331,
- 24339,
- 0,
- 24351,
- 0,
- 0,
- 24369,
- 24370,
- 0,
- 0,
- 0,
- 24371,
- 0,
- 0,
- 0,
- 0,
- 24372,
- 24373,
- 24374,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24378,
- 0,
- 0,
- 0,
- 0,
- 24379,
- 0,
- 24381,
- 0,
- 24383,
- 24389,
- 0,
- 24390,
- 0,
- 0,
- 24394,
- 24395,
- 24400,
- 0,
- 0,
- 0,
- 24401,
- 24402,
- 0,
- 24406,
- 0,
- 0,
- 0,
- 24411,
- 0,
- 0,
- 0,
- 24415,
- 0,
- 24416,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24417,
- 0,
- 24419,
- 0,
- 24422,
- 0,
- 24423,
- 24428,
- 0,
- 24435,
- 0,
- 0,
- 0,
- 24439,
- 0,
- 0,
- 0,
- 24440,
- 24442,
- 24446,
- 0,
- 0,
- 0,
- 24447,
- 24448,
- 24449,
- 24452,
- 0,
- 0,
- 0,
- 0,
- 24453,
- 24457,
- 0,
- 0,
- 24458,
- 24459,
- 24460,
- 0,
- 24465,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24470,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24471,
- 0,
- 24473,
- 24474,
- 24475,
- 24476,
- 0,
- 24478,
- 0,
- 0,
- 0,
- 0,
- 24480,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24481,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24482,
- 24485,
- 0,
- 0,
- 0,
- 0,
- 24486,
- 0,
- 0,
- 0,
- 24488,
- 0,
- 0,
- 0,
- 24494,
- 0,
- 0,
- 0,
- 0,
- 24497,
- 0,
- 0,
- 24498,
- 0,
- 0,
- 0,
- 24499,
- 24506,
- 0,
- 0,
- 0,
- 24507,
- 0,
- 0,
- 24511,
- 0,
- 0,
- 24513,
- 24514,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24517,
- 0,
- 24518,
- 0,
- 24520,
- 0,
- 24521,
- 24524,
- 24525,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24527,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24528,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24537,
- 24539,
- 0,
- 24540,
- 0,
- 0,
- 0,
- 24548,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24549,
- 24550,
- 0,
- 0,
- 0,
- 24553,
- 24554,
- 0,
- 24555,
- 0,
- 24556,
- 0,
- 24558,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24560,
- 0,
- 0,
- 0,
- 24561,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24562,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24567,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24569,
- 0,
- 0,
- 0,
- 24574,
- 0,
- 24575,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24577,
- 24581,
- 0,
- 24584,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24585,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24586,
- 0,
- 0,
- 24587,
- 0,
- 24588,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24590,
- 24591,
- 0,
- 0,
- 0,
- 0,
- 24592,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24594,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24596,
- 24597,
- 0,
- 0,
- 0,
- 0,
- 24602,
- 24603,
- 0,
- 0,
- 0,
- 0,
- 24604,
- 0,
- 0,
- 24605,
- 0,
- 24610,
- 0,
- 0,
- 24611,
- 0,
- 0,
- 0,
- 0,
- 24612,
- 24615,
- 24616,
- 24624,
- 0,
- 0,
- 0,
- 24627,
- 0,
- 24638,
- 24639,
- 0,
- 0,
- 0,
- 0,
- 24640,
- 0,
- 0,
- 0,
- 24655,
- 24656,
- 24657,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24662,
- 0,
- 24663,
- 24664,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24665,
- 0,
- 0,
- 0,
- 0,
- 24667,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24668,
- 24669,
- 0,
- 24670,
- 24674,
- 0,
- 0,
- 0,
- 24675,
- 0,
- 24678,
- 0,
- 0,
- 24679,
- 0,
- 0,
- 0,
- 24681,
- 0,
- 24683,
- 0,
- 0,
- 0,
- 0,
- 24684,
- 0,
- 24685,
- 0,
- 0,
- 24686,
- 0,
- 0,
- 24688,
- 24689,
- 0,
- 0,
- 0,
- 0,
- 24690,
- 24691,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24697,
- 0,
- 24698,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24709,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24710,
- 0,
- 24712,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24713,
- 24714,
- 0,
- 24715,
- 0,
- 24716,
- 24718,
- 0,
- 24719,
- 0,
- 0,
- 0,
- 0,
- 24720,
- 0,
- 0,
- 24725,
- 0,
- 0,
- 24738,
- 0,
- 24749,
- 24750,
- 0,
- 0,
- 0,
- 24752,
- 0,
- 0,
- 0,
- 24753,
- 0,
- 0,
- 0,
- 24758,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24762,
- 0,
- 24763,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24764,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24765,
- 24767,
- 24768,
- 0,
- 24772,
- 0,
- 0,
- 0,
- 0,
- 24773,
- 0,
- 0,
- 0,
- 0,
- 24777,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24785,
- 0,
- 24786,
- 24788,
- 0,
- 0,
- 0,
- 24789,
- 0,
- 0,
- 0,
- 0,
- 24794,
- 24798,
- 0,
- 24799,
- 24800,
- 0,
- 0,
- 0,
- 24803,
- 0,
- 24804,
- 24806,
- 0,
- 24807,
- 0,
- 0,
- 0,
- 24810,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24827,
- 24828,
- 0,
- 24835,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24836,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24839,
- 0,
- 24843,
- 24844,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24847,
- 0,
- 0,
- 24848,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24849,
- 0,
- 24850,
- 24851,
- 0,
- 0,
- 0,
- 24852,
- 0,
- 24853,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24854,
- 0,
- 24855,
- 0,
- 0,
- 24868,
- 0,
- 0,
- 0,
- 24883,
- 0,
- 0,
- 0,
- 24884,
- 0,
- 24895,
- 24897,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24899,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24900,
- 0,
- 24913,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24914,
- 0,
- 0,
- 24917,
- 24930,
- 24931,
- 0,
- 0,
- 0,
- 24932,
- 0,
- 0,
- 24939,
- 0,
- 0,
- 24942,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24945,
- 24950,
- 0,
- 24951,
- 0,
- 0,
- 24953,
- 0,
- 0,
- 0,
- 24954,
- 0,
- 24959,
- 0,
- 0,
- 0,
- 24961,
- 0,
- 0,
- 24962,
- 0,
- 24964,
- 24968,
- 24970,
- 24972,
- 0,
- 0,
- 0,
- 0,
- 0,
- 24976,
- 0,
- 0,
- 0,
- 24977,
- 0,
- 24982,
- 0,
- 0,
- 24983,
- 0,
- 0,
- 24984,
- 0,
- 0,
- 0,
- 24993,
- 0,
- 0,
- 0,
- 24994,
- 0,
- 0,
- 25001,
- 0,
- 0,
- 0,
- 25003,
- 0,
- 0,
- 25018,
- 0,
- 0,
- 25023,
- 0,
- 0,
- 0,
- 25034,
- 0,
- 0,
- 25035,
- 25036,
- 0,
- 25037,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25039,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25040,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25042,
- 0,
- 0,
- 25043,
- 25045,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25049,
- 0,
- 0,
- 25051,
- 0,
- 25052,
- 25053,
- 0,
- 0,
- 25054,
- 0,
- 0,
- 0,
- 25055,
- 0,
- 0,
- 0,
- 0,
- 25057,
- 25059,
- 0,
- 0,
- 25060,
- 25064,
- 0,
- 25065,
- 25069,
- 25070,
- 0,
- 0,
- 0,
- 0,
- 25072,
- 0,
- 25073,
- 0,
- 25090,
- 0,
- 0,
- 25092,
- 25093,
- 25101,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25105,
- 25108,
- 0,
- 0,
- 25113,
- 0,
- 0,
- 25115,
- 25116,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25117,
- 0,
- 0,
- 0,
- 25120,
- 25121,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25125,
- 0,
- 0,
- 0,
- 25126,
- 0,
- 25130,
- 25134,
- 0,
- 25139,
- 0,
- 25143,
- 0,
- 0,
- 0,
- 25151,
- 0,
- 25161,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25163,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25174,
- 0,
- 25175,
- 0,
- 25207,
- 0,
- 0,
- 0,
- 25209,
- 0,
- 0,
- 0,
- 0,
- 25213,
- 0,
- 25219,
- 0,
- 25223,
- 0,
- 25225,
- 0,
- 0,
- 0,
- 25227,
- 0,
- 0,
- 0,
- 25228,
- 0,
- 0,
- 0,
- 25229,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25231,
- 25233,
- 0,
- 0,
- 0,
- 0,
- 25237,
- 25239,
- 0,
- 0,
- 0,
- 25243,
- 0,
- 0,
- 0,
- 25252,
- 0,
- 25257,
- 25258,
- 0,
- 0,
- 0,
- 0,
- 25260,
- 25265,
- 0,
- 25268,
- 0,
- 0,
- 25273,
- 25324,
- 0,
- 25325,
- 0,
- 25326,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25327,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25328,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25332,
- 0,
- 0,
- 0,
- 25333,
- 0,
- 0,
- 0,
- 25336,
- 25337,
- 25338,
- 0,
- 0,
- 25343,
- 0,
- 25350,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25352,
- 0,
- 25354,
- 0,
- 25375,
- 0,
- 25379,
- 0,
- 0,
- 0,
- 0,
- 25384,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25386,
- 0,
- 25388,
- 0,
- 25390,
- 0,
- 0,
- 25399,
- 0,
- 0,
- 25401,
- 0,
- 0,
- 0,
- 25402,
- 0,
- 0,
- 0,
- 25407,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25413,
- 25415,
- 0,
- 0,
- 25417,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25419,
- 0,
- 0,
- 0,
- 25421,
- 0,
- 0,
- 0,
- 25424,
- 0,
- 0,
- 0,
- 0,
- 25433,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25435,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25436,
- 0,
- 0,
- 0,
- 25437,
- 0,
- 0,
- 25440,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25442,
- 0,
- 0,
- 25443,
- 0,
- 25446,
- 0,
- 0,
- 25449,
- 0,
- 0,
- 0,
- 25450,
- 0,
- 0,
- 0,
- 0,
- 25452,
- 0,
- 25453,
- 25454,
- 25455,
- 0,
- 0,
- 0,
- 25456,
- 0,
- 25457,
- 0,
- 0,
- 0,
- 25459,
- 0,
- 25461,
- 0,
- 25468,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25469,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25471,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25474,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25475,
- 0,
- 0,
- 0,
- 0,
- 25477,
- 0,
- 0,
- 0,
- 0,
- 25483,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25485,
- 0,
- 25497,
- 0,
- 0,
- 25498,
- 0,
- 25504,
- 0,
- 25510,
- 0,
- 25512,
- 0,
- 0,
- 25513,
- 25514,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25517,
- 25518,
- 25519,
- 0,
- 25520,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25521,
- 0,
- 25522,
- 25527,
- 25534,
- 0,
- 25536,
- 0,
- 25537,
- 0,
- 0,
- 25548,
- 25550,
- 0,
- 0,
- 25551,
- 0,
- 25552,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25554,
- 0,
- 25555,
- 0,
- 25556,
- 25557,
- 25568,
- 0,
- 0,
- 0,
- 25570,
- 25571,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25574,
- 0,
- 0,
- 0,
- 0,
- 25579,
- 0,
- 0,
- 0,
- 25581,
- 0,
- 0,
- 0,
- 25582,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25588,
- 0,
- 0,
- 0,
- 0,
- 25589,
- 0,
- 0,
- 0,
- 0,
- 25590,
- 0,
- 25591,
- 25592,
- 25593,
- 0,
- 25594,
- 0,
- 0,
- 0,
- 25596,
- 0,
- 25597,
- 25615,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25618,
- 0,
- 0,
- 0,
- 0,
- 25619,
- 25623,
- 0,
- 0,
- 25629,
- 0,
- 0,
- 25631,
- 0,
- 0,
- 0,
- 25635,
- 25636,
- 0,
- 0,
- 25649,
- 0,
- 0,
- 0,
- 0,
- 25654,
- 0,
- 0,
- 0,
- 25661,
- 25663,
- 0,
- 0,
- 25671,
- 0,
- 0,
- 25678,
- 25698,
- 0,
- 25699,
- 25702,
- 25703,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25704,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25706,
- 0,
- 0,
- 25710,
- 0,
- 25711,
- 0,
- 25712,
- 0,
- 25715,
- 25716,
- 25717,
- 0,
- 0,
- 25718,
- 25728,
- 25732,
- 0,
- 0,
- 0,
- 25734,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25737,
- 0,
- 0,
- 25739,
- 0,
- 0,
- 0,
- 25740,
- 0,
- 25741,
- 25745,
- 0,
- 25746,
- 0,
- 25748,
- 25772,
- 25778,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25780,
- 0,
- 0,
- 0,
- 0,
- 25781,
- 0,
- 25782,
- 25784,
- 25785,
- 0,
- 0,
- 0,
- 25789,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25797,
- 25801,
- 0,
- 0,
- 0,
- 25808,
- 25809,
- 0,
- 0,
- 25811,
- 25814,
- 25815,
- 0,
- 0,
- 25817,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25820,
- 0,
- 0,
- 0,
- 0,
- 25832,
- 25833,
- 0,
- 0,
- 0,
- 25846,
- 0,
- 0,
- 0,
- 25847,
- 25848,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25849,
- 25850,
- 0,
- 0,
- 25851,
- 0,
- 0,
- 25852,
- 0,
- 25862,
- 0,
- 0,
- 0,
- 25863,
- 25865,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25867,
- 25868,
- 0,
- 25869,
- 25874,
- 0,
- 25875,
- 0,
- 25876,
- 25877,
- 0,
- 0,
- 0,
- 0,
- 25878,
- 25902,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25903,
- 25904,
- 25905,
- 0,
- 0,
- 0,
- 25908,
- 25909,
- 0,
- 0,
- 0,
- 0,
- 25910,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25912,
- 0,
- 25913,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25914,
- 0,
- 0,
- 25916,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25917,
- 25927,
- 0,
- 0,
- 0,
- 0,
- 25928,
- 0,
- 0,
- 25930,
- 0,
- 0,
- 0,
- 25933,
- 0,
- 0,
- 25938,
- 25942,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25945,
- 0,
- 25950,
- 0,
- 25956,
- 0,
- 0,
- 25961,
- 25962,
- 0,
- 0,
- 25963,
- 0,
- 25964,
- 25965,
- 25966,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25967,
- 0,
- 0,
- 0,
- 0,
- 25968,
- 0,
- 0,
- 0,
- 25969,
- 25971,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25973,
- 25975,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25978,
- 0,
- 25981,
- 0,
- 0,
- 0,
- 25982,
- 0,
- 0,
- 0,
- 25984,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 25993,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26002,
- 0,
- 0,
- 0,
- 26005,
- 0,
- 0,
- 0,
- 26006,
- 26007,
- 0,
- 0,
- 26014,
- 26015,
- 26016,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26017,
- 26018,
- 26020,
- 0,
- 26022,
- 26023,
- 0,
- 0,
- 0,
- 26024,
- 26028,
- 0,
- 26029,
- 26033,
- 26034,
- 26044,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26046,
- 0,
- 0,
- 26047,
- 0,
- 0,
- 26049,
- 0,
- 26050,
- 0,
- 26051,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26053,
- 0,
- 0,
- 0,
- 0,
- 26054,
- 26059,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26060,
- 0,
- 26066,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26067,
- 0,
- 26069,
- 0,
- 0,
- 26071,
- 0,
- 0,
- 0,
- 26073,
- 0,
- 26074,
- 26077,
- 0,
- 0,
- 0,
- 0,
- 26078,
- 0,
- 0,
- 0,
- 26079,
- 0,
- 26090,
- 0,
- 0,
- 26094,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26095,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26096,
- 26101,
- 0,
- 26107,
- 26122,
- 0,
- 26124,
- 0,
- 0,
- 26125,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26136,
- 26141,
- 26155,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26164,
- 26166,
- 0,
- 0,
- 0,
- 26167,
- 0,
- 26170,
- 26171,
- 0,
- 0,
- 26172,
- 0,
- 0,
- 26174,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26175,
- 0,
- 0,
- 0,
- 26176,
- 26177,
- 0,
- 26321,
- 26322,
- 0,
- 26323,
- 0,
- 0,
- 26324,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26325,
- 0,
- 26331,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26335,
- 0,
- 0,
- 0,
- 26350,
- 0,
- 0,
- 0,
- 26379,
- 0,
- 0,
- 26382,
- 26383,
- 26385,
- 0,
- 0,
- 26392,
- 26406,
- 0,
- 0,
- 0,
- 0,
- 26411,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26412,
- 0,
- 0,
- 26420,
- 0,
- 0,
- 26423,
- 0,
- 26424,
- 26426,
- 26432,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26435,
- 0,
- 26436,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26441,
- 0,
- 26444,
- 0,
- 0,
- 0,
- 26446,
- 0,
- 0,
- 0,
- 0,
- 26447,
- 0,
- 0,
- 0,
- 0,
- 26449,
- 0,
- 26450,
- 26452,
- 0,
- 26453,
- 26454,
- 0,
- 0,
- 0,
- 26455,
- 0,
- 0,
- 0,
- 26456,
- 0,
- 0,
- 26458,
- 0,
- 0,
- 26460,
- 0,
- 26463,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26464,
- 26470,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26473,
- 0,
- 0,
- 26474,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26475,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26477,
- 0,
- 26485,
- 0,
- 0,
- 26486,
- 0,
- 26487,
- 0,
- 0,
- 26488,
- 26493,
- 26494,
- 0,
- 0,
- 26495,
- 0,
- 26497,
- 26504,
- 26506,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26507,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26509,
- 0,
- 0,
- 26510,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26512,
- 0,
- 26513,
- 26515,
- 0,
- 0,
- 0,
- 26518,
- 0,
- 0,
- 0,
- 26519,
- 0,
- 26524,
- 26526,
- 0,
- 0,
- 0,
- 26527,
- 0,
- 26532,
- 0,
- 26533,
- 26537,
- 26558,
- 0,
- 0,
- 0,
- 26559,
- 0,
- 0,
- 0,
- 26571,
- 0,
- 0,
- 26573,
- 0,
- 26588,
- 0,
- 26593,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26603,
- 0,
- 26604,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26606,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26607,
- 26609,
- 26611,
- 26614,
- 0,
- 0,
- 0,
- 26616,
- 26620,
- 0,
- 26621,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26627,
- 0,
- 26629,
- 0,
- 0,
- 26630,
- 0,
- 0,
- 26632,
- 26643,
- 0,
- 0,
- 0,
- 26644,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26646,
- 26647,
- 0,
- 0,
- 0,
- 26650,
- 0,
- 0,
- 26656,
- 0,
- 0,
- 0,
- 0,
- 26663,
- 26670,
- 26671,
- 0,
- 0,
- 0,
- 26685,
- 26686,
- 26687,
- 0,
- 26689,
- 0,
- 0,
- 0,
- 0,
- 26744,
- 0,
- 26745,
- 0,
- 26747,
- 26748,
- 0,
- 26749,
- 26750,
- 26751,
- 0,
- 0,
- 0,
- 0,
- 26752,
- 26755,
- 0,
- 0,
- 0,
- 26756,
- 26769,
- 0,
- 0,
- 0,
- 26774,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26775,
- 0,
- 26777,
- 26778,
- 0,
- 26786,
- 0,
- 0,
- 0,
- 26787,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26788,
- 0,
- 0,
- 26789,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26791,
- 0,
- 26792,
- 26793,
- 0,
- 0,
- 0,
- 26794,
- 0,
- 26797,
- 26798,
- 0,
- 0,
- 0,
- 26800,
- 0,
- 0,
- 26803,
- 0,
- 26804,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26805,
- 0,
- 0,
- 26808,
- 0,
- 0,
- 26809,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26812,
- 0,
- 26825,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26826,
- 0,
- 0,
- 26827,
- 26829,
- 26834,
- 0,
- 0,
- 0,
- 0,
- 26835,
- 0,
- 0,
- 26849,
- 0,
- 26851,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26852,
- 0,
- 26853,
- 26857,
- 0,
- 26858,
- 0,
- 26859,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26876,
- 0,
- 26878,
- 26882,
- 26883,
- 0,
- 0,
- 0,
- 0,
- 26890,
- 26894,
- 0,
- 0,
- 0,
- 0,
- 26895,
- 26896,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26900,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26911,
- 26913,
- 26914,
- 26915,
- 26916,
- 26919,
- 0,
- 0,
- 0,
- 26921,
- 26922,
- 0,
- 0,
- 26925,
- 0,
- 0,
- 0,
- 26928,
- 0,
- 0,
- 26929,
- 26930,
- 0,
- 0,
- 0,
- 26931,
- 0,
- 26932,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26933,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26937,
- 0,
- 0,
- 26943,
- 0,
- 0,
- 26944,
- 0,
- 0,
- 0,
- 26946,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26956,
- 0,
- 26958,
- 0,
- 0,
- 26963,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26965,
- 0,
- 26969,
- 26970,
- 26972,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26973,
- 0,
- 26974,
- 0,
- 26978,
- 0,
- 26980,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 26982,
- 0,
- 26986,
- 26987,
- 0,
- 26990,
- 0,
- 0,
- 0,
- 0,
- 27003,
- 27006,
- 0,
- 0,
- 27007,
- 27010,
- 27012,
- 27013,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27014,
- 27015,
- 27018,
- 0,
- 27019,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27025,
- 0,
- 0,
- 0,
- 27026,
- 0,
- 0,
- 0,
- 0,
- 27029,
- 27030,
- 27031,
- 27034,
- 0,
- 0,
- 27036,
- 27037,
- 0,
- 0,
- 0,
- 27038,
- 27042,
- 0,
- 0,
- 0,
- 27044,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27045,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27046,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27047,
- 27049,
- 0,
- 27050,
- 0,
- 0,
- 0,
- 27051,
- 27052,
- 0,
- 27055,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27056,
- 27058,
- 27059,
- 0,
- 27061,
- 0,
- 27064,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27069,
- 0,
- 0,
- 27070,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27072,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27076,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27078,
- 0,
- 27079,
- 0,
- 0,
- 0,
- 27081,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27082,
- 0,
- 27083,
- 27086,
- 0,
- 0,
- 0,
- 0,
- 27087,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27088,
- 27090,
- 0,
- 27094,
- 0,
- 0,
- 27095,
- 0,
- 27099,
- 27102,
- 0,
- 0,
- 0,
- 27103,
- 0,
- 0,
- 0,
- 0,
- 27105,
- 0,
- 0,
- 0,
- 27106,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27107,
- 0,
- 0,
- 0,
- 0,
- 27108,
- 27117,
- 0,
- 0,
- 0,
- 0,
- 27118,
- 0,
- 0,
- 27124,
- 0,
- 27126,
- 0,
- 0,
- 27130,
- 27131,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27147,
- 0,
- 0,
- 0,
- 0,
- 27148,
- 27149,
- 0,
- 0,
- 0,
- 0,
- 27150,
- 27151,
- 0,
- 27152,
- 0,
- 27159,
- 0,
- 0,
- 0,
- 27164,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27175,
- 0,
- 27189,
- 0,
- 0,
- 27191,
- 0,
- 27193,
- 0,
- 27195,
- 0,
- 27198,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27200,
- 0,
- 0,
- 0,
- 0,
- 27202,
- 0,
- 0,
- 0,
- 0,
- 27203,
- 0,
- 0,
- 27204,
- 0,
- 0,
- 27206,
- 0,
- 27207,
- 0,
- 0,
- 0,
- 0,
- 27209,
- 0,
- 0,
- 0,
- 27213,
- 0,
- 0,
- 27216,
- 27219,
- 27220,
- 27222,
- 27223,
- 0,
- 27224,
- 0,
- 27225,
- 27226,
- 0,
- 0,
- 27233,
- 0,
- 0,
- 0,
- 0,
- 27235,
- 0,
- 27237,
- 0,
- 27238,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27239,
- 0,
- 27242,
- 27243,
- 0,
- 27250,
- 0,
- 0,
- 0,
- 27251,
- 0,
- 27253,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27254,
- 27255,
- 27258,
- 0,
- 0,
- 0,
- 27259,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27267,
- 0,
- 27276,
- 27278,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27296,
- 27297,
- 27301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27302,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27312,
- 27313,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27318,
- 0,
- 27320,
- 0,
- 27329,
- 0,
- 27330,
- 27331,
- 0,
- 27332,
- 0,
- 0,
- 0,
- 0,
- 27340,
- 0,
- 0,
- 0,
- 27348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27350,
- 0,
- 27351,
- 0,
- 0,
- 0,
- 0,
- 27355,
- 0,
- 0,
- 27358,
- 27359,
- 27361,
- 0,
- 0,
- 0,
- 27365,
- 0,
- 27367,
- 0,
- 27376,
- 27378,
- 0,
- 0,
- 27379,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27396,
- 0,
- 27397,
- 27404,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27408,
- 0,
- 0,
- 0,
- 0,
- 27453,
- 0,
- 0,
- 0,
- 27456,
- 0,
- 0,
- 0,
- 27458,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27459,
- 0,
- 0,
- 0,
- 27460,
- 0,
- 0,
- 27461,
- 0,
- 27465,
- 27467,
- 0,
- 0,
- 27469,
- 0,
- 27470,
- 0,
- 27471,
- 0,
- 27477,
- 27482,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27485,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27493,
- 0,
- 27494,
- 27502,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27511,
- 27532,
- 0,
- 0,
- 0,
- 27533,
- 27545,
- 0,
- 0,
- 0,
- 27546,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27547,
- 0,
- 0,
- 27549,
- 27550,
- 0,
- 27551,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27555,
- 0,
- 0,
- 27571,
- 0,
- 27573,
- 27574,
- 27575,
- 27577,
- 0,
- 27578,
- 0,
- 0,
- 27579,
- 27585,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27586,
- 0,
- 0,
- 27588,
- 27589,
- 0,
- 0,
- 0,
- 0,
- 27596,
- 0,
- 0,
- 27600,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27608,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27610,
- 0,
- 0,
- 0,
- 27618,
- 0,
- 0,
- 27620,
- 0,
- 0,
- 0,
- 27631,
- 0,
- 0,
- 27632,
- 27634,
- 0,
- 27636,
- 27638,
- 0,
- 0,
- 0,
- 27643,
- 0,
- 27644,
- 27649,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27651,
- 27660,
- 0,
- 27661,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27662,
- 0,
- 0,
- 27664,
- 0,
- 27665,
- 0,
- 0,
- 0,
- 27669,
- 0,
- 27671,
- 0,
- 0,
- 0,
- 27673,
- 27674,
- 0,
- 0,
- 0,
- 27682,
- 0,
- 0,
- 0,
- 27711,
- 0,
- 27712,
- 27713,
- 27719,
- 27720,
- 0,
- 0,
- 27728,
- 0,
- 27729,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27731,
- 0,
- 0,
- 27732,
- 0,
- 27733,
- 0,
- 27738,
- 0,
- 0,
- 0,
- 27742,
- 0,
- 0,
- 0,
- 27743,
- 27744,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27745,
- 27746,
- 0,
- 0,
- 0,
- 27747,
- 27748,
- 27751,
- 27752,
- 0,
- 0,
- 0,
- 27768,
- 27770,
- 0,
- 0,
- 0,
- 27774,
- 27775,
- 0,
- 27776,
- 27777,
- 0,
- 0,
- 27781,
- 0,
- 27784,
- 0,
- 27786,
- 0,
- 0,
- 27791,
- 0,
- 27792,
- 27793,
- 27804,
- 0,
- 27812,
- 27813,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27814,
- 0,
- 27825,
- 0,
- 27827,
- 0,
- 0,
- 0,
- 0,
- 27828,
- 27861,
- 27862,
- 0,
- 0,
- 0,
- 27864,
- 0,
- 0,
- 0,
- 27865,
- 27884,
- 0,
- 27889,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27890,
- 0,
- 27891,
- 0,
- 0,
- 0,
- 27892,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27897,
- 27898,
- 0,
- 0,
- 27899,
- 0,
- 0,
- 0,
- 27901,
- 27905,
- 0,
- 0,
- 27920,
- 0,
- 0,
- 27921,
- 0,
- 27922,
- 0,
- 0,
- 0,
- 27931,
- 27934,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27941,
- 0,
- 27942,
- 0,
- 27945,
- 0,
- 27947,
- 27954,
- 0,
- 0,
- 0,
- 0,
- 27960,
- 27963,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 27964,
- 27965,
- 0,
- 0,
- 0,
- 27967,
- 0,
- 27969,
- 27975,
- 0,
- 27976,
- 27977,
- 0,
- 27981,
- 0,
- 27983,
- 28051,
- 28052,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28056,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28058,
- 28059,
- 0,
- 0,
- 28061,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28063,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28066,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28069,
- 28070,
- 28072,
- 0,
- 28073,
- 0,
- 0,
- 28074,
- 0,
- 0,
- 0,
- 0,
- 28075,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28078,
- 0,
- 0,
- 0,
- 0,
- 28085,
- 0,
- 0,
- 0,
- 0,
- 28086,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28090,
- 0,
- 28097,
- 28114,
- 28115,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28116,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28118,
- 0,
- 28129,
- 0,
- 28131,
- 0,
- 0,
- 28135,
- 0,
- 0,
- 0,
- 28140,
- 28141,
- 0,
- 0,
- 0,
- 28146,
- 0,
- 0,
- 0,
- 0,
- 28152,
- 0,
- 0,
- 0,
- 0,
- 28155,
- 28157,
- 28161,
- 0,
- 0,
- 0,
- 0,
- 28166,
- 0,
- 28167,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28172,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28173,
- 0,
- 0,
- 28175,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28178,
- 28188,
- 0,
- 28190,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28191,
- 0,
- 28193,
- 28206,
- 0,
- 0,
- 28207,
- 28209,
- 0,
- 28211,
- 0,
- 28213,
- 0,
- 0,
- 0,
- 28215,
- 28216,
- 28217,
- 0,
- 28222,
- 0,
- 28223,
- 28225,
- 0,
- 0,
- 0,
- 28226,
- 0,
- 28227,
- 28229,
- 28232,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28235,
- 0,
- 28241,
- 0,
- 0,
- 28242,
- 0,
- 0,
- 0,
- 0,
- 28243,
- 0,
- 0,
- 0,
- 28245,
- 0,
- 0,
- 0,
- 28248,
- 28250,
- 0,
- 28251,
- 28252,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28253,
- 0,
- 0,
- 28254,
- 28255,
- 0,
- 0,
- 28256,
- 0,
- 0,
- 28258,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28259,
- 0,
- 0,
- 28260,
- 0,
- 0,
- 28261,
- 0,
- 0,
- 0,
- 0,
- 28262,
- 28263,
- 0,
- 0,
- 28264,
- 0,
- 0,
- 0,
- 28266,
- 0,
- 28268,
- 28269,
- 0,
- 28270,
- 28272,
- 28274,
- 0,
- 28277,
- 28278,
- 0,
- 0,
- 0,
- 28279,
- 0,
- 28280,
- 28281,
- 28283,
- 0,
- 28292,
- 0,
- 28294,
- 0,
- 28297,
- 0,
- 0,
- 0,
- 0,
- 28299,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28300,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28301,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28302,
- 28303,
- 0,
- 0,
- 0,
- 0,
- 28304,
- 0,
- 0,
- 28305,
- 0,
- 28312,
- 0,
- 28313,
- 28314,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28315,
- 0,
- 0,
- 0,
- 28320,
- 28321,
- 0,
- 0,
- 28328,
- 0,
- 0,
- 0,
- 28329,
- 28338,
- 0,
- 28339,
- 0,
- 0,
- 28344,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28347,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28348,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28411,
- 0,
- 28412,
- 28413,
- 0,
- 28416,
- 0,
- 0,
- 0,
- 28420,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28421,
- 0,
- 0,
- 0,
- 0,
- 28423,
- 0,
- 0,
- 0,
- 28424,
- 0,
- 0,
- 28428,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28429,
- 0,
- 0,
- 0,
- 28431,
- 28434,
- 0,
- 28458,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28464,
- 0,
- 0,
- 0,
- 0,
- 28465,
- 0,
- 28467,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28471,
- 0,
- 0,
- 0,
- 0,
- 28474,
- 0,
- 28480,
- 0,
- 28481,
- 0,
- 0,
- 28485,
- 0,
- 0,
- 0,
- 0,
- 28486,
- 28488,
- 0,
- 0,
- 28489,
- 0,
- 0,
- 0,
- 0,
- 28492,
- 0,
- 0,
- 0,
- 28495,
- 0,
- 28497,
- 0,
- 28499,
- 0,
- 0,
- 0,
- 0,
- 28500,
- 0,
- 0,
- 28502,
- 28503,
- 0,
- 0,
- 0,
- 28508,
- 0,
- 0,
- 0,
- 28510,
- 0,
- 0,
- 28512,
- 28513,
- 28514,
- 28521,
- 0,
- 28526,
- 0,
- 28527,
- 28528,
- 0,
- 0,
- 0,
- 0,
- 28529,
- 0,
- 0,
- 28532,
- 0,
- 0,
- 28537,
- 28538,
- 0,
- 0,
- 0,
- 28539,
- 0,
- 28548,
- 0,
- 28553,
- 28554,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28560,
- 28563,
- 0,
- 0,
- 28564,
- 0,
- 0,
- 0,
- 0,
- 28565,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28566,
- 28568,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28569,
- 0,
- 0,
- 0,
- 28570,
- 0,
- 28572,
- 28573,
- 0,
- 0,
- 0,
- 0,
- 28575,
- 0,
- 0,
- 0,
- 0,
- 28576,
- 28581,
- 28588,
- 0,
- 0,
- 28589,
- 0,
- 0,
- 0,
- 28590,
- 28595,
- 0,
- 28598,
- 0,
- 0,
- 28601,
- 0,
- 0,
- 28605,
- 0,
- 0,
- 0,
- 0,
- 28614,
- 28615,
- 28619,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28620,
- 0,
- 28626,
- 0,
- 0,
- 28628,
- 0,
- 28631,
- 0,
- 28632,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28635,
- 0,
- 0,
- 0,
- 28637,
- 28638,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28639,
- 0,
- 28643,
- 0,
- 0,
- 28652,
- 0,
- 0,
- 0,
- 28662,
- 0,
- 28670,
- 28671,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28672,
- 28673,
- 28675,
- 28676,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28691,
- 0,
- 0,
- 0,
- 28695,
- 0,
- 0,
- 0,
- 28696,
- 0,
- 28697,
- 28698,
- 0,
- 28705,
- 0,
- 28707,
- 28708,
- 28710,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28711,
- 28728,
- 0,
- 0,
- 0,
- 28736,
- 0,
- 0,
- 0,
- 28737,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28738,
- 0,
- 28739,
- 0,
- 28741,
- 0,
- 0,
- 28742,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28745,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28749,
- 28750,
- 28752,
- 28754,
- 28756,
- 0,
- 28757,
- 0,
- 0,
- 0,
- 0,
- 28759,
- 28760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28762,
- 0,
- 0,
- 0,
- 28764,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28766,
- 0,
- 28767,
- 28768,
- 0,
- 0,
- 0,
- 0,
- 28769,
- 28770,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28771,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28772,
- 0,
- 28773,
- 0,
- 28782,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28784,
- 0,
- 28785,
- 0,
- 28786,
- 0,
- 0,
- 0,
- 28787,
- 0,
- 0,
- 0,
- 28797,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28799,
- 0,
- 0,
- 28801,
- 0,
- 0,
- 0,
- 0,
- 28802,
- 0,
- 28805,
- 0,
- 0,
- 28806,
- 0,
- 0,
- 28807,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28808,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28810,
- 28812,
- 0,
- 0,
- 28816,
- 28819,
- 0,
- 0,
- 28821,
- 0,
- 28826,
- 0,
- 0,
- 0,
- 28842,
- 28852,
- 0,
- 0,
- 28853,
- 0,
- 28854,
- 28855,
- 0,
- 0,
- 0,
- 28857,
- 0,
- 0,
- 0,
- 28858,
- 0,
- 28867,
- 28868,
- 28869,
- 0,
- 0,
- 0,
- 28874,
- 28880,
- 28882,
- 28890,
- 28892,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28895,
- 0,
- 0,
- 0,
- 28898,
- 28899,
- 0,
- 0,
- 0,
- 28900,
- 0,
- 0,
- 28904,
- 0,
- 28906,
- 0,
- 0,
- 0,
- 0,
- 28907,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28908,
- 0,
- 0,
- 0,
- 28910,
- 0,
- 28914,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28915,
- 28916,
- 28919,
- 0,
- 0,
- 28920,
- 0,
- 28921,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28924,
- 0,
- 0,
- 0,
- 0,
- 28926,
- 28929,
- 0,
- 0,
- 0,
- 28930,
- 0,
- 28936,
- 0,
- 28939,
- 0,
- 0,
- 0,
- 0,
- 28942,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28956,
- 0,
- 0,
- 0,
- 28966,
- 0,
- 0,
- 0,
- 0,
- 28967,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28968,
- 0,
- 28971,
- 0,
- 28975,
- 28976,
- 0,
- 28982,
- 28983,
- 0,
- 0,
- 28984,
- 28989,
- 28996,
- 28997,
- 28998,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 28999,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29000,
- 0,
- 29001,
- 0,
- 0,
- 0,
- 29009,
- 0,
- 0,
- 29011,
- 0,
- 0,
- 29021,
- 0,
- 0,
- 0,
- 0,
- 29024,
- 0,
- 29025,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29026,
- 0,
- 0,
- 0,
- 29036,
- 0,
- 0,
- 0,
- 29037,
- 0,
- 0,
- 0,
- 0,
- 29038,
- 0,
- 29045,
- 0,
- 29047,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29051,
- 0,
- 0,
- 0,
- 29054,
- 29056,
- 29062,
- 0,
- 29070,
- 29082,
- 0,
- 0,
- 0,
- 29083,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29084,
- 0,
- 0,
- 0,
- 0,
- 29085,
- 29088,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29090,
- 29097,
- 0,
- 0,
- 0,
- 29103,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29105,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29107,
- 0,
- 29109,
- 0,
- 0,
- 0,
- 29115,
- 0,
- 0,
- 29120,
- 0,
- 0,
- 29138,
- 29140,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29152,
- 0,
- 29160,
- 29174,
- 0,
- 29176,
- 0,
- 0,
- 29180,
- 0,
- 29181,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29228,
- 0,
- 0,
- 29229,
- 0,
- 0,
- 29230,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29234,
- 0,
- 0,
- 0,
- 29241,
- 0,
- 29245,
- 0,
- 29248,
- 0,
- 29250,
- 29256,
- 29280,
- 0,
- 29282,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29285,
- 0,
- 0,
- 29286,
- 29291,
- 29292,
- 0,
- 0,
- 0,
- 0,
- 29294,
- 0,
- 29295,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29296,
- 29297,
- 29298,
- 29300,
- 0,
- 29302,
- 0,
- 0,
- 29304,
- 29307,
- 0,
- 29312,
- 0,
- 0,
- 0,
- 29322,
- 0,
- 0,
- 29323,
- 0,
- 0,
- 29324,
- 29326,
- 29328,
- 0,
- 29335,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29338,
- 29339,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29341,
- 29343,
- 0,
- 0,
- 0,
- 0,
- 29344,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29345,
- 0,
- 0,
- 0,
- 0,
- 29346,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29347,
- 29348,
- 29349,
- 0,
- 0,
- 29354,
- 0,
- 0,
- 29355,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29357,
- 0,
- 0,
- 0,
- 0,
- 29364,
- 0,
- 29365,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29366,
- 0,
- 0,
- 29368,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29378,
- 0,
- 29381,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29386,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29389,
- 0,
- 0,
- 0,
- 29390,
- 0,
- 0,
- 29391,
- 29397,
- 0,
- 29398,
- 29412,
- 29414,
- 29418,
- 29419,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29420,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29423,
- 0,
- 0,
- 0,
- 29435,
- 0,
- 0,
- 0,
- 29437,
- 0,
- 0,
- 29439,
- 0,
- 29441,
- 0,
- 0,
- 0,
- 0,
- 29443,
- 0,
- 29446,
- 29450,
- 29452,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29456,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29461,
- 0,
- 0,
- 0,
- 29464,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29468,
- 0,
- 29473,
- 0,
- 0,
- 0,
- 29486,
- 0,
- 0,
- 0,
- 29490,
- 0,
- 0,
- 0,
- 29491,
- 29492,
- 0,
- 0,
- 29497,
- 0,
- 0,
- 0,
- 29498,
- 0,
- 29499,
- 0,
- 29502,
- 29505,
- 0,
- 29509,
- 0,
- 0,
- 0,
- 29510,
- 0,
- 0,
- 0,
- 29512,
- 0,
- 0,
- 0,
- 29516,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29518,
- 0,
- 29519,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29520,
- 29521,
- 29529,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29530,
- 0,
- 0,
- 29531,
- 29538,
- 0,
- 29540,
- 0,
- 0,
- 0,
- 29542,
- 0,
- 29543,
- 29544,
- 29547,
- 0,
- 0,
- 29548,
- 0,
- 0,
- 0,
- 29549,
- 0,
- 0,
- 0,
- 29550,
- 0,
- 0,
- 29552,
- 0,
- 0,
- 0,
- 0,
- 29558,
- 29561,
- 0,
- 29562,
- 29564,
- 0,
- 0,
- 29565,
- 0,
- 0,
- 29566,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29578,
- 29584,
- 29586,
- 29591,
- 0,
- 0,
- 0,
- 0,
- 29593,
- 29594,
- 0,
- 0,
- 29597,
- 0,
- 0,
- 29613,
- 0,
- 29614,
- 0,
- 29615,
- 0,
- 0,
- 0,
- 0,
- 29616,
- 29617,
- 0,
- 0,
- 29625,
- 0,
- 0,
- 0,
- 29632,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29633,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29634,
- 29635,
- 29637,
- 0,
- 29638,
- 0,
- 29641,
- 29643,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29644,
- 0,
- 29645,
- 0,
- 29649,
- 0,
- 0,
- 0,
- 29650,
- 0,
- 29653,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29656,
- 29659,
- 0,
- 0,
- 29660,
- 0,
- 0,
- 0,
- 29661,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29664,
- 0,
- 0,
- 0,
- 29671,
- 29673,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29675,
- 0,
- 29677,
- 29679,
- 0,
- 0,
- 29684,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29685,
- 0,
- 0,
- 0,
- 29687,
- 0,
- 0,
- 0,
- 29688,
- 0,
- 29689,
- 29690,
- 29700,
- 0,
- 29701,
- 0,
- 0,
- 0,
- 29702,
- 0,
- 29706,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29720,
- 0,
- 29721,
- 0,
- 29727,
- 0,
- 29733,
- 29734,
- 0,
- 29750,
- 29761,
- 0,
- 29763,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29764,
- 0,
- 0,
- 29765,
- 0,
- 0,
- 0,
- 29771,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29772,
- 0,
- 0,
- 0,
- 29773,
- 29774,
- 29775,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29822,
- 0,
- 0,
- 0,
- 29824,
- 0,
- 29825,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29827,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29829,
- 0,
- 29832,
- 29834,
- 0,
- 0,
- 29835,
- 0,
- 0,
- 29837,
- 29838,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29843,
- 0,
- 0,
- 0,
- 0,
- 29844,
- 29845,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29849,
- 0,
- 0,
- 29869,
- 29872,
- 29890,
- 29905,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29907,
- 29921,
- 0,
- 29922,
- 0,
- 0,
- 29923,
- 29926,
- 29944,
- 29946,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29947,
- 29948,
- 0,
- 0,
- 0,
- 29951,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29953,
- 0,
- 0,
- 29956,
- 0,
- 29957,
- 0,
- 0,
- 29962,
- 0,
- 0,
- 0,
- 0,
- 29971,
- 0,
- 0,
- 0,
- 29972,
- 0,
- 0,
- 0,
- 0,
- 0,
- 29978,
- 0,
- 29979,
- 29992,
- 30007,
- 30008,
- 30010,
- 0,
- 0,
- 0,
- 30013,
- 0,
- 0,
- 0,
- 0,
- 30014,
- 30016,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30017,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30023,
- 30031,
- 0,
- 0,
- 30033,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30034,
- 0,
- 30038,
- 0,
- 30039,
- 0,
- 30040,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30067,
- 30068,
- 0,
- 0,
- 0,
- 30069,
- 0,
- 30072,
- 0,
- 0,
- 0,
- 30073,
- 0,
- 0,
- 0,
- 0,
- 30075,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30079,
- 0,
- 0,
- 30080,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30082,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30084,
- 30090,
- 0,
- 0,
- 30091,
- 0,
- 0,
- 0,
- 0,
- 30098,
- 30118,
- 0,
- 30119,
- 0,
- 30121,
- 30130,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30131,
- 30132,
- 30133,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30135,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30136,
- 0,
- 0,
- 30137,
- 30138,
- 0,
- 0,
- 0,
- 30139,
- 30146,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30147,
- 0,
- 0,
- 30148,
- 30151,
- 0,
- 0,
- 0,
- 30168,
- 0,
- 30172,
- 30173,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30180,
- 30181,
- 0,
- 30192,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30194,
- 30196,
- 0,
- 0,
- 30199,
- 0,
- 0,
- 30202,
- 0,
- 0,
- 0,
- 0,
- 30203,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30213,
- 0,
- 0,
- 0,
- 30216,
- 0,
- 0,
- 30217,
- 0,
- 0,
- 0,
- 30218,
- 0,
- 0,
- 0,
- 0,
- 30219,
- 0,
- 30220,
- 0,
- 30222,
- 30227,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30231,
- 0,
- 0,
- 30233,
- 30235,
- 0,
- 0,
- 0,
- 0,
- 30238,
- 0,
- 30240,
- 30243,
- 30245,
- 0,
- 30250,
- 30252,
- 0,
- 0,
- 0,
- 30269,
- 0,
- 0,
- 30271,
- 30272,
- 0,
- 0,
- 0,
- 30278,
- 30280,
- 0,
- 0,
- 30282,
- 0,
- 30284,
- 0,
- 30294,
- 0,
- 0,
- 0,
- 0,
- 30295,
- 30296,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30298,
- 30299,
- 30302,
- 30304,
- 30306,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30316,
- 30317,
- 0,
- 0,
- 0,
- 30318,
- 0,
- 0,
- 0,
- 30319,
- 0,
- 30320,
- 30322,
- 30326,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30327,
- 0,
- 30332,
- 30348,
- 30349,
- 0,
- 0,
- 30356,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30357,
- 0,
- 30358,
- 0,
- 30359,
- 30360,
- 0,
- 0,
- 30365,
- 30366,
- 30378,
- 0,
- 0,
- 0,
- 0,
- 30379,
- 0,
- 0,
- 30381,
- 0,
- 30385,
- 0,
- 30388,
- 30397,
- 0,
- 0,
- 0,
- 30401,
- 0,
- 0,
- 0,
- 0,
- 30403,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30404,
- 0,
- 0,
- 30405,
- 0,
- 30406,
- 30408,
- 0,
- 30409,
- 0,
- 30410,
- 0,
- 0,
- 0,
- 30417,
- 0,
- 0,
- 30418,
- 30419,
- 0,
- 30420,
- 0,
- 30424,
- 0,
- 0,
- 0,
- 30427,
- 30430,
- 30432,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30433,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30436,
- 0,
- 30437,
- 30438,
- 0,
- 30441,
- 30442,
- 0,
- 0,
- 0,
- 30445,
- 0,
- 0,
- 0,
- 0,
- 30452,
- 30456,
- 30457,
- 0,
- 0,
- 0,
- 30458,
- 0,
- 30464,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30467,
- 0,
- 30469,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30477,
- 0,
- 0,
- 30484,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30485,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30486,
- 30487,
- 30497,
- 30498,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30505,
- 0,
- 30508,
- 0,
- 0,
- 0,
- 30509,
- 30510,
- 0,
- 30514,
- 30516,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30523,
- 0,
- 30524,
- 0,
- 30525,
- 0,
- 0,
- 0,
- 0,
- 30537,
- 0,
- 0,
- 30538,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30553,
- 0,
- 0,
- 30555,
- 30556,
- 30558,
- 30559,
- 30560,
- 0,
- 0,
- 30561,
- 0,
- 30562,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30563,
- 30570,
- 30571,
- 0,
- 30586,
- 30587,
- 0,
- 0,
- 30590,
- 0,
- 0,
- 30594,
- 0,
- 0,
- 0,
- 0,
- 30611,
- 30612,
- 30623,
- 30634,
- 0,
- 0,
- 30636,
- 30640,
- 30655,
- 30656,
- 0,
- 30657,
- 0,
- 0,
- 30658,
- 30669,
- 0,
- 30670,
- 0,
- 30676,
- 30678,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30679,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30695,
- 0,
- 0,
- 30698,
- 0,
- 0,
- 0,
- 0,
- 30700,
- 0,
- 0,
- 0,
- 0,
- 30701,
- 0,
- 30702,
- 30703,
- 0,
- 0,
- 0,
- 0,
- 30707,
- 0,
- 0,
- 0,
- 30709,
- 0,
- 0,
- 30710,
- 30719,
- 30729,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30731,
- 0,
- 0,
- 30733,
- 0,
- 0,
- 0,
- 30734,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30736,
- 30737,
- 0,
- 0,
- 0,
- 30740,
- 0,
- 0,
- 0,
- 30743,
- 0,
- 30746,
- 0,
- 30747,
- 30748,
- 0,
- 0,
- 30751,
- 30752,
- 30753,
- 0,
- 0,
- 0,
- 30754,
- 0,
- 0,
- 30760,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30763,
- 0,
- 30764,
- 0,
- 0,
- 30766,
- 0,
- 30769,
- 30770,
- 30771,
- 30774,
- 30777,
- 0,
- 0,
- 30779,
- 30780,
- 30781,
- 0,
- 0,
- 0,
- 0,
- 30790,
- 0,
- 0,
- 0,
- 30792,
- 0,
- 0,
- 0,
- 0,
- 30810,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30812,
- 30819,
- 0,
- 0,
- 30823,
- 30824,
- 0,
- 30825,
- 0,
- 30827,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30828,
- 0,
- 0,
- 30830,
- 0,
- 0,
- 0,
- 30834,
- 0,
- 30835,
- 0,
- 30837,
- 30838,
- 0,
- 30845,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30846,
- 30847,
- 0,
- 0,
- 30849,
- 0,
- 30851,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30852,
- 30858,
- 0,
- 0,
- 30859,
- 0,
- 30865,
- 0,
- 0,
- 30866,
- 0,
- 0,
- 30868,
- 0,
- 0,
- 30869,
- 0,
- 0,
- 0,
- 30881,
- 30883,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30889,
- 0,
- 30891,
- 0,
- 0,
- 0,
- 0,
- 30894,
- 0,
- 30895,
- 0,
- 30897,
- 0,
- 30898,
- 0,
- 0,
- 0,
- 30904,
- 30906,
- 0,
- 30909,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30910,
- 0,
- 0,
- 0,
- 30915,
- 30933,
- 30942,
- 0,
- 0,
- 0,
- 0,
- 30943,
- 0,
- 0,
- 30945,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30946,
- 0,
- 0,
- 30947,
- 0,
- 0,
- 30955,
- 30956,
- 0,
- 0,
- 30960,
- 0,
- 0,
- 30961,
- 30962,
- 30966,
- 0,
- 0,
- 30969,
- 30974,
- 0,
- 0,
- 0,
- 30976,
- 0,
- 0,
- 30977,
- 0,
- 30978,
- 30982,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 30994,
- 30995,
- 30998,
- 0,
- 31000,
- 0,
- 0,
- 31001,
- 0,
- 0,
- 31003,
- 31005,
- 0,
- 0,
- 31006,
- 31011,
- 0,
- 0,
- 31014,
- 0,
- 31016,
- 0,
- 0,
- 0,
- 0,
- 31018,
- 0,
- 0,
- 31020,
- 31023,
- 31024,
- 31025,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31027,
- 31028,
- 31029,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31032,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31036,
- 31037,
- 31038,
- 0,
- 0,
- 0,
- 31041,
- 31043,
- 31045,
- 0,
- 31047,
- 0,
- 0,
- 0,
- 31048,
- 0,
- 31049,
- 0,
- 0,
- 0,
- 31053,
- 31054,
- 31055,
- 0,
- 0,
- 31063,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31066,
- 0,
- 31068,
- 31071,
- 0,
- 0,
- 0,
- 31072,
- 31073,
- 0,
- 0,
- 0,
- 0,
- 31075,
- 0,
- 0,
- 31076,
- 0,
- 0,
- 0,
- 31077,
- 31079,
- 0,
- 31080,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31087,
- 0,
- 31142,
- 0,
- 31144,
- 0,
- 0,
- 31145,
- 31146,
- 31147,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31149,
- 0,
- 31151,
- 31152,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31162,
- 31171,
- 31174,
- 31175,
- 0,
- 0,
- 0,
- 31176,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31179,
- 0,
- 0,
- 0,
- 31186,
- 0,
- 0,
- 0,
- 31192,
- 31195,
- 0,
- 0,
- 31196,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31198,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31199,
- 0,
- 0,
- 0,
- 31205,
- 0,
- 0,
- 0,
- 0,
- 31211,
- 31215,
- 0,
- 0,
- 0,
- 0,
- 31231,
- 0,
- 31232,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31233,
- 31236,
- 31253,
- 0,
- 31254,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31255,
- 0,
- 0,
- 31257,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31258,
- 31259,
- 0,
- 0,
- 31260,
- 0,
- 31261,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31262,
- 31263,
- 0,
- 0,
- 31264,
- 0,
- 31266,
- 0,
- 31267,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31281,
- 0,
- 31282,
- 0,
- 31284,
- 0,
- 0,
- 31285,
- 31287,
- 31288,
- 0,
- 0,
- 31290,
- 0,
- 0,
- 0,
- 31292,
- 31295,
- 0,
- 31299,
- 0,
- 31300,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31302,
- 0,
- 0,
- 0,
- 0,
- 31303,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31304,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31305,
- 31308,
- 31309,
- 31315,
- 0,
- 31317,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31323,
- 0,
- 31324,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31325,
- 31327,
- 0,
- 0,
- 31331,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31333,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31336,
- 0,
- 0,
- 31337,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31338,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31339,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31342,
- 0,
- 0,
- 0,
- 0,
- 31345,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31347,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31348,
- 0,
- 0,
- 31350,
- 31351,
- 0,
- 31352,
- 0,
- 0,
- 31354,
- 0,
- 0,
- 0,
- 0,
- 31355,
- 0,
- 0,
- 31356,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31363,
- 0,
- 31372,
- 0,
- 0,
- 31373,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31376,
- 0,
- 31388,
- 0,
- 31389,
- 0,
- 31392,
- 0,
- 31401,
- 0,
- 31405,
- 31407,
- 31408,
- 0,
- 31409,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31413,
- 31415,
- 0,
- 0,
- 0,
- 31416,
- 31418,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31422,
- 31423,
- 0,
- 0,
- 31424,
- 0,
- 31425,
- 31432,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31433,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31434,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31435,
- 0,
- 0,
- 0,
- 0,
- 31438,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31442,
- 0,
- 31444,
- 0,
- 31448,
- 0,
- 0,
- 31451,
- 0,
- 0,
- 0,
- 0,
- 31452,
- 0,
- 31461,
- 31465,
- 0,
- 0,
- 31466,
- 0,
- 0,
- 31467,
- 0,
- 0,
- 31468,
- 0,
- 0,
- 0,
- 31469,
- 31473,
- 0,
- 31476,
- 0,
- 0,
- 0,
- 0,
- 31489,
- 31490,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31492,
- 31493,
- 31494,
- 0,
- 0,
- 0,
- 0,
- 31501,
- 31504,
- 31505,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31509,
- 0,
- 0,
- 0,
- 0,
- 31510,
- 0,
- 0,
- 31511,
- 0,
- 0,
- 31513,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31514,
- 0,
- 31522,
- 31536,
- 31539,
- 31540,
- 0,
- 31541,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31546,
- 31553,
- 31559,
- 0,
- 0,
- 0,
- 31560,
- 31561,
- 31562,
- 0,
- 0,
- 31564,
- 31567,
- 0,
- 31569,
- 0,
- 0,
- 0,
- 31570,
- 0,
- 0,
- 0,
- 0,
- 31571,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31572,
- 31574,
- 31580,
- 31581,
- 0,
- 0,
- 31582,
- 31584,
- 31585,
- 31586,
- 31595,
- 0,
- 31596,
- 0,
- 0,
- 0,
- 0,
- 31597,
- 0,
- 31599,
- 0,
- 31600,
- 31601,
- 0,
- 0,
- 31603,
- 31604,
- 0,
- 0,
- 31608,
- 31610,
- 0,
- 0,
- 0,
- 31611,
- 0,
- 31615,
- 0,
- 0,
- 0,
- 0,
- 31616,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31617,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31618,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31621,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31622,
- 31625,
- 0,
- 0,
- 0,
- 0,
- 31627,
- 0,
- 31641,
- 0,
- 0,
- 31642,
- 0,
- 0,
- 31643,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31644,
- 0,
- 31646,
- 0,
- 0,
- 0,
- 0,
- 31648,
- 0,
- 0,
- 0,
- 31652,
- 0,
- 0,
- 0,
- 31657,
- 0,
- 0,
- 31676,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 31689,
- 31691,
- 31692,
- 0,
- 31694,
- 0,
- 0,
- 0,
- 31696,
- 0,
- 31702,
- 0,
- 31703,
- 0,
-}
-
-var kStaticDictionaryWords = [31705]dictWord{
- dictWord{0, 0, 0},
- dictWord{8, 0, 1002},
- dictWord{136, 0, 1015},
- dictWord{4, 0, 683},
- dictWord{4, 10, 325},
- dictWord{138, 10, 125},
- dictWord{7, 11, 572},
- dictWord{
- 9,
- 11,
- 592,
- },
- dictWord{11, 11, 680},
- dictWord{11, 11, 842},
- dictWord{11, 11, 924},
- dictWord{12, 11, 356},
- dictWord{12, 11, 550},
- dictWord{13, 11, 317},
- dictWord{13, 11, 370},
- dictWord{13, 11, 469},
- dictWord{13, 11, 471},
- dictWord{14, 11, 397},
- dictWord{18, 11, 69},
- dictWord{146, 11, 145},
- dictWord{
- 134,
- 0,
- 1265,
- },
- dictWord{136, 11, 534},
- dictWord{134, 0, 1431},
- dictWord{11, 0, 138},
- dictWord{140, 0, 40},
- dictWord{4, 0, 155},
- dictWord{7, 0, 1689},
- dictWord{
- 4,
- 10,
- 718,
- },
- dictWord{135, 10, 1216},
- dictWord{4, 0, 245},
- dictWord{5, 0, 151},
- dictWord{5, 0, 741},
- dictWord{6, 0, 1147},
- dictWord{7, 0, 498},
- dictWord{7, 0, 870},
- dictWord{7, 0, 1542},
- dictWord{12, 0, 213},
- dictWord{14, 0, 36},
- dictWord{14, 0, 391},
- dictWord{17, 0, 111},
- dictWord{18, 0, 6},
- dictWord{18, 0, 46},
- dictWord{
- 18,
- 0,
- 151,
- },
- dictWord{19, 0, 36},
- dictWord{20, 0, 32},
- dictWord{20, 0, 56},
- dictWord{20, 0, 69},
- dictWord{20, 0, 102},
- dictWord{21, 0, 4},
- dictWord{22, 0, 8},
- dictWord{
- 22,
- 0,
- 10,
- },
- dictWord{22, 0, 14},
- dictWord{150, 0, 31},
- dictWord{4, 0, 624},
- dictWord{135, 0, 1752},
- dictWord{5, 10, 124},
- dictWord{5, 10, 144},
- dictWord{6, 10, 548},
- dictWord{7, 10, 15},
- dictWord{7, 10, 153},
- dictWord{137, 10, 629},
- dictWord{6, 0, 503},
- dictWord{9, 0, 586},
- dictWord{13, 0, 468},
- dictWord{14, 0, 66},
- dictWord{
- 16,
- 0,
- 58,
- },
- dictWord{7, 10, 1531},
- dictWord{8, 10, 416},
- dictWord{9, 10, 275},
- dictWord{10, 10, 100},
- dictWord{11, 10, 658},
- dictWord{11, 10, 979},
- dictWord{
- 12,
- 10,
- 86,
- },
- dictWord{14, 10, 207},
- dictWord{15, 10, 20},
- dictWord{143, 10, 25},
- dictWord{5, 0, 603},
- dictWord{7, 0, 1212},
- dictWord{9, 0, 565},
- dictWord{
- 14,
- 0,
- 301,
- },
- dictWord{5, 10, 915},
- dictWord{6, 10, 1783},
- dictWord{7, 10, 211},
- dictWord{7, 10, 1353},
- dictWord{9, 10, 83},
- dictWord{10, 10, 376},
- dictWord{
- 10,
- 10,
- 431,
- },
- dictWord{11, 10, 543},
- dictWord{12, 10, 664},
- dictWord{13, 10, 280},
- dictWord{13, 10, 428},
- dictWord{14, 10, 128},
- dictWord{17, 10, 52},
- dictWord{
- 145,
- 10,
- 81,
- },
- dictWord{4, 0, 492},
- dictWord{133, 0, 451},
- dictWord{135, 0, 835},
- dictWord{141, 0, 70},
- dictWord{132, 0, 539},
- dictWord{7, 11, 748},
- dictWord{
- 139,
- 11,
- 700,
- },
- dictWord{7, 11, 1517},
- dictWord{11, 11, 597},
- dictWord{14, 11, 76},
- dictWord{14, 11, 335},
- dictWord{148, 11, 33},
- dictWord{6, 0, 113},
- dictWord{135, 0, 436},
- dictWord{4, 10, 338},
- dictWord{133, 10, 400},
- dictWord{136, 0, 718},
- dictWord{133, 11, 127},
- dictWord{133, 11, 418},
- dictWord{
- 6,
- 0,
- 1505,
- },
- dictWord{7, 0, 520},
- dictWord{6, 11, 198},
- dictWord{11, 10, 892},
- dictWord{140, 11, 83},
- dictWord{4, 10, 221},
- dictWord{5, 10, 659},
- dictWord{
- 5,
- 10,
- 989,
- },
- dictWord{7, 10, 697},
- dictWord{7, 10, 1211},
- dictWord{138, 10, 284},
- dictWord{135, 0, 1070},
- dictWord{5, 11, 276},
- dictWord{6, 11, 55},
- dictWord{
- 135,
- 11,
- 1369,
- },
- dictWord{134, 0, 1515},
- dictWord{6, 11, 1752},
- dictWord{136, 11, 726},
- dictWord{138, 10, 507},
- dictWord{15, 0, 78},
- dictWord{4, 10, 188},
- dictWord{135, 10, 805},
- dictWord{5, 10, 884},
- dictWord{139, 10, 991},
- dictWord{133, 11, 764},
- dictWord{134, 10, 1653},
- dictWord{6, 11, 309},
- dictWord{
- 7,
- 11,
- 331,
- },
- dictWord{138, 11, 550},
- dictWord{135, 11, 1861},
- dictWord{132, 11, 348},
- dictWord{135, 11, 986},
- dictWord{135, 11, 1573},
- dictWord{
- 12,
- 0,
- 610,
- },
- dictWord{13, 0, 431},
- dictWord{144, 0, 59},
- dictWord{9, 11, 799},
- dictWord{140, 10, 166},
- dictWord{134, 0, 1530},
- dictWord{132, 0, 750},
- dictWord{132, 0, 307},
- dictWord{133, 0, 964},
- dictWord{6, 11, 194},
- dictWord{7, 11, 133},
- dictWord{10, 11, 493},
- dictWord{10, 11, 570},
- dictWord{139, 11, 664},
- dictWord{5, 11, 24},
- dictWord{5, 11, 569},
- dictWord{6, 11, 3},
- dictWord{6, 11, 119},
- dictWord{6, 11, 143},
- dictWord{6, 11, 440},
- dictWord{7, 11, 295},
- dictWord{
- 7,
- 11,
- 599,
- },
- dictWord{7, 11, 1686},
- dictWord{7, 11, 1854},
- dictWord{8, 11, 424},
- dictWord{9, 11, 43},
- dictWord{9, 11, 584},
- dictWord{9, 11, 760},
- dictWord{
- 10,
- 11,
- 148,
- },
- dictWord{10, 11, 328},
- dictWord{11, 11, 159},
- dictWord{11, 11, 253},
- dictWord{11, 11, 506},
- dictWord{12, 11, 487},
- dictWord{12, 11, 531},
- dictWord{144, 11, 33},
- dictWord{136, 10, 760},
- dictWord{5, 11, 14},
- dictWord{5, 11, 892},
- dictWord{6, 11, 283},
- dictWord{7, 11, 234},
- dictWord{136, 11, 537},
- dictWord{135, 11, 1251},
- dictWord{4, 11, 126},
- dictWord{8, 11, 635},
- dictWord{147, 11, 34},
- dictWord{4, 11, 316},
- dictWord{135, 11, 1561},
- dictWord{
- 6,
- 0,
- 999,
- },
- dictWord{6, 0, 1310},
- dictWord{137, 11, 861},
- dictWord{4, 11, 64},
- dictWord{5, 11, 352},
- dictWord{5, 11, 720},
- dictWord{6, 11, 368},
- dictWord{
- 139,
- 11,
- 359,
- },
- dictWord{4, 0, 75},
- dictWord{5, 0, 180},
- dictWord{6, 0, 500},
- dictWord{7, 0, 58},
- dictWord{7, 0, 710},
- dictWord{10, 0, 645},
- dictWord{136, 10, 770},
- dictWord{133, 0, 649},
- dictWord{6, 0, 276},
- dictWord{7, 0, 282},
- dictWord{7, 0, 879},
- dictWord{7, 0, 924},
- dictWord{8, 0, 459},
- dictWord{9, 0, 599},
- dictWord{9, 0, 754},
- dictWord{11, 0, 574},
- dictWord{12, 0, 128},
- dictWord{12, 0, 494},
- dictWord{13, 0, 52},
- dictWord{13, 0, 301},
- dictWord{15, 0, 30},
- dictWord{143, 0, 132},
- dictWord{132, 0, 200},
- dictWord{4, 10, 89},
- dictWord{5, 10, 489},
- dictWord{6, 10, 315},
- dictWord{7, 10, 553},
- dictWord{7, 10, 1745},
- dictWord{138, 10, 243},
- dictWord{135, 11, 1050},
- dictWord{7, 0, 1621},
- dictWord{6, 10, 1658},
- dictWord{9, 10, 3},
- dictWord{10, 10, 154},
- dictWord{11, 10, 641},
- dictWord{13, 10, 85},
- dictWord{13, 10, 201},
- dictWord{141, 10, 346},
- dictWord{6, 11, 175},
- dictWord{137, 11, 289},
- dictWord{5, 11, 432},
- dictWord{133, 11, 913},
- dictWord{
- 6,
- 0,
- 225,
- },
- dictWord{137, 0, 211},
- dictWord{7, 0, 718},
- dictWord{8, 0, 687},
- dictWord{139, 0, 374},
- dictWord{4, 10, 166},
- dictWord{133, 10, 505},
- dictWord{
- 9,
- 0,
- 110,
- },
- dictWord{134, 10, 1670},
- dictWord{8, 0, 58},
- dictWord{9, 0, 724},
- dictWord{11, 0, 809},
- dictWord{13, 0, 113},
- dictWord{145, 0, 72},
- dictWord{6, 0, 345},
- dictWord{7, 0, 1247},
- dictWord{144, 11, 82},
- dictWord{5, 11, 931},
- dictWord{134, 11, 1698},
- dictWord{8, 0, 767},
- dictWord{8, 0, 803},
- dictWord{9, 0, 301},
- dictWord{137, 0, 903},
- dictWord{139, 0, 203},
- dictWord{134, 0, 1154},
- dictWord{7, 0, 1949},
- dictWord{136, 0, 674},
- dictWord{134, 0, 259},
- dictWord{
- 135,
- 0,
- 1275,
- },
- dictWord{5, 11, 774},
- dictWord{6, 11, 1637},
- dictWord{6, 11, 1686},
- dictWord{134, 11, 1751},
- dictWord{134, 0, 1231},
- dictWord{7, 10, 445},
- dictWord{8, 10, 307},
- dictWord{8, 10, 704},
- dictWord{10, 10, 41},
- dictWord{10, 10, 439},
- dictWord{11, 10, 237},
- dictWord{11, 10, 622},
- dictWord{140, 10, 201},
- dictWord{136, 0, 254},
- dictWord{6, 11, 260},
- dictWord{135, 11, 1484},
- dictWord{139, 0, 277},
- dictWord{135, 10, 1977},
- dictWord{4, 10, 189},
- dictWord{
- 5,
- 10,
- 713,
- },
- dictWord{6, 11, 573},
- dictWord{136, 10, 57},
- dictWord{138, 10, 371},
- dictWord{132, 10, 552},
- dictWord{134, 11, 344},
- dictWord{133, 0, 248},
- dictWord{9, 0, 800},
- dictWord{10, 0, 693},
- dictWord{11, 0, 482},
- dictWord{11, 0, 734},
- dictWord{11, 0, 789},
- dictWord{134, 11, 240},
- dictWord{4, 0, 116},
- dictWord{
- 5,
- 0,
- 95,
- },
- dictWord{5, 0, 445},
- dictWord{7, 0, 1688},
- dictWord{8, 0, 29},
- dictWord{9, 0, 272},
- dictWord{11, 0, 509},
- dictWord{11, 0, 915},
- dictWord{4, 11, 292},
- dictWord{4, 11, 736},
- dictWord{5, 11, 871},
- dictWord{6, 11, 171},
- dictWord{6, 11, 1689},
- dictWord{7, 11, 1324},
- dictWord{7, 11, 1944},
- dictWord{9, 11, 415},
- dictWord{9, 11, 580},
- dictWord{14, 11, 230},
- dictWord{146, 11, 68},
- dictWord{7, 0, 490},
- dictWord{13, 0, 100},
- dictWord{143, 0, 75},
- dictWord{135, 0, 1641},
- dictWord{133, 0, 543},
- dictWord{7, 11, 209},
- dictWord{8, 11, 661},
- dictWord{10, 11, 42},
- dictWord{11, 11, 58},
- dictWord{12, 11, 58},
- dictWord{12, 11, 118},
- dictWord{141, 11, 32},
- dictWord{5, 0, 181},
- dictWord{8, 0, 41},
- dictWord{6, 11, 63},
- dictWord{135, 11, 920},
- dictWord{133, 0, 657},
- dictWord{133, 11, 793},
- dictWord{138, 0, 709},
- dictWord{7, 0, 25},
- dictWord{8, 0, 202},
- dictWord{138, 0, 536},
- dictWord{5, 11, 665},
- dictWord{135, 10, 1788},
- dictWord{145, 10, 49},
- dictWord{9, 0, 423},
- dictWord{140, 0, 89},
- dictWord{5, 11, 67},
- dictWord{6, 11, 62},
- dictWord{6, 11, 374},
- dictWord{135, 11, 1391},
- dictWord{8, 0, 113},
- dictWord{
- 9,
- 0,
- 877,
- },
- dictWord{10, 0, 554},
- dictWord{11, 0, 83},
- dictWord{12, 0, 136},
- dictWord{19, 0, 109},
- dictWord{9, 11, 790},
- dictWord{140, 11, 47},
- dictWord{
- 138,
- 10,
- 661,
- },
- dictWord{4, 0, 963},
- dictWord{10, 0, 927},
- dictWord{14, 0, 442},
- dictWord{135, 10, 1945},
- dictWord{133, 0, 976},
- dictWord{132, 0, 206},
- dictWord{
- 4,
- 11,
- 391,
- },
- dictWord{135, 11, 1169},
- dictWord{134, 0, 2002},
- dictWord{6, 0, 696},
- dictWord{134, 0, 1008},
- dictWord{134, 0, 1170},
- dictWord{132, 11, 271},
- dictWord{7, 0, 13},
- dictWord{8, 0, 226},
- dictWord{10, 0, 537},
- dictWord{11, 0, 570},
- dictWord{11, 0, 605},
- dictWord{11, 0, 799},
- dictWord{11, 0, 804},
- dictWord{
- 12,
- 0,
- 85,
- },
- dictWord{12, 0, 516},
- dictWord{12, 0, 623},
- dictWord{13, 0, 112},
- dictWord{13, 0, 361},
- dictWord{14, 0, 77},
- dictWord{14, 0, 78},
- dictWord{17, 0, 28},
- dictWord{19, 0, 110},
- dictWord{140, 11, 314},
- dictWord{132, 0, 769},
- dictWord{134, 0, 1544},
- dictWord{4, 0, 551},
- dictWord{137, 0, 678},
- dictWord{5, 10, 84},
- dictWord{134, 10, 163},
- dictWord{9, 0, 57},
- dictWord{9, 0, 459},
- dictWord{10, 0, 425},
- dictWord{11, 0, 119},
- dictWord{12, 0, 184},
- dictWord{12, 0, 371},
- dictWord{
- 13,
- 0,
- 358,
- },
- dictWord{145, 0, 51},
- dictWord{5, 0, 188},
- dictWord{5, 0, 814},
- dictWord{8, 0, 10},
- dictWord{9, 0, 421},
- dictWord{9, 0, 729},
- dictWord{10, 0, 609},
- dictWord{11, 0, 689},
- dictWord{4, 11, 253},
- dictWord{5, 10, 410},
- dictWord{5, 11, 544},
- dictWord{7, 11, 300},
- dictWord{137, 11, 340},
- dictWord{134, 0, 624},
- dictWord{138, 11, 321},
- dictWord{135, 0, 1941},
- dictWord{18, 0, 130},
- dictWord{5, 10, 322},
- dictWord{8, 10, 186},
- dictWord{9, 10, 262},
- dictWord{10, 10, 187},
- dictWord{142, 10, 208},
- dictWord{5, 11, 53},
- dictWord{5, 11, 541},
- dictWord{6, 11, 94},
- dictWord{6, 11, 499},
- dictWord{7, 11, 230},
- dictWord{139, 11, 321},
- dictWord{133, 10, 227},
- dictWord{4, 0, 378},
- dictWord{4, 11, 920},
- dictWord{5, 11, 25},
- dictWord{5, 11, 790},
- dictWord{6, 11, 457},
- dictWord{135, 11, 853},
- dictWord{137, 0, 269},
- dictWord{132, 0, 528},
- dictWord{134, 0, 1146},
- dictWord{7, 10, 1395},
- dictWord{8, 10, 486},
- dictWord{9, 10, 236},
- dictWord{9, 10, 878},
- dictWord{10, 10, 218},
- dictWord{11, 10, 95},
- dictWord{19, 10, 17},
- dictWord{147, 10, 31},
- dictWord{7, 10, 2043},
- dictWord{8, 10, 672},
- dictWord{
- 141,
- 10,
- 448,
- },
- dictWord{134, 0, 1105},
- dictWord{134, 0, 1616},
- dictWord{134, 11, 1765},
- dictWord{140, 11, 163},
- dictWord{5, 10, 412},
- dictWord{133, 11, 822},
- dictWord{132, 11, 634},
- dictWord{6, 0, 656},
- dictWord{134, 11, 1730},
- dictWord{134, 0, 1940},
- dictWord{5, 0, 104},
- dictWord{6, 0, 173},
- dictWord{
- 135,
- 0,
- 1631,
- },
- dictWord{136, 10, 562},
- dictWord{6, 11, 36},
- dictWord{7, 11, 658},
- dictWord{8, 11, 454},
- dictWord{147, 11, 86},
- dictWord{5, 0, 457},
- dictWord{
- 134,
- 10,
- 1771,
- },
- dictWord{7, 0, 810},
- dictWord{8, 0, 138},
- dictWord{8, 0, 342},
- dictWord{9, 0, 84},
- dictWord{10, 0, 193},
- dictWord{11, 0, 883},
- dictWord{140, 0, 359},
- dictWord{9, 0, 620},
- dictWord{135, 10, 1190},
- dictWord{137, 10, 132},
- dictWord{7, 11, 975},
- dictWord{137, 11, 789},
- dictWord{6, 0, 95},
- dictWord{6, 0, 1934},
- dictWord{136, 0, 967},
- dictWord{141, 11, 335},
- dictWord{6, 0, 406},
- dictWord{10, 0, 409},
- dictWord{10, 0, 447},
- dictWord{11, 0, 44},
- dictWord{140, 0, 100},
- dictWord{4, 10, 317},
- dictWord{135, 10, 1279},
- dictWord{132, 0, 477},
- dictWord{134, 0, 1268},
- dictWord{6, 0, 1941},
- dictWord{8, 0, 944},
- dictWord{5, 10, 63},
- dictWord{133, 10, 509},
- dictWord{132, 0, 629},
- dictWord{132, 11, 104},
- dictWord{4, 0, 246},
- dictWord{133, 0, 375},
- dictWord{6, 0, 1636},
- dictWord{
- 132,
- 10,
- 288,
- },
- dictWord{135, 11, 1614},
- dictWord{9, 0, 49},
- dictWord{10, 0, 774},
- dictWord{8, 10, 89},
- dictWord{8, 10, 620},
- dictWord{11, 10, 628},
- dictWord{
- 12,
- 10,
- 322,
- },
- dictWord{143, 10, 124},
- dictWord{4, 0, 282},
- dictWord{7, 0, 1034},
- dictWord{11, 0, 398},
- dictWord{11, 0, 634},
- dictWord{12, 0, 1},
- dictWord{12, 0, 79},
- dictWord{12, 0, 544},
- dictWord{14, 0, 237},
- dictWord{17, 0, 10},
- dictWord{146, 0, 20},
- dictWord{132, 0, 824},
- dictWord{7, 11, 45},
- dictWord{9, 11, 542},
- dictWord{
- 9,
- 11,
- 566,
- },
- dictWord{138, 11, 728},
- dictWord{5, 0, 118},
- dictWord{5, 0, 499},
- dictWord{6, 0, 476},
- dictWord{6, 0, 665},
- dictWord{6, 0, 1176},
- dictWord{
- 6,
- 0,
- 1196,
- },
- dictWord{7, 0, 600},
- dictWord{7, 0, 888},
- dictWord{135, 0, 1096},
- dictWord{7, 0, 296},
- dictWord{7, 0, 596},
- dictWord{8, 0, 560},
- dictWord{8, 0, 586},
- dictWord{9, 0, 612},
- dictWord{11, 0, 304},
- dictWord{12, 0, 46},
- dictWord{13, 0, 89},
- dictWord{14, 0, 112},
- dictWord{145, 0, 122},
- dictWord{5, 0, 894},
- dictWord{
- 6,
- 0,
- 1772,
- },
- dictWord{9, 0, 1009},
- dictWord{138, 10, 120},
- dictWord{5, 11, 533},
- dictWord{7, 11, 755},
- dictWord{138, 11, 780},
- dictWord{151, 10, 1},
- dictWord{
- 6,
- 0,
- 1474,
- },
- dictWord{7, 11, 87},
- dictWord{142, 11, 288},
- dictWord{139, 0, 366},
- dictWord{137, 10, 461},
- dictWord{7, 11, 988},
- dictWord{7, 11, 1939},
- dictWord{
- 9,
- 11,
- 64,
- },
- dictWord{9, 11, 502},
- dictWord{12, 11, 7},
- dictWord{12, 11, 34},
- dictWord{13, 11, 12},
- dictWord{13, 11, 234},
- dictWord{147, 11, 77},
- dictWord{
- 7,
- 0,
- 1599,
- },
- dictWord{7, 0, 1723},
- dictWord{8, 0, 79},
- dictWord{8, 0, 106},
- dictWord{8, 0, 190},
- dictWord{8, 0, 302},
- dictWord{8, 0, 383},
- dictWord{8, 0, 713},
- dictWord{
- 9,
- 0,
- 119,
- },
- dictWord{9, 0, 233},
- dictWord{9, 0, 419},
- dictWord{9, 0, 471},
- dictWord{10, 0, 181},
- dictWord{10, 0, 406},
- dictWord{11, 0, 57},
- dictWord{11, 0, 85},
- dictWord{11, 0, 120},
- dictWord{11, 0, 177},
- dictWord{11, 0, 296},
- dictWord{11, 0, 382},
- dictWord{11, 0, 454},
- dictWord{11, 0, 758},
- dictWord{11, 0, 999},
- dictWord{
- 12,
- 0,
- 27,
- },
- dictWord{12, 0, 98},
- dictWord{12, 0, 131},
- dictWord{12, 0, 245},
- dictWord{12, 0, 312},
- dictWord{12, 0, 446},
- dictWord{12, 0, 454},
- dictWord{13, 0, 25},
- dictWord{13, 0, 98},
- dictWord{13, 0, 426},
- dictWord{13, 0, 508},
- dictWord{14, 0, 70},
- dictWord{14, 0, 163},
- dictWord{14, 0, 272},
- dictWord{14, 0, 277},
- dictWord{
- 14,
- 0,
- 370,
- },
- dictWord{15, 0, 95},
- dictWord{15, 0, 138},
- dictWord{15, 0, 167},
- dictWord{17, 0, 38},
- dictWord{148, 0, 96},
- dictWord{135, 10, 1346},
- dictWord{
- 10,
- 0,
- 200,
- },
- dictWord{19, 0, 2},
- dictWord{151, 0, 22},
- dictWord{135, 11, 141},
- dictWord{134, 10, 85},
- dictWord{134, 0, 1759},
- dictWord{138, 0, 372},
- dictWord{
- 145,
- 0,
- 16,
- },
- dictWord{8, 0, 943},
- dictWord{132, 11, 619},
- dictWord{139, 11, 88},
- dictWord{5, 11, 246},
- dictWord{8, 11, 189},
- dictWord{9, 11, 355},
- dictWord{
- 9,
- 11,
- 512,
- },
- dictWord{10, 11, 124},
- dictWord{10, 11, 453},
- dictWord{11, 11, 143},
- dictWord{11, 11, 416},
- dictWord{11, 11, 859},
- dictWord{141, 11, 341},
- dictWord{
- 5,
- 0,
- 258,
- },
- dictWord{134, 0, 719},
- dictWord{6, 0, 1798},
- dictWord{6, 0, 1839},
- dictWord{8, 0, 900},
- dictWord{10, 0, 874},
- dictWord{10, 0, 886},
- dictWord{
- 12,
- 0,
- 698,
- },
- dictWord{12, 0, 732},
- dictWord{12, 0, 770},
- dictWord{16, 0, 106},
- dictWord{18, 0, 163},
- dictWord{18, 0, 170},
- dictWord{18, 0, 171},
- dictWord{152, 0, 20},
- dictWord{9, 0, 707},
- dictWord{11, 0, 326},
- dictWord{11, 0, 339},
- dictWord{12, 0, 423},
- dictWord{12, 0, 502},
- dictWord{20, 0, 62},
- dictWord{9, 11, 707},
- dictWord{
- 11,
- 11,
- 326,
- },
- dictWord{11, 11, 339},
- dictWord{12, 11, 423},
- dictWord{12, 11, 502},
- dictWord{148, 11, 62},
- dictWord{5, 0, 30},
- dictWord{7, 0, 495},
- dictWord{
- 8,
- 0,
- 134,
- },
- dictWord{9, 0, 788},
- dictWord{140, 0, 438},
- dictWord{133, 11, 678},
- dictWord{5, 10, 279},
- dictWord{6, 10, 235},
- dictWord{7, 10, 468},
- dictWord{
- 8,
- 10,
- 446,
- },
- dictWord{9, 10, 637},
- dictWord{10, 10, 717},
- dictWord{11, 10, 738},
- dictWord{140, 10, 514},
- dictWord{5, 11, 35},
- dictWord{6, 11, 287},
- dictWord{
- 7,
- 11,
- 862,
- },
- dictWord{7, 11, 1886},
- dictWord{138, 11, 179},
- dictWord{7, 0, 1948},
- dictWord{7, 0, 2004},
- dictWord{132, 11, 517},
- dictWord{5, 10, 17},
- dictWord{
- 6,
- 10,
- 371,
- },
- dictWord{137, 10, 528},
- dictWord{4, 0, 115},
- dictWord{5, 0, 669},
- dictWord{6, 0, 407},
- dictWord{8, 0, 311},
- dictWord{11, 0, 10},
- dictWord{141, 0, 5},
- dictWord{137, 0, 381},
- dictWord{5, 0, 50},
- dictWord{6, 0, 439},
- dictWord{7, 0, 780},
- dictWord{135, 0, 1040},
- dictWord{136, 11, 667},
- dictWord{11, 11, 403},
- dictWord{146, 11, 83},
- dictWord{5, 0, 1},
- dictWord{6, 0, 81},
- dictWord{138, 0, 520},
- dictWord{134, 0, 738},
- dictWord{5, 0, 482},
- dictWord{8, 0, 98},
- dictWord{9, 0, 172},
- dictWord{10, 0, 360},
- dictWord{10, 0, 700},
- dictWord{10, 0, 822},
- dictWord{11, 0, 302},
- dictWord{11, 0, 778},
- dictWord{12, 0, 50},
- dictWord{12, 0, 127},
- dictWord{
- 12,
- 0,
- 396,
- },
- dictWord{13, 0, 62},
- dictWord{13, 0, 328},
- dictWord{14, 0, 122},
- dictWord{147, 0, 72},
- dictWord{9, 11, 157},
- dictWord{10, 11, 131},
- dictWord{
- 140,
- 11,
- 72,
- },
- dictWord{135, 11, 714},
- dictWord{135, 11, 539},
- dictWord{5, 0, 2},
- dictWord{6, 0, 512},
- dictWord{7, 0, 797},
- dictWord{7, 0, 1494},
- dictWord{8, 0, 253},
- dictWord{8, 0, 589},
- dictWord{9, 0, 77},
- dictWord{10, 0, 1},
- dictWord{10, 0, 129},
- dictWord{10, 0, 225},
- dictWord{11, 0, 118},
- dictWord{11, 0, 226},
- dictWord{
- 11,
- 0,
- 251,
- },
- dictWord{11, 0, 430},
- dictWord{11, 0, 701},
- dictWord{11, 0, 974},
- dictWord{11, 0, 982},
- dictWord{12, 0, 64},
- dictWord{12, 0, 260},
- dictWord{12, 0, 488},
- dictWord{140, 0, 690},
- dictWord{5, 11, 394},
- dictWord{7, 11, 367},
- dictWord{7, 11, 487},
- dictWord{7, 11, 857},
- dictWord{7, 11, 1713},
- dictWord{8, 11, 246},
- dictWord{9, 11, 537},
- dictWord{10, 11, 165},
- dictWord{12, 11, 219},
- dictWord{140, 11, 561},
- dictWord{136, 0, 557},
- dictWord{5, 10, 779},
- dictWord{5, 10, 807},
- dictWord{6, 10, 1655},
- dictWord{134, 10, 1676},
- dictWord{4, 10, 196},
- dictWord{5, 10, 558},
- dictWord{133, 10, 949},
- dictWord{11, 11, 827},
- dictWord{
- 12,
- 11,
- 56,
- },
- dictWord{14, 11, 34},
- dictWord{143, 11, 148},
- dictWord{137, 0, 347},
- dictWord{133, 0, 572},
- dictWord{134, 0, 832},
- dictWord{4, 0, 12},
- dictWord{
- 7,
- 0,
- 504,
- },
- dictWord{7, 0, 522},
- dictWord{7, 0, 809},
- dictWord{8, 0, 797},
- dictWord{141, 0, 88},
- dictWord{4, 10, 752},
- dictWord{133, 11, 449},
- dictWord{7, 11, 86},
- dictWord{8, 11, 103},
- dictWord{145, 11, 69},
- dictWord{7, 11, 2028},
- dictWord{138, 11, 641},
- dictWord{5, 0, 528},
- dictWord{6, 11, 1},
- dictWord{142, 11, 2},
- dictWord{134, 0, 861},
- dictWord{10, 0, 294},
- dictWord{4, 10, 227},
- dictWord{5, 10, 159},
- dictWord{5, 10, 409},
- dictWord{7, 10, 80},
- dictWord{10, 10, 479},
- dictWord{
- 12,
- 10,
- 418,
- },
- dictWord{14, 10, 50},
- dictWord{14, 10, 249},
- dictWord{142, 10, 295},
- dictWord{7, 10, 1470},
- dictWord{8, 10, 66},
- dictWord{8, 10, 137},
- dictWord{
- 8,
- 10,
- 761,
- },
- dictWord{9, 10, 638},
- dictWord{11, 10, 80},
- dictWord{11, 10, 212},
- dictWord{11, 10, 368},
- dictWord{11, 10, 418},
- dictWord{12, 10, 8},
- dictWord{
- 13,
- 10,
- 15,
- },
- dictWord{16, 10, 61},
- dictWord{17, 10, 59},
- dictWord{19, 10, 28},
- dictWord{148, 10, 84},
- dictWord{20, 0, 109},
- dictWord{135, 11, 1148},
- dictWord{
- 6,
- 11,
- 277,
- },
- dictWord{7, 11, 1274},
- dictWord{7, 11, 1386},
- dictWord{7, 11, 1392},
- dictWord{12, 11, 129},
- dictWord{146, 11, 87},
- dictWord{6, 11, 187},
- dictWord{7, 11, 39},
- dictWord{7, 11, 1203},
- dictWord{8, 11, 380},
- dictWord{8, 11, 542},
- dictWord{14, 11, 117},
- dictWord{149, 11, 28},
- dictWord{134, 0, 1187},
- dictWord{5, 0, 266},
- dictWord{9, 0, 290},
- dictWord{9, 0, 364},
- dictWord{10, 0, 293},
- dictWord{11, 0, 606},
- dictWord{142, 0, 45},
- dictWord{6, 11, 297},
- dictWord{
- 7,
- 11,
- 793,
- },
- dictWord{139, 11, 938},
- dictWord{4, 0, 50},
- dictWord{6, 0, 594},
- dictWord{9, 0, 121},
- dictWord{10, 0, 49},
- dictWord{10, 0, 412},
- dictWord{139, 0, 834},
- dictWord{136, 0, 748},
- dictWord{7, 11, 464},
- dictWord{8, 11, 438},
- dictWord{11, 11, 105},
- dictWord{11, 11, 363},
- dictWord{12, 11, 231},
- dictWord{
- 14,
- 11,
- 386,
- },
- dictWord{15, 11, 102},
- dictWord{148, 11, 75},
- dictWord{132, 0, 466},
- dictWord{13, 0, 399},
- dictWord{14, 0, 337},
- dictWord{6, 10, 38},
- dictWord{
- 7,
- 10,
- 1220,
- },
- dictWord{8, 10, 185},
- dictWord{8, 10, 256},
- dictWord{9, 10, 22},
- dictWord{9, 10, 331},
- dictWord{10, 10, 738},
- dictWord{11, 10, 205},
- dictWord{
- 11,
- 10,
- 540,
- },
- dictWord{11, 10, 746},
- dictWord{13, 10, 465},
- dictWord{142, 10, 194},
- dictWord{9, 0, 378},
- dictWord{141, 0, 162},
- dictWord{137, 0, 519},
- dictWord{
- 4,
- 10,
- 159,
- },
- dictWord{6, 10, 115},
- dictWord{7, 10, 252},
- dictWord{7, 10, 257},
- dictWord{7, 10, 1928},
- dictWord{8, 10, 69},
- dictWord{9, 10, 384},
- dictWord{
- 10,
- 10,
- 91,
- },
- dictWord{10, 10, 615},
- dictWord{12, 10, 375},
- dictWord{14, 10, 235},
- dictWord{18, 10, 117},
- dictWord{147, 10, 123},
- dictWord{5, 11, 604},
- dictWord{
- 5,
- 10,
- 911,
- },
- dictWord{136, 10, 278},
- dictWord{132, 0, 667},
- dictWord{8, 0, 351},
- dictWord{9, 0, 322},
- dictWord{4, 10, 151},
- dictWord{135, 10, 1567},
- dictWord{134, 0, 902},
- dictWord{133, 10, 990},
- dictWord{12, 0, 180},
- dictWord{5, 10, 194},
- dictWord{7, 10, 1662},
- dictWord{137, 10, 90},
- dictWord{4, 0, 869},
- dictWord{134, 0, 1996},
- dictWord{134, 0, 813},
- dictWord{133, 10, 425},
- dictWord{137, 11, 761},
- dictWord{132, 0, 260},
- dictWord{133, 10, 971},
- dictWord{
- 5,
- 11,
- 20,
- },
- dictWord{6, 11, 298},
- dictWord{7, 11, 659},
- dictWord{7, 11, 1366},
- dictWord{137, 11, 219},
- dictWord{4, 0, 39},
- dictWord{5, 0, 36},
- dictWord{
- 7,
- 0,
- 1843,
- },
- dictWord{8, 0, 407},
- dictWord{11, 0, 144},
- dictWord{140, 0, 523},
- dictWord{4, 0, 510},
- dictWord{10, 0, 587},
- dictWord{139, 10, 752},
- dictWord{7, 0, 29},
- dictWord{7, 0, 66},
- dictWord{7, 0, 1980},
- dictWord{10, 0, 487},
- dictWord{138, 0, 809},
- dictWord{13, 0, 260},
- dictWord{14, 0, 82},
- dictWord{18, 0, 63},
- dictWord{
- 137,
- 10,
- 662,
- },
- dictWord{5, 10, 72},
- dictWord{6, 10, 264},
- dictWord{7, 10, 21},
- dictWord{7, 10, 46},
- dictWord{7, 10, 2013},
- dictWord{8, 10, 215},
- dictWord{
- 8,
- 10,
- 513,
- },
- dictWord{10, 10, 266},
- dictWord{139, 10, 22},
- dictWord{134, 0, 570},
- dictWord{6, 0, 565},
- dictWord{7, 0, 1667},
- dictWord{4, 11, 439},
- dictWord{
- 10,
- 10,
- 95,
- },
- dictWord{11, 10, 603},
- dictWord{12, 11, 242},
- dictWord{13, 10, 443},
- dictWord{14, 10, 160},
- dictWord{143, 10, 4},
- dictWord{134, 0, 1464},
- dictWord{
- 134,
- 10,
- 431,
- },
- dictWord{9, 0, 372},
- dictWord{15, 0, 2},
- dictWord{19, 0, 10},
- dictWord{19, 0, 18},
- dictWord{5, 10, 874},
- dictWord{6, 10, 1677},
- dictWord{143, 10, 0},
- dictWord{132, 0, 787},
- dictWord{6, 0, 380},
- dictWord{12, 0, 399},
- dictWord{21, 0, 19},
- dictWord{7, 10, 939},
- dictWord{7, 10, 1172},
- dictWord{7, 10, 1671},
- dictWord{9, 10, 540},
- dictWord{10, 10, 696},
- dictWord{11, 10, 265},
- dictWord{11, 10, 732},
- dictWord{11, 10, 928},
- dictWord{11, 10, 937},
- dictWord{
- 141,
- 10,
- 438,
- },
- dictWord{137, 0, 200},
- dictWord{132, 11, 233},
- dictWord{132, 0, 516},
- dictWord{134, 11, 577},
- dictWord{132, 0, 844},
- dictWord{11, 0, 887},
- dictWord{14, 0, 365},
- dictWord{142, 0, 375},
- dictWord{132, 11, 482},
- dictWord{8, 0, 821},
- dictWord{140, 0, 44},
- dictWord{7, 0, 1655},
- dictWord{136, 0, 305},
- dictWord{5, 10, 682},
- dictWord{135, 10, 1887},
- dictWord{135, 11, 346},
- dictWord{132, 10, 696},
- dictWord{4, 0, 10},
- dictWord{7, 0, 917},
- dictWord{139, 0, 786},
- dictWord{5, 11, 795},
- dictWord{6, 11, 1741},
- dictWord{8, 11, 417},
- dictWord{137, 11, 782},
- dictWord{4, 0, 1016},
- dictWord{134, 0, 2031},
- dictWord{5, 0, 684},
- dictWord{4, 10, 726},
- dictWord{133, 10, 630},
- dictWord{6, 0, 1021},
- dictWord{134, 0, 1480},
- dictWord{8, 10, 802},
- dictWord{136, 10, 838},
- dictWord{
- 134,
- 0,
- 27,
- },
- dictWord{134, 0, 395},
- dictWord{135, 11, 622},
- dictWord{7, 11, 625},
- dictWord{135, 11, 1750},
- dictWord{4, 11, 203},
- dictWord{135, 11, 1936},
- dictWord{6, 10, 118},
- dictWord{7, 10, 215},
- dictWord{7, 10, 1521},
- dictWord{140, 10, 11},
- dictWord{132, 0, 813},
- dictWord{136, 0, 511},
- dictWord{7, 10, 615},
- dictWord{138, 10, 251},
- dictWord{135, 10, 1044},
- dictWord{145, 0, 56},
- dictWord{133, 10, 225},
- dictWord{6, 0, 342},
- dictWord{6, 0, 496},
- dictWord{8, 0, 275},
- dictWord{137, 0, 206},
- dictWord{4, 0, 909},
- dictWord{133, 0, 940},
- dictWord{132, 0, 891},
- dictWord{7, 11, 311},
- dictWord{9, 11, 308},
- dictWord{
- 140,
- 11,
- 255,
- },
- dictWord{4, 10, 370},
- dictWord{5, 10, 756},
- dictWord{135, 10, 1326},
- dictWord{4, 0, 687},
- dictWord{134, 0, 1596},
- dictWord{134, 0, 1342},
- dictWord{
- 6,
- 10,
- 1662,
- },
- dictWord{7, 10, 48},
- dictWord{8, 10, 771},
- dictWord{10, 10, 116},
- dictWord{13, 10, 104},
- dictWord{14, 10, 105},
- dictWord{14, 10, 184},
- dictWord{15, 10, 168},
- dictWord{19, 10, 92},
- dictWord{148, 10, 68},
- dictWord{138, 10, 209},
- dictWord{4, 11, 400},
- dictWord{5, 11, 267},
- dictWord{135, 11, 232},
- dictWord{151, 11, 12},
- dictWord{6, 0, 41},
- dictWord{141, 0, 160},
- dictWord{141, 11, 314},
- dictWord{134, 0, 1718},
- dictWord{136, 0, 778},
- dictWord{
- 142,
- 11,
- 261,
- },
- dictWord{134, 0, 1610},
- dictWord{133, 0, 115},
- dictWord{132, 0, 294},
- dictWord{14, 0, 314},
- dictWord{132, 10, 120},
- dictWord{132, 0, 983},
- dictWord{5, 0, 193},
- dictWord{140, 0, 178},
- dictWord{138, 10, 429},
- dictWord{5, 10, 820},
- dictWord{135, 10, 931},
- dictWord{6, 0, 994},
- dictWord{6, 0, 1051},
- dictWord{6, 0, 1439},
- dictWord{7, 0, 174},
- dictWord{133, 11, 732},
- dictWord{4, 11, 100},
- dictWord{7, 11, 679},
- dictWord{8, 11, 313},
- dictWord{138, 10, 199},
- dictWord{6, 10, 151},
- dictWord{6, 10, 1675},
- dictWord{7, 10, 383},
- dictWord{151, 10, 10},
- dictWord{6, 0, 1796},
- dictWord{8, 0, 848},
- dictWord{8, 0, 867},
- dictWord{
- 8,
- 0,
- 907,
- },
- dictWord{10, 0, 855},
- dictWord{140, 0, 703},
- dictWord{140, 0, 221},
- dictWord{4, 0, 122},
- dictWord{5, 0, 796},
- dictWord{5, 0, 952},
- dictWord{6, 0, 1660},
- dictWord{6, 0, 1671},
- dictWord{8, 0, 567},
- dictWord{9, 0, 687},
- dictWord{9, 0, 742},
- dictWord{10, 0, 686},
- dictWord{11, 0, 682},
- dictWord{11, 0, 909},
- dictWord{
- 140,
- 0,
- 281,
- },
- dictWord{5, 11, 362},
- dictWord{5, 11, 443},
- dictWord{6, 11, 318},
- dictWord{7, 11, 1019},
- dictWord{139, 11, 623},
- dictWord{5, 11, 463},
- dictWord{136, 11, 296},
- dictWord{11, 0, 583},
- dictWord{13, 0, 262},
- dictWord{6, 10, 1624},
- dictWord{12, 10, 422},
- dictWord{142, 10, 360},
- dictWord{5, 0, 179},
- dictWord{7, 0, 1095},
- dictWord{135, 0, 1213},
- dictWord{4, 10, 43},
- dictWord{4, 11, 454},
- dictWord{5, 10, 344},
- dictWord{133, 10, 357},
- dictWord{4, 0, 66},
- dictWord{7, 0, 722},
- dictWord{135, 0, 904},
- dictWord{134, 0, 773},
- dictWord{7, 0, 352},
- dictWord{133, 10, 888},
- dictWord{5, 11, 48},
- dictWord{5, 11, 404},
- dictWord{
- 6,
- 11,
- 557,
- },
- dictWord{7, 11, 458},
- dictWord{8, 11, 597},
- dictWord{10, 11, 455},
- dictWord{10, 11, 606},
- dictWord{11, 11, 49},
- dictWord{11, 11, 548},
- dictWord{
- 12,
- 11,
- 476,
- },
- dictWord{13, 11, 18},
- dictWord{141, 11, 450},
- dictWord{134, 11, 418},
- dictWord{132, 10, 711},
- dictWord{5, 11, 442},
- dictWord{
- 135,
- 11,
- 1984,
- },
- dictWord{141, 0, 35},
- dictWord{137, 0, 152},
- dictWord{134, 0, 1197},
- dictWord{135, 11, 1093},
- dictWord{137, 11, 203},
- dictWord{137, 10, 440},
- dictWord{10, 0, 592},
- dictWord{10, 0, 753},
- dictWord{12, 0, 317},
- dictWord{12, 0, 355},
- dictWord{12, 0, 465},
- dictWord{12, 0, 469},
- dictWord{12, 0, 560},
- dictWord{12, 0, 578},
- dictWord{141, 0, 243},
- dictWord{133, 0, 564},
- dictWord{134, 0, 797},
- dictWord{5, 10, 958},
- dictWord{133, 10, 987},
- dictWord{5, 11, 55},
- dictWord{7, 11, 376},
- dictWord{140, 11, 161},
- dictWord{133, 11, 450},
- dictWord{134, 0, 556},
- dictWord{134, 0, 819},
- dictWord{11, 10, 276},
- dictWord{
- 142,
- 10,
- 293,
- },
- dictWord{7, 0, 544},
- dictWord{138, 0, 61},
- dictWord{8, 0, 719},
- dictWord{4, 10, 65},
- dictWord{5, 10, 479},
- dictWord{5, 10, 1004},
- dictWord{7, 10, 1913},
- dictWord{8, 10, 317},
- dictWord{9, 10, 302},
- dictWord{10, 10, 612},
- dictWord{141, 10, 22},
- dictWord{4, 0, 5},
- dictWord{5, 0, 498},
- dictWord{8, 0, 637},
- dictWord{
- 9,
- 0,
- 521,
- },
- dictWord{4, 11, 213},
- dictWord{4, 10, 261},
- dictWord{7, 11, 223},
- dictWord{7, 10, 510},
- dictWord{136, 11, 80},
- dictWord{5, 0, 927},
- dictWord{7, 0, 101},
- dictWord{4, 10, 291},
- dictWord{7, 11, 381},
- dictWord{7, 11, 806},
- dictWord{7, 11, 820},
- dictWord{8, 11, 354},
- dictWord{8, 11, 437},
- dictWord{8, 11, 787},
- dictWord{9, 10, 515},
- dictWord{9, 11, 657},
- dictWord{10, 11, 58},
- dictWord{10, 11, 339},
- dictWord{10, 11, 749},
- dictWord{11, 11, 914},
- dictWord{12, 10, 152},
- dictWord{12, 11, 162},
- dictWord{12, 10, 443},
- dictWord{13, 11, 75},
- dictWord{13, 10, 392},
- dictWord{14, 11, 106},
- dictWord{14, 11, 198},
- dictWord{
- 14,
- 11,
- 320,
- },
- dictWord{14, 10, 357},
- dictWord{14, 11, 413},
- dictWord{146, 11, 43},
- dictWord{6, 0, 1153},
- dictWord{7, 0, 1441},
- dictWord{136, 11, 747},
- dictWord{
- 4,
- 0,
- 893,
- },
- dictWord{5, 0, 780},
- dictWord{133, 0, 893},
- dictWord{138, 11, 654},
- dictWord{133, 11, 692},
- dictWord{133, 0, 238},
- dictWord{134, 11, 191},
- dictWord{4, 10, 130},
- dictWord{135, 10, 843},
- dictWord{6, 0, 1296},
- dictWord{5, 10, 42},
- dictWord{5, 10, 879},
- dictWord{7, 10, 245},
- dictWord{7, 10, 324},
- dictWord{
- 7,
- 10,
- 1532,
- },
- dictWord{11, 10, 463},
- dictWord{11, 10, 472},
- dictWord{13, 10, 363},
- dictWord{144, 10, 52},
- dictWord{134, 0, 1729},
- dictWord{6, 0, 1999},
- dictWord{136, 0, 969},
- dictWord{4, 10, 134},
- dictWord{133, 10, 372},
- dictWord{4, 0, 60},
- dictWord{7, 0, 941},
- dictWord{7, 0, 1800},
- dictWord{8, 0, 314},
- dictWord{
- 9,
- 0,
- 700,
- },
- dictWord{139, 0, 487},
- dictWord{134, 0, 1144},
- dictWord{6, 11, 162},
- dictWord{7, 11, 1960},
- dictWord{136, 11, 831},
- dictWord{132, 11, 706},
- dictWord{135, 0, 1147},
- dictWord{138, 11, 426},
- dictWord{138, 11, 89},
- dictWord{7, 0, 1853},
- dictWord{138, 0, 437},
- dictWord{136, 0, 419},
- dictWord{
- 135,
- 10,
- 1634,
- },
- dictWord{133, 0, 828},
- dictWord{5, 0, 806},
- dictWord{7, 0, 176},
- dictWord{7, 0, 178},
- dictWord{7, 0, 1240},
- dictWord{7, 0, 1976},
- dictWord{
- 132,
- 10,
- 644,
- },
- dictWord{135, 11, 1877},
- dictWord{5, 11, 420},
- dictWord{135, 11, 1449},
- dictWord{4, 0, 51},
- dictWord{5, 0, 39},
- dictWord{6, 0, 4},
- dictWord{7, 0, 591},
- dictWord{7, 0, 849},
- dictWord{7, 0, 951},
- dictWord{7, 0, 1613},
- dictWord{7, 0, 1760},
- dictWord{7, 0, 1988},
- dictWord{9, 0, 434},
- dictWord{10, 0, 754},
- dictWord{
- 11,
- 0,
- 25,
- },
- dictWord{139, 0, 37},
- dictWord{10, 11, 57},
- dictWord{138, 11, 277},
- dictWord{135, 10, 540},
- dictWord{132, 11, 204},
- dictWord{135, 0, 159},
- dictWord{139, 11, 231},
- dictWord{133, 0, 902},
- dictWord{7, 0, 928},
- dictWord{7, 11, 366},
- dictWord{9, 11, 287},
- dictWord{12, 11, 199},
- dictWord{12, 11, 556},
- dictWord{140, 11, 577},
- dictWord{6, 10, 623},
- dictWord{136, 10, 789},
- dictWord{4, 10, 908},
- dictWord{5, 10, 359},
- dictWord{5, 10, 508},
- dictWord{6, 10, 1723},
- dictWord{7, 10, 343},
- dictWord{7, 10, 1996},
- dictWord{135, 10, 2026},
- dictWord{134, 0, 270},
- dictWord{4, 10, 341},
- dictWord{135, 10, 480},
- dictWord{
- 5,
- 11,
- 356,
- },
- dictWord{135, 11, 224},
- dictWord{11, 11, 588},
- dictWord{11, 11, 864},
- dictWord{11, 11, 968},
- dictWord{143, 11, 160},
- dictWord{132, 0, 556},
- dictWord{137, 0, 801},
- dictWord{132, 0, 416},
- dictWord{142, 0, 372},
- dictWord{5, 0, 152},
- dictWord{5, 0, 197},
- dictWord{7, 0, 340},
- dictWord{7, 0, 867},
- dictWord{
- 10,
- 0,
- 548,
- },
- dictWord{10, 0, 581},
- dictWord{11, 0, 6},
- dictWord{12, 0, 3},
- dictWord{12, 0, 19},
- dictWord{14, 0, 110},
- dictWord{142, 0, 289},
- dictWord{139, 0, 369},
- dictWord{7, 11, 630},
- dictWord{9, 11, 567},
- dictWord{11, 11, 150},
- dictWord{11, 11, 444},
- dictWord{141, 11, 119},
- dictWord{134, 11, 539},
- dictWord{
- 7,
- 10,
- 1995,
- },
- dictWord{8, 10, 299},
- dictWord{11, 10, 890},
- dictWord{140, 10, 674},
- dictWord{7, 0, 34},
- dictWord{7, 0, 190},
- dictWord{8, 0, 28},
- dictWord{8, 0, 141},
- dictWord{8, 0, 444},
- dictWord{8, 0, 811},
- dictWord{9, 0, 468},
- dictWord{11, 0, 334},
- dictWord{12, 0, 24},
- dictWord{12, 0, 386},
- dictWord{140, 0, 576},
- dictWord{
- 133,
- 0,
- 757,
- },
- dictWord{7, 0, 1553},
- dictWord{136, 0, 898},
- dictWord{133, 0, 721},
- dictWord{136, 0, 1012},
- dictWord{4, 0, 789},
- dictWord{5, 0, 647},
- dictWord{
- 135,
- 0,
- 1102,
- },
- dictWord{132, 0, 898},
- dictWord{10, 0, 183},
- dictWord{4, 10, 238},
- dictWord{5, 10, 503},
- dictWord{6, 10, 179},
- dictWord{7, 10, 2003},
- dictWord{
- 8,
- 10,
- 381,
- },
- dictWord{8, 10, 473},
- dictWord{9, 10, 149},
- dictWord{10, 10, 788},
- dictWord{15, 10, 45},
- dictWord{15, 10, 86},
- dictWord{20, 10, 110},
- dictWord{
- 150,
- 10,
- 57,
- },
- dictWord{9, 0, 136},
- dictWord{19, 0, 107},
- dictWord{4, 10, 121},
- dictWord{5, 10, 156},
- dictWord{5, 10, 349},
- dictWord{10, 10, 605},
- dictWord{
- 142,
- 10,
- 342,
- },
- dictWord{4, 11, 235},
- dictWord{135, 11, 255},
- dictWord{4, 11, 194},
- dictWord{5, 11, 584},
- dictWord{6, 11, 384},
- dictWord{7, 11, 583},
- dictWord{
- 10,
- 11,
- 761,
- },
- dictWord{11, 11, 760},
- dictWord{139, 11, 851},
- dictWord{6, 10, 80},
- dictWord{6, 10, 1694},
- dictWord{7, 10, 173},
- dictWord{7, 10, 1974},
- dictWord{
- 9,
- 10,
- 547,
- },
- dictWord{10, 10, 730},
- dictWord{14, 10, 18},
- dictWord{150, 10, 39},
- dictWord{4, 10, 923},
- dictWord{134, 10, 1711},
- dictWord{5, 0, 277},
- dictWord{141, 0, 247},
- dictWord{132, 0, 435},
- dictWord{133, 11, 562},
- dictWord{134, 0, 1311},
- dictWord{5, 11, 191},
- dictWord{137, 11, 271},
- dictWord{
- 132,
- 10,
- 595,
- },
- dictWord{7, 11, 1537},
- dictWord{14, 11, 96},
- dictWord{143, 11, 73},
- dictWord{5, 0, 437},
- dictWord{7, 0, 502},
- dictWord{7, 0, 519},
- dictWord{7, 0, 1122},
- dictWord{7, 0, 1751},
- dictWord{14, 0, 211},
- dictWord{6, 10, 459},
- dictWord{7, 10, 1753},
- dictWord{7, 10, 1805},
- dictWord{8, 10, 658},
- dictWord{9, 10, 1},
- dictWord{11, 10, 959},
- dictWord{141, 10, 446},
- dictWord{6, 0, 814},
- dictWord{4, 11, 470},
- dictWord{5, 11, 473},
- dictWord{6, 11, 153},
- dictWord{7, 11, 1503},
- dictWord{7, 11, 1923},
- dictWord{10, 11, 701},
- dictWord{11, 11, 132},
- dictWord{11, 11, 168},
- dictWord{11, 11, 227},
- dictWord{11, 11, 320},
- dictWord{
- 11,
- 11,
- 436,
- },
- dictWord{11, 11, 525},
- dictWord{11, 11, 855},
- dictWord{12, 11, 41},
- dictWord{12, 11, 286},
- dictWord{13, 11, 103},
- dictWord{13, 11, 284},
- dictWord{
- 14,
- 11,
- 255,
- },
- dictWord{14, 11, 262},
- dictWord{15, 11, 117},
- dictWord{143, 11, 127},
- dictWord{5, 0, 265},
- dictWord{6, 0, 212},
- dictWord{135, 0, 28},
- dictWord{
- 138,
- 0,
- 750,
- },
- dictWord{133, 11, 327},
- dictWord{6, 11, 552},
- dictWord{7, 11, 1754},
- dictWord{137, 11, 604},
- dictWord{134, 0, 2012},
- dictWord{132, 0, 702},
- dictWord{5, 11, 80},
- dictWord{6, 11, 405},
- dictWord{7, 11, 403},
- dictWord{7, 11, 1502},
- dictWord{7, 11, 1626},
- dictWord{8, 11, 456},
- dictWord{9, 11, 487},
- dictWord{9, 11, 853},
- dictWord{9, 11, 889},
- dictWord{10, 11, 309},
- dictWord{11, 11, 721},
- dictWord{11, 11, 994},
- dictWord{12, 11, 430},
- dictWord{
- 141,
- 11,
- 165,
- },
- dictWord{5, 0, 808},
- dictWord{135, 0, 2045},
- dictWord{5, 0, 166},
- dictWord{8, 0, 739},
- dictWord{140, 0, 511},
- dictWord{134, 10, 490},
- dictWord{
- 4,
- 11,
- 453,
- },
- dictWord{5, 11, 887},
- dictWord{6, 11, 535},
- dictWord{8, 11, 6},
- dictWord{136, 11, 543},
- dictWord{4, 0, 119},
- dictWord{5, 0, 170},
- dictWord{5, 0, 447},
- dictWord{7, 0, 1708},
- dictWord{7, 0, 1889},
- dictWord{9, 0, 357},
- dictWord{9, 0, 719},
- dictWord{12, 0, 486},
- dictWord{140, 0, 596},
- dictWord{137, 0, 500},
- dictWord{
- 7,
- 10,
- 250,
- },
- dictWord{136, 10, 507},
- dictWord{132, 10, 158},
- dictWord{6, 0, 809},
- dictWord{134, 0, 1500},
- dictWord{9, 0, 327},
- dictWord{11, 0, 350},
- dictWord{11, 0, 831},
- dictWord{13, 0, 352},
- dictWord{4, 10, 140},
- dictWord{7, 10, 362},
- dictWord{8, 10, 209},
- dictWord{9, 10, 10},
- dictWord{9, 10, 503},
- dictWord{
- 9,
- 10,
- 614,
- },
- dictWord{10, 10, 689},
- dictWord{11, 10, 327},
- dictWord{11, 10, 725},
- dictWord{12, 10, 252},
- dictWord{12, 10, 583},
- dictWord{13, 10, 192},
- dictWord{14, 10, 269},
- dictWord{14, 10, 356},
- dictWord{148, 10, 50},
- dictWord{135, 11, 741},
- dictWord{4, 0, 450},
- dictWord{7, 0, 1158},
- dictWord{19, 10, 1},
- dictWord{19, 10, 26},
- dictWord{150, 10, 9},
- dictWord{6, 0, 597},
- dictWord{135, 0, 1318},
- dictWord{134, 0, 1602},
- dictWord{6, 10, 228},
- dictWord{7, 10, 1341},
- dictWord{9, 10, 408},
- dictWord{138, 10, 343},
- dictWord{7, 0, 1375},
- dictWord{7, 0, 1466},
- dictWord{138, 0, 331},
- dictWord{132, 0, 754},
- dictWord{
- 132,
- 10,
- 557,
- },
- dictWord{5, 11, 101},
- dictWord{6, 11, 88},
- dictWord{6, 11, 543},
- dictWord{7, 11, 1677},
- dictWord{9, 11, 100},
- dictWord{10, 11, 677},
- dictWord{
- 14,
- 11,
- 169,
- },
- dictWord{14, 11, 302},
- dictWord{14, 11, 313},
- dictWord{15, 11, 48},
- dictWord{143, 11, 84},
- dictWord{134, 0, 1368},
- dictWord{4, 11, 310},
- dictWord{
- 9,
- 11,
- 795,
- },
- dictWord{10, 11, 733},
- dictWord{11, 11, 451},
- dictWord{12, 11, 249},
- dictWord{14, 11, 115},
- dictWord{14, 11, 286},
- dictWord{143, 11, 100},
- dictWord{132, 10, 548},
- dictWord{10, 0, 557},
- dictWord{7, 10, 197},
- dictWord{8, 10, 142},
- dictWord{8, 10, 325},
- dictWord{9, 10, 150},
- dictWord{9, 10, 596},
- dictWord{10, 10, 353},
- dictWord{11, 10, 74},
- dictWord{11, 10, 315},
- dictWord{12, 10, 662},
- dictWord{12, 10, 681},
- dictWord{14, 10, 423},
- dictWord{
- 143,
- 10,
- 141,
- },
- dictWord{133, 11, 587},
- dictWord{5, 0, 850},
- dictWord{136, 0, 799},
- dictWord{10, 0, 908},
- dictWord{12, 0, 701},
- dictWord{12, 0, 757},
- dictWord{
- 142,
- 0,
- 466,
- },
- dictWord{4, 0, 62},
- dictWord{5, 0, 275},
- dictWord{18, 0, 19},
- dictWord{6, 10, 399},
- dictWord{6, 10, 579},
- dictWord{7, 10, 692},
- dictWord{7, 10, 846},
- dictWord{
- 7,
- 10,
- 1015,
- },
- dictWord{7, 10, 1799},
- dictWord{8, 10, 403},
- dictWord{9, 10, 394},
- dictWord{10, 10, 133},
- dictWord{12, 10, 4},
- dictWord{12, 10, 297},
- dictWord{12, 10, 452},
- dictWord{16, 10, 81},
- dictWord{18, 10, 25},
- dictWord{21, 10, 14},
- dictWord{22, 10, 12},
- dictWord{151, 10, 18},
- dictWord{12, 0, 459},
- dictWord{
- 7,
- 10,
- 1546,
- },
- dictWord{11, 10, 299},
- dictWord{142, 10, 407},
- dictWord{132, 10, 177},
- dictWord{132, 11, 498},
- dictWord{7, 11, 217},
- dictWord{
- 8,
- 11,
- 140,
- },
- dictWord{138, 11, 610},
- dictWord{5, 10, 411},
- dictWord{135, 10, 653},
- dictWord{134, 0, 1802},
- dictWord{7, 10, 439},
- dictWord{10, 10, 727},
- dictWord{11, 10, 260},
- dictWord{139, 10, 684},
- dictWord{133, 11, 905},
- dictWord{11, 11, 580},
- dictWord{142, 11, 201},
- dictWord{134, 0, 1397},
- dictWord{
- 5,
- 10,
- 208,
- },
- dictWord{7, 10, 753},
- dictWord{135, 10, 1528},
- dictWord{7, 0, 238},
- dictWord{7, 0, 2033},
- dictWord{8, 0, 120},
- dictWord{8, 0, 188},
- dictWord{8, 0, 659},
- dictWord{9, 0, 598},
- dictWord{10, 0, 466},
- dictWord{12, 0, 342},
- dictWord{12, 0, 588},
- dictWord{13, 0, 503},
- dictWord{14, 0, 246},
- dictWord{143, 0, 92},
- dictWord{135, 11, 1041},
- dictWord{4, 11, 456},
- dictWord{7, 11, 105},
- dictWord{7, 11, 358},
- dictWord{7, 11, 1637},
- dictWord{8, 11, 643},
- dictWord{139, 11, 483},
- dictWord{6, 0, 1318},
- dictWord{134, 0, 1324},
- dictWord{4, 0, 201},
- dictWord{7, 0, 1744},
- dictWord{8, 0, 602},
- dictWord{11, 0, 247},
- dictWord{11, 0, 826},
- dictWord{17, 0, 65},
- dictWord{133, 10, 242},
- dictWord{8, 0, 164},
- dictWord{146, 0, 62},
- dictWord{133, 10, 953},
- dictWord{139, 10, 802},
- dictWord{133, 0, 615},
- dictWord{7, 11, 1566},
- dictWord{8, 11, 269},
- dictWord{9, 11, 212},
- dictWord{9, 11, 718},
- dictWord{14, 11, 15},
- dictWord{14, 11, 132},
- dictWord{142, 11, 227},
- dictWord{133, 10, 290},
- dictWord{132, 10, 380},
- dictWord{5, 10, 52},
- dictWord{7, 10, 277},
- dictWord{9, 10, 368},
- dictWord{139, 10, 791},
- dictWord{
- 135,
- 0,
- 1243,
- },
- dictWord{133, 11, 539},
- dictWord{11, 11, 919},
- dictWord{141, 11, 409},
- dictWord{136, 0, 968},
- dictWord{133, 11, 470},
- dictWord{134, 0, 882},
- dictWord{132, 0, 907},
- dictWord{5, 0, 100},
- dictWord{10, 0, 329},
- dictWord{12, 0, 416},
- dictWord{149, 0, 29},
- dictWord{10, 10, 138},
- dictWord{139, 10, 476},
- dictWord{5, 10, 725},
- dictWord{5, 10, 727},
- dictWord{6, 11, 91},
- dictWord{7, 11, 435},
- dictWord{135, 10, 1811},
- dictWord{4, 11, 16},
- dictWord{5, 11, 316},
- dictWord{5, 11, 842},
- dictWord{6, 11, 370},
- dictWord{6, 11, 1778},
- dictWord{8, 11, 166},
- dictWord{11, 11, 812},
- dictWord{12, 11, 206},
- dictWord{12, 11, 351},
- dictWord{14, 11, 418},
- dictWord{16, 11, 15},
- dictWord{16, 11, 34},
- dictWord{18, 11, 3},
- dictWord{19, 11, 3},
- dictWord{19, 11, 7},
- dictWord{20, 11, 4},
- dictWord{
- 149,
- 11,
- 21,
- },
- dictWord{132, 0, 176},
- dictWord{5, 0, 636},
- dictWord{5, 0, 998},
- dictWord{7, 0, 9},
- dictWord{7, 0, 1508},
- dictWord{8, 0, 26},
- dictWord{9, 0, 317},
- dictWord{
- 9,
- 0,
- 358,
- },
- dictWord{10, 0, 210},
- dictWord{10, 0, 292},
- dictWord{10, 0, 533},
- dictWord{11, 0, 555},
- dictWord{12, 0, 526},
- dictWord{12, 0, 607},
- dictWord{
- 13,
- 0,
- 263,
- },
- dictWord{13, 0, 459},
- dictWord{142, 0, 271},
- dictWord{6, 0, 256},
- dictWord{8, 0, 265},
- dictWord{4, 10, 38},
- dictWord{7, 10, 307},
- dictWord{7, 10, 999},
- dictWord{7, 10, 1481},
- dictWord{7, 10, 1732},
- dictWord{7, 10, 1738},
- dictWord{9, 10, 414},
- dictWord{11, 10, 316},
- dictWord{12, 10, 52},
- dictWord{13, 10, 420},
- dictWord{147, 10, 100},
- dictWord{135, 10, 1296},
- dictWord{4, 11, 611},
- dictWord{133, 11, 606},
- dictWord{4, 0, 643},
- dictWord{142, 11, 21},
- dictWord{
- 133,
- 11,
- 715,
- },
- dictWord{133, 10, 723},
- dictWord{6, 0, 610},
- dictWord{135, 11, 597},
- dictWord{10, 0, 127},
- dictWord{141, 0, 27},
- dictWord{6, 0, 1995},
- dictWord{
- 6,
- 0,
- 2001,
- },
- dictWord{8, 0, 119},
- dictWord{136, 0, 973},
- dictWord{4, 11, 149},
- dictWord{138, 11, 368},
- dictWord{12, 0, 522},
- dictWord{4, 11, 154},
- dictWord{
- 5,
- 10,
- 109,
- },
- dictWord{6, 10, 1784},
- dictWord{7, 11, 1134},
- dictWord{7, 10, 1895},
- dictWord{8, 11, 105},
- dictWord{12, 10, 296},
- dictWord{140, 10, 302},
- dictWord{4, 11, 31},
- dictWord{6, 11, 429},
- dictWord{7, 11, 962},
- dictWord{9, 11, 458},
- dictWord{139, 11, 691},
- dictWord{10, 0, 553},
- dictWord{11, 0, 876},
- dictWord{13, 0, 193},
- dictWord{13, 0, 423},
- dictWord{14, 0, 166},
- dictWord{19, 0, 84},
- dictWord{4, 11, 312},
- dictWord{5, 10, 216},
- dictWord{7, 10, 1879},
- dictWord{
- 9,
- 10,
- 141,
- },
- dictWord{9, 10, 270},
- dictWord{9, 10, 679},
- dictWord{10, 10, 159},
- dictWord{11, 10, 197},
- dictWord{12, 10, 538},
- dictWord{12, 10, 559},
- dictWord{14, 10, 144},
- dictWord{14, 10, 167},
- dictWord{143, 10, 67},
- dictWord{134, 0, 1582},
- dictWord{7, 0, 1578},
- dictWord{135, 11, 1578},
- dictWord{
- 137,
- 10,
- 81,
- },
- dictWord{132, 11, 236},
- dictWord{134, 10, 391},
- dictWord{134, 0, 795},
- dictWord{7, 10, 322},
- dictWord{136, 10, 249},
- dictWord{5, 11, 836},
- dictWord{
- 5,
- 11,
- 857,
- },
- dictWord{6, 11, 1680},
- dictWord{7, 11, 59},
- dictWord{147, 11, 53},
- dictWord{135, 0, 432},
- dictWord{10, 11, 68},
- dictWord{139, 11, 494},
- dictWord{4, 11, 81},
- dictWord{139, 11, 867},
- dictWord{7, 0, 126},
- dictWord{136, 0, 84},
- dictWord{142, 11, 280},
- dictWord{5, 11, 282},
- dictWord{8, 11, 650},
- dictWord{
- 9,
- 11,
- 295,
- },
- dictWord{9, 11, 907},
- dictWord{138, 11, 443},
- dictWord{136, 0, 790},
- dictWord{5, 10, 632},
- dictWord{138, 10, 526},
- dictWord{6, 0, 64},
- dictWord{12, 0, 377},
- dictWord{13, 0, 309},
- dictWord{14, 0, 141},
- dictWord{14, 0, 429},
- dictWord{14, 11, 141},
- dictWord{142, 11, 429},
- dictWord{134, 0, 1529},
- dictWord{6, 0, 321},
- dictWord{7, 0, 1857},
- dictWord{9, 0, 530},
- dictWord{19, 0, 99},
- dictWord{7, 10, 948},
- dictWord{7, 10, 1042},
- dictWord{8, 10, 235},
- dictWord{
- 8,
- 10,
- 461,
- },
- dictWord{9, 10, 453},
- dictWord{10, 10, 354},
- dictWord{145, 10, 77},
- dictWord{7, 0, 1104},
- dictWord{11, 0, 269},
- dictWord{11, 0, 539},
- dictWord{
- 11,
- 0,
- 627,
- },
- dictWord{11, 0, 706},
- dictWord{11, 0, 975},
- dictWord{12, 0, 248},
- dictWord{12, 0, 434},
- dictWord{12, 0, 600},
- dictWord{12, 0, 622},
- dictWord{
- 13,
- 0,
- 297,
- },
- dictWord{13, 0, 485},
- dictWord{14, 0, 69},
- dictWord{14, 0, 409},
- dictWord{143, 0, 108},
- dictWord{4, 10, 362},
- dictWord{7, 10, 52},
- dictWord{7, 10, 303},
- dictWord{10, 11, 70},
- dictWord{12, 11, 26},
- dictWord{14, 11, 17},
- dictWord{14, 11, 178},
- dictWord{15, 11, 34},
- dictWord{149, 11, 12},
- dictWord{11, 0, 977},
- dictWord{141, 0, 507},
- dictWord{9, 0, 34},
- dictWord{139, 0, 484},
- dictWord{5, 10, 196},
- dictWord{6, 10, 486},
- dictWord{7, 10, 212},
- dictWord{8, 10, 309},
- dictWord{136, 10, 346},
- dictWord{6, 0, 1700},
- dictWord{7, 0, 26},
- dictWord{7, 0, 293},
- dictWord{7, 0, 382},
- dictWord{7, 0, 1026},
- dictWord{7, 0, 1087},
- dictWord{
- 7,
- 0,
- 2027,
- },
- dictWord{8, 0, 24},
- dictWord{8, 0, 114},
- dictWord{8, 0, 252},
- dictWord{8, 0, 727},
- dictWord{8, 0, 729},
- dictWord{9, 0, 30},
- dictWord{9, 0, 199},
- dictWord{
- 9,
- 0,
- 231,
- },
- dictWord{9, 0, 251},
- dictWord{9, 0, 334},
- dictWord{9, 0, 361},
- dictWord{9, 0, 712},
- dictWord{10, 0, 55},
- dictWord{10, 0, 60},
- dictWord{10, 0, 232},
- dictWord{
- 10,
- 0,
- 332,
- },
- dictWord{10, 0, 384},
- dictWord{10, 0, 396},
- dictWord{10, 0, 504},
- dictWord{10, 0, 542},
- dictWord{10, 0, 652},
- dictWord{11, 0, 20},
- dictWord{11, 0, 48},
- dictWord{11, 0, 207},
- dictWord{11, 0, 291},
- dictWord{11, 0, 298},
- dictWord{11, 0, 342},
- dictWord{11, 0, 365},
- dictWord{11, 0, 394},
- dictWord{11, 0, 620},
- dictWord{11, 0, 705},
- dictWord{11, 0, 1017},
- dictWord{12, 0, 123},
- dictWord{12, 0, 340},
- dictWord{12, 0, 406},
- dictWord{12, 0, 643},
- dictWord{13, 0, 61},
- dictWord{
- 13,
- 0,
- 269,
- },
- dictWord{13, 0, 311},
- dictWord{13, 0, 319},
- dictWord{13, 0, 486},
- dictWord{14, 0, 234},
- dictWord{15, 0, 62},
- dictWord{15, 0, 85},
- dictWord{16, 0, 71},
- dictWord{18, 0, 119},
- dictWord{20, 0, 105},
- dictWord{135, 10, 1912},
- dictWord{4, 11, 71},
- dictWord{5, 11, 376},
- dictWord{7, 11, 119},
- dictWord{138, 11, 665},
- dictWord{10, 0, 918},
- dictWord{10, 0, 926},
- dictWord{4, 10, 686},
- dictWord{136, 11, 55},
- dictWord{138, 10, 625},
- dictWord{136, 10, 706},
- dictWord{
- 132,
- 11,
- 479,
- },
- dictWord{4, 10, 30},
- dictWord{133, 10, 43},
- dictWord{6, 0, 379},
- dictWord{7, 0, 270},
- dictWord{8, 0, 176},
- dictWord{8, 0, 183},
- dictWord{9, 0, 432},
- dictWord{
- 9,
- 0,
- 661,
- },
- dictWord{12, 0, 247},
- dictWord{12, 0, 617},
- dictWord{18, 0, 125},
- dictWord{7, 11, 607},
- dictWord{8, 11, 99},
- dictWord{152, 11, 4},
- dictWord{
- 5,
- 0,
- 792,
- },
- dictWord{133, 0, 900},
- dictWord{4, 11, 612},
- dictWord{133, 11, 561},
- dictWord{4, 11, 41},
- dictWord{4, 10, 220},
- dictWord{5, 11, 74},
- dictWord{
- 7,
- 10,
- 1535,
- },
- dictWord{7, 11, 1627},
- dictWord{11, 11, 871},
- dictWord{140, 11, 619},
- dictWord{135, 0, 1920},
- dictWord{7, 11, 94},
- dictWord{11, 11, 329},
- dictWord{11, 11, 965},
- dictWord{12, 11, 241},
- dictWord{14, 11, 354},
- dictWord{15, 11, 22},
- dictWord{148, 11, 63},
- dictWord{9, 11, 209},
- dictWord{137, 11, 300},
- dictWord{134, 0, 771},
- dictWord{135, 0, 1979},
- dictWord{4, 0, 901},
- dictWord{133, 0, 776},
- dictWord{142, 0, 254},
- dictWord{133, 11, 98},
- dictWord{
- 9,
- 11,
- 16,
- },
- dictWord{141, 11, 386},
- dictWord{133, 11, 984},
- dictWord{4, 11, 182},
- dictWord{6, 11, 205},
- dictWord{135, 11, 220},
- dictWord{7, 10, 1725},
- dictWord{
- 7,
- 10,
- 1774,
- },
- dictWord{138, 10, 393},
- dictWord{5, 10, 263},
- dictWord{134, 10, 414},
- dictWord{4, 11, 42},
- dictWord{9, 11, 205},
- dictWord{9, 11, 786},
- dictWord{138, 11, 659},
- dictWord{14, 0, 140},
- dictWord{148, 0, 41},
- dictWord{8, 0, 440},
- dictWord{10, 0, 359},
- dictWord{6, 10, 178},
- dictWord{6, 11, 289},
- dictWord{
- 6,
- 10,
- 1750,
- },
- dictWord{7, 11, 1670},
- dictWord{9, 10, 690},
- dictWord{10, 10, 155},
- dictWord{10, 10, 373},
- dictWord{11, 10, 698},
- dictWord{12, 11, 57},
- dictWord{13, 10, 155},
- dictWord{20, 10, 93},
- dictWord{151, 11, 4},
- dictWord{4, 0, 37},
- dictWord{5, 0, 334},
- dictWord{7, 0, 1253},
- dictWord{151, 11, 25},
- dictWord{
- 4,
- 0,
- 508,
- },
- dictWord{4, 11, 635},
- dictWord{5, 10, 97},
- dictWord{137, 10, 393},
- dictWord{139, 11, 533},
- dictWord{4, 0, 640},
- dictWord{133, 0, 513},
- dictWord{
- 134,
- 10,
- 1639,
- },
- dictWord{132, 11, 371},
- dictWord{4, 11, 272},
- dictWord{7, 11, 836},
- dictWord{7, 11, 1651},
- dictWord{145, 11, 89},
- dictWord{5, 11, 825},
- dictWord{6, 11, 444},
- dictWord{6, 11, 1640},
- dictWord{136, 11, 308},
- dictWord{4, 10, 191},
- dictWord{7, 10, 934},
- dictWord{8, 10, 647},
- dictWord{145, 10, 97},
- dictWord{12, 0, 246},
- dictWord{15, 0, 162},
- dictWord{19, 0, 64},
- dictWord{20, 0, 8},
- dictWord{20, 0, 95},
- dictWord{22, 0, 24},
- dictWord{152, 0, 17},
- dictWord{4, 0, 533},
- dictWord{5, 10, 165},
- dictWord{9, 10, 346},
- dictWord{138, 10, 655},
- dictWord{5, 11, 737},
- dictWord{139, 10, 885},
- dictWord{133, 10, 877},
- dictWord{
- 8,
- 10,
- 128,
- },
- dictWord{139, 10, 179},
- dictWord{137, 11, 307},
- dictWord{140, 0, 752},
- dictWord{133, 0, 920},
- dictWord{135, 0, 1048},
- dictWord{5, 0, 153},
- dictWord{
- 6,
- 0,
- 580,
- },
- dictWord{6, 10, 1663},
- dictWord{7, 10, 132},
- dictWord{7, 10, 1154},
- dictWord{7, 10, 1415},
- dictWord{7, 10, 1507},
- dictWord{12, 10, 493},
- dictWord{15, 10, 105},
- dictWord{151, 10, 15},
- dictWord{5, 10, 459},
- dictWord{7, 10, 1073},
- dictWord{8, 10, 241},
- dictWord{136, 10, 334},
- dictWord{138, 0, 391},
- dictWord{135, 0, 1952},
- dictWord{133, 11, 525},
- dictWord{8, 11, 641},
- dictWord{11, 11, 388},
- dictWord{140, 11, 580},
- dictWord{142, 0, 126},
- dictWord{
- 134,
- 0,
- 640,
- },
- dictWord{132, 0, 483},
- dictWord{7, 0, 1616},
- dictWord{9, 0, 69},
- dictWord{6, 10, 324},
- dictWord{6, 10, 520},
- dictWord{7, 10, 338},
- dictWord{
- 7,
- 10,
- 1729,
- },
- dictWord{8, 10, 228},
- dictWord{139, 10, 750},
- dictWord{5, 11, 493},
- dictWord{134, 11, 528},
- dictWord{135, 0, 734},
- dictWord{4, 11, 174},
- dictWord{135, 11, 911},
- dictWord{138, 0, 480},
- dictWord{9, 0, 495},
- dictWord{146, 0, 104},
- dictWord{135, 10, 705},
- dictWord{9, 0, 472},
- dictWord{4, 10, 73},
- dictWord{6, 10, 612},
- dictWord{7, 10, 927},
- dictWord{7, 10, 1330},
- dictWord{7, 10, 1822},
- dictWord{8, 10, 217},
- dictWord{9, 10, 765},
- dictWord{9, 10, 766},
- dictWord{10, 10, 408},
- dictWord{11, 10, 51},
- dictWord{11, 10, 793},
- dictWord{12, 10, 266},
- dictWord{15, 10, 158},
- dictWord{20, 10, 89},
- dictWord{150, 10, 32},
- dictWord{7, 11, 548},
- dictWord{137, 11, 58},
- dictWord{4, 11, 32},
- dictWord{5, 11, 215},
- dictWord{6, 11, 269},
- dictWord{7, 11, 1782},
- dictWord{7, 11, 1892},
- dictWord{10, 11, 16},
- dictWord{11, 11, 822},
- dictWord{11, 11, 954},
- dictWord{141, 11, 481},
- dictWord{132, 0, 874},
- dictWord{9, 0, 229},
- dictWord{5, 10, 389},
- dictWord{136, 10, 636},
- dictWord{7, 11, 1749},
- dictWord{136, 11, 477},
- dictWord{134, 0, 948},
- dictWord{5, 11, 308},
- dictWord{135, 11, 1088},
- dictWord{
- 4,
- 0,
- 748,
- },
- dictWord{139, 0, 1009},
- dictWord{136, 10, 21},
- dictWord{6, 0, 555},
- dictWord{135, 0, 485},
- dictWord{5, 11, 126},
- dictWord{8, 11, 297},
- dictWord{
- 9,
- 11,
- 366,
- },
- dictWord{9, 11, 445},
- dictWord{12, 11, 53},
- dictWord{12, 11, 374},
- dictWord{141, 11, 492},
- dictWord{7, 11, 1551},
- dictWord{139, 11, 361},
- dictWord{136, 0, 193},
- dictWord{136, 0, 472},
- dictWord{8, 0, 653},
- dictWord{13, 0, 93},
- dictWord{147, 0, 14},
- dictWord{132, 0, 984},
- dictWord{132, 11, 175},
- dictWord{5, 0, 172},
- dictWord{6, 0, 1971},
- dictWord{132, 11, 685},
- dictWord{149, 11, 8},
- dictWord{133, 11, 797},
- dictWord{13, 0, 83},
- dictWord{5, 10, 189},
- dictWord{
- 7,
- 10,
- 442,
- },
- dictWord{7, 10, 443},
- dictWord{8, 10, 281},
- dictWord{12, 10, 174},
- dictWord{141, 10, 261},
- dictWord{134, 0, 1568},
- dictWord{133, 11, 565},
- dictWord{139, 0, 384},
- dictWord{133, 0, 260},
- dictWord{7, 0, 758},
- dictWord{7, 0, 880},
- dictWord{7, 0, 1359},
- dictWord{9, 0, 164},
- dictWord{9, 0, 167},
- dictWord{
- 10,
- 0,
- 156,
- },
- dictWord{10, 0, 588},
- dictWord{12, 0, 101},
- dictWord{14, 0, 48},
- dictWord{15, 0, 70},
- dictWord{6, 10, 2},
- dictWord{7, 10, 1262},
- dictWord{
- 7,
- 10,
- 1737,
- },
- dictWord{8, 10, 22},
- dictWord{8, 10, 270},
- dictWord{8, 10, 612},
- dictWord{9, 10, 312},
- dictWord{9, 10, 436},
- dictWord{10, 10, 311},
- dictWord{
- 10,
- 10,
- 623,
- },
- dictWord{11, 10, 72},
- dictWord{11, 10, 330},
- dictWord{11, 10, 455},
- dictWord{12, 10, 321},
- dictWord{12, 10, 504},
- dictWord{12, 10, 530},
- dictWord{
- 12,
- 10,
- 543,
- },
- dictWord{13, 10, 17},
- dictWord{13, 10, 156},
- dictWord{13, 10, 334},
- dictWord{17, 10, 60},
- dictWord{148, 10, 64},
- dictWord{4, 11, 252},
- dictWord{
- 7,
- 11,
- 1068,
- },
- dictWord{10, 11, 434},
- dictWord{11, 11, 228},
- dictWord{11, 11, 426},
- dictWord{13, 11, 231},
- dictWord{18, 11, 106},
- dictWord{148, 11, 87},
- dictWord{7, 10, 354},
- dictWord{10, 10, 410},
- dictWord{139, 10, 815},
- dictWord{6, 0, 367},
- dictWord{7, 10, 670},
- dictWord{7, 10, 1327},
- dictWord{8, 10, 411},
- dictWord{8, 10, 435},
- dictWord{9, 10, 653},
- dictWord{9, 10, 740},
- dictWord{10, 10, 385},
- dictWord{11, 10, 222},
- dictWord{11, 10, 324},
- dictWord{11, 10, 829},
- dictWord{140, 10, 611},
- dictWord{7, 0, 1174},
- dictWord{6, 10, 166},
- dictWord{135, 10, 374},
- dictWord{146, 0, 121},
- dictWord{132, 0, 828},
- dictWord{
- 5,
- 11,
- 231,
- },
- dictWord{138, 11, 509},
- dictWord{7, 11, 601},
- dictWord{9, 11, 277},
- dictWord{9, 11, 674},
- dictWord{10, 11, 178},
- dictWord{10, 11, 257},
- dictWord{
- 10,
- 11,
- 418,
- },
- dictWord{11, 11, 531},
- dictWord{11, 11, 544},
- dictWord{11, 11, 585},
- dictWord{12, 11, 113},
- dictWord{12, 11, 475},
- dictWord{13, 11, 99},
- dictWord{142, 11, 428},
- dictWord{134, 0, 1541},
- dictWord{135, 11, 1779},
- dictWord{5, 0, 343},
- dictWord{134, 10, 398},
- dictWord{135, 10, 50},
- dictWord{
- 135,
- 11,
- 1683,
- },
- dictWord{4, 0, 440},
- dictWord{7, 0, 57},
- dictWord{8, 0, 167},
- dictWord{8, 0, 375},
- dictWord{9, 0, 82},
- dictWord{9, 0, 561},
- dictWord{9, 0, 744},
- dictWord{
- 10,
- 0,
- 620,
- },
- dictWord{137, 11, 744},
- dictWord{134, 0, 926},
- dictWord{6, 10, 517},
- dictWord{7, 10, 1159},
- dictWord{10, 10, 621},
- dictWord{139, 10, 192},
- dictWord{137, 0, 827},
- dictWord{8, 0, 194},
- dictWord{136, 0, 756},
- dictWord{10, 10, 223},
- dictWord{139, 10, 645},
- dictWord{7, 10, 64},
- dictWord{
- 136,
- 10,
- 245,
- },
- dictWord{4, 11, 399},
- dictWord{5, 11, 119},
- dictWord{5, 11, 494},
- dictWord{7, 11, 751},
- dictWord{137, 11, 556},
- dictWord{132, 0, 808},
- dictWord{
- 135,
- 0,
- 22,
- },
- dictWord{7, 10, 1763},
- dictWord{140, 10, 310},
- dictWord{5, 0, 639},
- dictWord{7, 0, 1249},
- dictWord{11, 0, 896},
- dictWord{134, 11, 584},
- dictWord{
- 134,
- 0,
- 1614,
- },
- dictWord{135, 0, 860},
- dictWord{135, 11, 1121},
- dictWord{5, 10, 129},
- dictWord{6, 10, 61},
- dictWord{135, 10, 947},
- dictWord{4, 0, 102},
- dictWord{
- 7,
- 0,
- 815,
- },
- dictWord{7, 0, 1699},
- dictWord{139, 0, 964},
- dictWord{13, 10, 505},
- dictWord{141, 10, 506},
- dictWord{139, 10, 1000},
- dictWord{
- 132,
- 11,
- 679,
- },
- dictWord{132, 0, 899},
- dictWord{132, 0, 569},
- dictWord{5, 11, 694},
- dictWord{137, 11, 714},
- dictWord{136, 0, 795},
- dictWord{6, 0, 2045},
- dictWord{
- 139,
- 11,
- 7,
- },
- dictWord{6, 0, 52},
- dictWord{9, 0, 104},
- dictWord{9, 0, 559},
- dictWord{12, 0, 308},
- dictWord{147, 0, 87},
- dictWord{4, 0, 301},
- dictWord{132, 0, 604},
- dictWord{133, 10, 637},
- dictWord{136, 0, 779},
- dictWord{5, 11, 143},
- dictWord{5, 11, 769},
- dictWord{6, 11, 1760},
- dictWord{7, 11, 682},
- dictWord{7, 11, 1992},
- dictWord{136, 11, 736},
- dictWord{137, 10, 590},
- dictWord{147, 0, 32},
- dictWord{137, 11, 527},
- dictWord{5, 10, 280},
- dictWord{135, 10, 1226},
- dictWord{134, 0, 494},
- dictWord{6, 0, 677},
- dictWord{6, 0, 682},
- dictWord{134, 0, 1044},
- dictWord{133, 10, 281},
- dictWord{135, 10, 1064},
- dictWord{7, 0, 508},
- dictWord{133, 11, 860},
- dictWord{6, 11, 422},
- dictWord{7, 11, 0},
- dictWord{7, 11, 1544},
- dictWord{9, 11, 577},
- dictWord{11, 11, 990},
- dictWord{12, 11, 141},
- dictWord{12, 11, 453},
- dictWord{13, 11, 47},
- dictWord{141, 11, 266},
- dictWord{134, 0, 1014},
- dictWord{5, 11, 515},
- dictWord{137, 11, 131},
- dictWord{
- 134,
- 0,
- 957,
- },
- dictWord{132, 11, 646},
- dictWord{6, 0, 310},
- dictWord{7, 0, 1849},
- dictWord{8, 0, 72},
- dictWord{8, 0, 272},
- dictWord{8, 0, 431},
- dictWord{9, 0, 12},
- dictWord{
- 9,
- 0,
- 376,
- },
- dictWord{10, 0, 563},
- dictWord{10, 0, 630},
- dictWord{10, 0, 796},
- dictWord{10, 0, 810},
- dictWord{11, 0, 367},
- dictWord{11, 0, 599},
- dictWord{
- 11,
- 0,
- 686,
- },
- dictWord{140, 0, 672},
- dictWord{7, 0, 570},
- dictWord{4, 11, 396},
- dictWord{7, 10, 120},
- dictWord{7, 11, 728},
- dictWord{8, 10, 489},
- dictWord{9, 11, 117},
- dictWord{9, 10, 319},
- dictWord{10, 10, 820},
- dictWord{11, 10, 1004},
- dictWord{12, 10, 379},
- dictWord{12, 10, 679},
- dictWord{13, 10, 117},
- dictWord{
- 13,
- 11,
- 202,
- },
- dictWord{13, 10, 412},
- dictWord{14, 10, 25},
- dictWord{15, 10, 52},
- dictWord{15, 10, 161},
- dictWord{16, 10, 47},
- dictWord{20, 11, 51},
- dictWord{
- 149,
- 10,
- 2,
- },
- dictWord{6, 11, 121},
- dictWord{6, 11, 124},
- dictWord{6, 11, 357},
- dictWord{7, 11, 1138},
- dictWord{7, 11, 1295},
- dictWord{8, 11, 162},
- dictWord{
- 139,
- 11,
- 655,
- },
- dictWord{8, 0, 449},
- dictWord{4, 10, 937},
- dictWord{5, 10, 801},
- dictWord{136, 11, 449},
- dictWord{139, 11, 958},
- dictWord{6, 0, 181},
- dictWord{
- 7,
- 0,
- 537,
- },
- dictWord{8, 0, 64},
- dictWord{9, 0, 127},
- dictWord{10, 0, 496},
- dictWord{12, 0, 510},
- dictWord{141, 0, 384},
- dictWord{138, 11, 253},
- dictWord{4, 0, 244},
- dictWord{135, 0, 233},
- dictWord{133, 11, 237},
- dictWord{132, 10, 365},
- dictWord{6, 0, 1650},
- dictWord{10, 0, 702},
- dictWord{139, 0, 245},
- dictWord{
- 5,
- 10,
- 7,
- },
- dictWord{139, 10, 774},
- dictWord{13, 0, 463},
- dictWord{20, 0, 49},
- dictWord{13, 11, 463},
- dictWord{148, 11, 49},
- dictWord{4, 10, 734},
- dictWord{
- 5,
- 10,
- 662,
- },
- dictWord{134, 10, 430},
- dictWord{4, 10, 746},
- dictWord{135, 10, 1090},
- dictWord{5, 10, 360},
- dictWord{136, 10, 237},
- dictWord{137, 0, 338},
- dictWord{143, 11, 10},
- dictWord{7, 11, 571},
- dictWord{138, 11, 366},
- dictWord{134, 0, 1279},
- dictWord{9, 11, 513},
- dictWord{10, 11, 22},
- dictWord{10, 11, 39},
- dictWord{12, 11, 122},
- dictWord{140, 11, 187},
- dictWord{133, 0, 896},
- dictWord{146, 0, 178},
- dictWord{134, 0, 695},
- dictWord{137, 0, 808},
- dictWord{
- 134,
- 11,
- 587,
- },
- dictWord{7, 11, 107},
- dictWord{7, 11, 838},
- dictWord{8, 11, 550},
- dictWord{138, 11, 401},
- dictWord{7, 0, 1117},
- dictWord{136, 0, 539},
- dictWord{
- 4,
- 10,
- 277,
- },
- dictWord{5, 10, 608},
- dictWord{6, 10, 493},
- dictWord{7, 10, 457},
- dictWord{140, 10, 384},
- dictWord{133, 11, 768},
- dictWord{12, 0, 257},
- dictWord{
- 7,
- 10,
- 27,
- },
- dictWord{135, 10, 316},
- dictWord{140, 0, 1003},
- dictWord{4, 0, 207},
- dictWord{5, 0, 586},
- dictWord{5, 0, 676},
- dictWord{6, 0, 448},
- dictWord{
- 8,
- 0,
- 244,
- },
- dictWord{11, 0, 1},
- dictWord{13, 0, 3},
- dictWord{16, 0, 54},
- dictWord{17, 0, 4},
- dictWord{18, 0, 13},
- dictWord{133, 10, 552},
- dictWord{4, 10, 401},
- dictWord{
- 137,
- 10,
- 264,
- },
- dictWord{5, 0, 516},
- dictWord{7, 0, 1883},
- dictWord{135, 11, 1883},
- dictWord{12, 0, 960},
- dictWord{132, 11, 894},
- dictWord{5, 0, 4},
- dictWord{
- 5,
- 0,
- 810,
- },
- dictWord{6, 0, 13},
- dictWord{6, 0, 538},
- dictWord{6, 0, 1690},
- dictWord{6, 0, 1726},
- dictWord{7, 0, 499},
- dictWord{7, 0, 1819},
- dictWord{8, 0, 148},
- dictWord{
- 8,
- 0,
- 696,
- },
- dictWord{8, 0, 791},
- dictWord{12, 0, 125},
- dictWord{143, 0, 9},
- dictWord{135, 0, 1268},
- dictWord{11, 0, 30},
- dictWord{14, 0, 315},
- dictWord{
- 9,
- 10,
- 543,
- },
- dictWord{10, 10, 524},
- dictWord{12, 10, 524},
- dictWord{16, 10, 18},
- dictWord{20, 10, 26},
- dictWord{148, 10, 65},
- dictWord{6, 0, 748},
- dictWord{
- 4,
- 10,
- 205,
- },
- dictWord{5, 10, 623},
- dictWord{7, 10, 104},
- dictWord{136, 10, 519},
- dictWord{11, 0, 542},
- dictWord{139, 0, 852},
- dictWord{140, 0, 6},
- dictWord{
- 132,
- 0,
- 848,
- },
- dictWord{7, 0, 1385},
- dictWord{11, 0, 582},
- dictWord{11, 0, 650},
- dictWord{11, 0, 901},
- dictWord{11, 0, 949},
- dictWord{12, 0, 232},
- dictWord{12, 0, 236},
- dictWord{13, 0, 413},
- dictWord{13, 0, 501},
- dictWord{18, 0, 116},
- dictWord{7, 10, 579},
- dictWord{9, 10, 41},
- dictWord{9, 10, 244},
- dictWord{9, 10, 669},
- dictWord{10, 10, 5},
- dictWord{11, 10, 861},
- dictWord{11, 10, 951},
- dictWord{139, 10, 980},
- dictWord{4, 0, 945},
- dictWord{6, 0, 1811},
- dictWord{6, 0, 1845},
- dictWord{
- 6,
- 0,
- 1853,
- },
- dictWord{6, 0, 1858},
- dictWord{8, 0, 862},
- dictWord{12, 0, 782},
- dictWord{12, 0, 788},
- dictWord{18, 0, 160},
- dictWord{148, 0, 117},
- dictWord{
- 132,
- 10,
- 717,
- },
- dictWord{4, 0, 925},
- dictWord{5, 0, 803},
- dictWord{8, 0, 698},
- dictWord{138, 0, 828},
- dictWord{134, 0, 1416},
- dictWord{132, 0, 610},
- dictWord{
- 139,
- 0,
- 992,
- },
- dictWord{6, 0, 878},
- dictWord{134, 0, 1477},
- dictWord{135, 0, 1847},
- dictWord{138, 11, 531},
- dictWord{137, 11, 539},
- dictWord{134, 11, 272},
- dictWord{133, 0, 383},
- dictWord{134, 0, 1404},
- dictWord{132, 10, 489},
- dictWord{4, 11, 9},
- dictWord{5, 11, 128},
- dictWord{7, 11, 368},
- dictWord{
- 11,
- 11,
- 480,
- },
- dictWord{148, 11, 3},
- dictWord{136, 0, 986},
- dictWord{9, 0, 660},
- dictWord{138, 0, 347},
- dictWord{135, 10, 892},
- dictWord{136, 11, 682},
- dictWord{
- 7,
- 0,
- 572,
- },
- dictWord{9, 0, 592},
- dictWord{11, 0, 680},
- dictWord{12, 0, 356},
- dictWord{140, 0, 550},
- dictWord{7, 0, 1411},
- dictWord{138, 11, 527},
- dictWord{
- 4,
- 11,
- 2,
- },
- dictWord{7, 11, 545},
- dictWord{135, 11, 894},
- dictWord{137, 10, 473},
- dictWord{11, 0, 64},
- dictWord{7, 11, 481},
- dictWord{7, 10, 819},
- dictWord{9, 10, 26},
- dictWord{9, 10, 392},
- dictWord{9, 11, 792},
- dictWord{10, 10, 152},
- dictWord{10, 10, 226},
- dictWord{12, 10, 276},
- dictWord{12, 10, 426},
- dictWord{
- 12,
- 10,
- 589,
- },
- dictWord{13, 10, 460},
- dictWord{15, 10, 97},
- dictWord{19, 10, 48},
- dictWord{148, 10, 104},
- dictWord{135, 10, 51},
- dictWord{136, 11, 445},
- dictWord{136, 11, 646},
- dictWord{135, 0, 606},
- dictWord{132, 10, 674},
- dictWord{6, 0, 1829},
- dictWord{134, 0, 1830},
- dictWord{132, 10, 770},
- dictWord{
- 5,
- 10,
- 79,
- },
- dictWord{7, 10, 1027},
- dictWord{7, 10, 1477},
- dictWord{139, 10, 52},
- dictWord{5, 11, 530},
- dictWord{142, 11, 113},
- dictWord{134, 10, 1666},
- dictWord{
- 7,
- 0,
- 748,
- },
- dictWord{139, 0, 700},
- dictWord{134, 10, 195},
- dictWord{133, 10, 789},
- dictWord{9, 0, 87},
- dictWord{10, 0, 365},
- dictWord{4, 10, 251},
- dictWord{
- 4,
- 10,
- 688,
- },
- dictWord{7, 10, 513},
- dictWord{135, 10, 1284},
- dictWord{136, 11, 111},
- dictWord{133, 0, 127},
- dictWord{6, 0, 198},
- dictWord{140, 0, 83},
- dictWord{133, 11, 556},
- dictWord{133, 10, 889},
- dictWord{4, 10, 160},
- dictWord{5, 10, 330},
- dictWord{7, 10, 1434},
- dictWord{136, 10, 174},
- dictWord{5, 0, 276},
- dictWord{6, 0, 55},
- dictWord{7, 0, 1369},
- dictWord{138, 0, 864},
- dictWord{8, 11, 16},
- dictWord{140, 11, 568},
- dictWord{6, 0, 1752},
- dictWord{136, 0, 726},
- dictWord{135, 0, 1066},
- dictWord{133, 0, 764},
- dictWord{6, 11, 186},
- dictWord{137, 11, 426},
- dictWord{11, 0, 683},
- dictWord{139, 11, 683},
- dictWord{
- 6,
- 0,
- 309,
- },
- dictWord{7, 0, 331},
- dictWord{138, 0, 550},
- dictWord{133, 10, 374},
- dictWord{6, 0, 1212},
- dictWord{6, 0, 1852},
- dictWord{7, 0, 1062},
- dictWord{
- 8,
- 0,
- 874,
- },
- dictWord{8, 0, 882},
- dictWord{138, 0, 936},
- dictWord{132, 11, 585},
- dictWord{134, 0, 1364},
- dictWord{7, 0, 986},
- dictWord{133, 10, 731},
- dictWord{
- 6,
- 0,
- 723,
- },
- dictWord{6, 0, 1408},
- dictWord{138, 0, 381},
- dictWord{135, 0, 1573},
- dictWord{134, 0, 1025},
- dictWord{4, 10, 626},
- dictWord{5, 10, 642},
- dictWord{
- 6,
- 10,
- 425,
- },
- dictWord{10, 10, 202},
- dictWord{139, 10, 141},
- dictWord{4, 11, 93},
- dictWord{5, 11, 252},
- dictWord{6, 11, 229},
- dictWord{7, 11, 291},
- dictWord{
- 9,
- 11,
- 550,
- },
- dictWord{139, 11, 644},
- dictWord{137, 11, 749},
- dictWord{137, 11, 162},
- dictWord{132, 11, 381},
- dictWord{135, 0, 1559},
- dictWord{
- 6,
- 0,
- 194,
- },
- dictWord{7, 0, 133},
- dictWord{10, 0, 493},
- dictWord{10, 0, 570},
- dictWord{139, 0, 664},
- dictWord{5, 0, 24},
- dictWord{5, 0, 569},
- dictWord{6, 0, 3},
- dictWord{
- 6,
- 0,
- 119,
- },
- dictWord{6, 0, 143},
- dictWord{6, 0, 440},
- dictWord{7, 0, 295},
- dictWord{7, 0, 599},
- dictWord{7, 0, 1686},
- dictWord{7, 0, 1854},
- dictWord{8, 0, 424},
- dictWord{
- 9,
- 0,
- 43,
- },
- dictWord{9, 0, 584},
- dictWord{9, 0, 760},
- dictWord{10, 0, 148},
- dictWord{10, 0, 328},
- dictWord{11, 0, 159},
- dictWord{11, 0, 253},
- dictWord{11, 0, 506},
- dictWord{12, 0, 487},
- dictWord{140, 0, 531},
- dictWord{6, 0, 661},
- dictWord{134, 0, 1517},
- dictWord{136, 10, 835},
- dictWord{151, 10, 17},
- dictWord{5, 0, 14},
- dictWord{5, 0, 892},
- dictWord{6, 0, 283},
- dictWord{7, 0, 234},
- dictWord{136, 0, 537},
- dictWord{139, 0, 541},
- dictWord{4, 0, 126},
- dictWord{8, 0, 635},
- dictWord{
- 147,
- 0,
- 34,
- },
- dictWord{4, 0, 316},
- dictWord{4, 0, 495},
- dictWord{135, 0, 1561},
- dictWord{4, 11, 187},
- dictWord{5, 11, 184},
- dictWord{5, 11, 690},
- dictWord{
- 7,
- 11,
- 1869,
- },
- dictWord{138, 11, 756},
- dictWord{139, 11, 783},
- dictWord{4, 0, 998},
- dictWord{137, 0, 861},
- dictWord{136, 0, 1009},
- dictWord{139, 11, 292},
- dictWord{5, 11, 21},
- dictWord{6, 11, 77},
- dictWord{6, 11, 157},
- dictWord{7, 11, 974},
- dictWord{7, 11, 1301},
- dictWord{7, 11, 1339},
- dictWord{7, 11, 1490},
- dictWord{
- 7,
- 11,
- 1873,
- },
- dictWord{137, 11, 628},
- dictWord{7, 11, 1283},
- dictWord{9, 11, 227},
- dictWord{9, 11, 499},
- dictWord{10, 11, 341},
- dictWord{11, 11, 325},
- dictWord{11, 11, 408},
- dictWord{14, 11, 180},
- dictWord{15, 11, 144},
- dictWord{18, 11, 47},
- dictWord{147, 11, 49},
- dictWord{4, 0, 64},
- dictWord{5, 0, 352},
- dictWord{5, 0, 720},
- dictWord{6, 0, 368},
- dictWord{139, 0, 359},
- dictWord{5, 10, 384},
- dictWord{8, 10, 455},
- dictWord{140, 10, 48},
- dictWord{5, 10, 264},
- dictWord{
- 134,
- 10,
- 184,
- },
- dictWord{7, 0, 1577},
- dictWord{10, 0, 304},
- dictWord{10, 0, 549},
- dictWord{12, 0, 365},
- dictWord{13, 0, 220},
- dictWord{13, 0, 240},
- dictWord{
- 142,
- 0,
- 33,
- },
- dictWord{134, 0, 1107},
- dictWord{134, 0, 929},
- dictWord{135, 0, 1142},
- dictWord{6, 0, 175},
- dictWord{137, 0, 289},
- dictWord{5, 0, 432},
- dictWord{
- 133,
- 0,
- 913,
- },
- dictWord{6, 0, 279},
- dictWord{7, 0, 219},
- dictWord{5, 10, 633},
- dictWord{135, 10, 1323},
- dictWord{7, 0, 785},
- dictWord{7, 10, 359},
- dictWord{
- 8,
- 10,
- 243,
- },
- dictWord{140, 10, 175},
- dictWord{139, 0, 595},
- dictWord{132, 10, 105},
- dictWord{8, 11, 398},
- dictWord{9, 11, 681},
- dictWord{139, 11, 632},
- dictWord{140, 0, 80},
- dictWord{5, 0, 931},
- dictWord{134, 0, 1698},
- dictWord{142, 11, 241},
- dictWord{134, 11, 20},
- dictWord{134, 0, 1323},
- dictWord{11, 0, 526},
- dictWord{11, 0, 939},
- dictWord{141, 0, 290},
- dictWord{5, 0, 774},
- dictWord{6, 0, 780},
- dictWord{6, 0, 1637},
- dictWord{6, 0, 1686},
- dictWord{6, 0, 1751},
- dictWord{
- 8,
- 0,
- 559,
- },
- dictWord{141, 0, 109},
- dictWord{141, 0, 127},
- dictWord{7, 0, 1167},
- dictWord{11, 0, 934},
- dictWord{13, 0, 391},
- dictWord{17, 0, 76},
- dictWord{
- 135,
- 11,
- 709,
- },
- dictWord{135, 0, 963},
- dictWord{6, 0, 260},
- dictWord{135, 0, 1484},
- dictWord{134, 0, 573},
- dictWord{4, 10, 758},
- dictWord{139, 11, 941},
- dictWord{135, 10, 1649},
- dictWord{145, 11, 36},
- dictWord{4, 0, 292},
- dictWord{137, 0, 580},
- dictWord{4, 0, 736},
- dictWord{5, 0, 871},
- dictWord{6, 0, 1689},
- dictWord{135, 0, 1944},
- dictWord{7, 11, 945},
- dictWord{11, 11, 713},
- dictWord{139, 11, 744},
- dictWord{134, 0, 1164},
- dictWord{135, 11, 937},
- dictWord{
- 6,
- 0,
- 1922,
- },
- dictWord{9, 0, 982},
- dictWord{15, 0, 173},
- dictWord{15, 0, 178},
- dictWord{15, 0, 200},
- dictWord{18, 0, 189},
- dictWord{18, 0, 207},
- dictWord{21, 0, 47},
- dictWord{135, 11, 1652},
- dictWord{7, 0, 1695},
- dictWord{139, 10, 128},
- dictWord{6, 0, 63},
- dictWord{135, 0, 920},
- dictWord{133, 0, 793},
- dictWord{
- 143,
- 11,
- 134,
- },
- dictWord{133, 10, 918},
- dictWord{5, 0, 67},
- dictWord{6, 0, 62},
- dictWord{6, 0, 374},
- dictWord{135, 0, 1391},
- dictWord{9, 0, 790},
- dictWord{12, 0, 47},
- dictWord{4, 11, 579},
- dictWord{5, 11, 226},
- dictWord{5, 11, 323},
- dictWord{135, 11, 960},
- dictWord{10, 11, 784},
- dictWord{141, 11, 191},
- dictWord{4, 0, 391},
- dictWord{135, 0, 1169},
- dictWord{137, 0, 443},
- dictWord{13, 11, 232},
- dictWord{146, 11, 35},
- dictWord{132, 10, 340},
- dictWord{132, 0, 271},
- dictWord{
- 137,
- 11,
- 313,
- },
- dictWord{5, 11, 973},
- dictWord{137, 11, 659},
- dictWord{134, 0, 1140},
- dictWord{6, 11, 135},
- dictWord{135, 11, 1176},
- dictWord{4, 0, 253},
- dictWord{5, 0, 544},
- dictWord{7, 0, 300},
- dictWord{137, 0, 340},
- dictWord{7, 0, 897},
- dictWord{5, 10, 985},
- dictWord{7, 10, 509},
- dictWord{145, 10, 96},
- dictWord{
- 138,
- 11,
- 735,
- },
- dictWord{135, 10, 1919},
- dictWord{138, 0, 890},
- dictWord{5, 0, 818},
- dictWord{134, 0, 1122},
- dictWord{5, 0, 53},
- dictWord{5, 0, 541},
- dictWord{
- 6,
- 0,
- 94,
- },
- dictWord{6, 0, 499},
- dictWord{7, 0, 230},
- dictWord{139, 0, 321},
- dictWord{4, 0, 920},
- dictWord{5, 0, 25},
- dictWord{5, 0, 790},
- dictWord{6, 0, 457},
- dictWord{
- 7,
- 0,
- 853,
- },
- dictWord{8, 0, 788},
- dictWord{142, 11, 31},
- dictWord{132, 10, 247},
- dictWord{135, 11, 314},
- dictWord{132, 0, 468},
- dictWord{7, 0, 243},
- dictWord{
- 6,
- 10,
- 337,
- },
- dictWord{7, 10, 494},
- dictWord{8, 10, 27},
- dictWord{8, 10, 599},
- dictWord{138, 10, 153},
- dictWord{4, 10, 184},
- dictWord{5, 10, 390},
- dictWord{
- 7,
- 10,
- 618,
- },
- dictWord{7, 10, 1456},
- dictWord{139, 10, 710},
- dictWord{134, 0, 870},
- dictWord{134, 0, 1238},
- dictWord{134, 0, 1765},
- dictWord{10, 0, 853},
- dictWord{10, 0, 943},
- dictWord{14, 0, 437},
- dictWord{14, 0, 439},
- dictWord{14, 0, 443},
- dictWord{14, 0, 446},
- dictWord{14, 0, 452},
- dictWord{14, 0, 469},
- dictWord{
- 14,
- 0,
- 471,
- },
- dictWord{14, 0, 473},
- dictWord{16, 0, 93},
- dictWord{16, 0, 102},
- dictWord{16, 0, 110},
- dictWord{148, 0, 121},
- dictWord{4, 0, 605},
- dictWord{
- 7,
- 0,
- 518,
- },
- dictWord{7, 0, 1282},
- dictWord{7, 0, 1918},
- dictWord{10, 0, 180},
- dictWord{139, 0, 218},
- dictWord{133, 0, 822},
- dictWord{4, 0, 634},
- dictWord{
- 11,
- 0,
- 916,
- },
- dictWord{142, 0, 419},
- dictWord{6, 11, 281},
- dictWord{7, 11, 6},
- dictWord{8, 11, 282},
- dictWord{8, 11, 480},
- dictWord{8, 11, 499},
- dictWord{9, 11, 198},
- dictWord{10, 11, 143},
- dictWord{10, 11, 169},
- dictWord{10, 11, 211},
- dictWord{10, 11, 417},
- dictWord{10, 11, 574},
- dictWord{11, 11, 147},
- dictWord{
- 11,
- 11,
- 395,
- },
- dictWord{12, 11, 75},
- dictWord{12, 11, 407},
- dictWord{12, 11, 608},
- dictWord{13, 11, 500},
- dictWord{142, 11, 251},
- dictWord{134, 0, 898},
- dictWord{
- 6,
- 0,
- 36,
- },
- dictWord{7, 0, 658},
- dictWord{8, 0, 454},
- dictWord{150, 11, 48},
- dictWord{133, 11, 674},
- dictWord{135, 11, 1776},
- dictWord{4, 11, 419},
- dictWord{
- 10,
- 10,
- 227,
- },
- dictWord{11, 10, 497},
- dictWord{11, 10, 709},
- dictWord{140, 10, 415},
- dictWord{6, 10, 360},
- dictWord{7, 10, 1664},
- dictWord{136, 10, 478},
- dictWord{137, 0, 806},
- dictWord{12, 11, 508},
- dictWord{14, 11, 102},
- dictWord{14, 11, 226},
- dictWord{144, 11, 57},
- dictWord{135, 11, 1123},
- dictWord{
- 4,
- 11,
- 138,
- },
- dictWord{7, 11, 1012},
- dictWord{7, 11, 1280},
- dictWord{137, 11, 76},
- dictWord{5, 11, 29},
- dictWord{140, 11, 638},
- dictWord{136, 10, 699},
- dictWord{134, 0, 1326},
- dictWord{132, 0, 104},
- dictWord{135, 11, 735},
- dictWord{132, 10, 739},
- dictWord{134, 0, 1331},
- dictWord{7, 0, 260},
- dictWord{
- 135,
- 11,
- 260,
- },
- dictWord{135, 11, 1063},
- dictWord{7, 0, 45},
- dictWord{9, 0, 542},
- dictWord{9, 0, 566},
- dictWord{10, 0, 728},
- dictWord{137, 10, 869},
- dictWord{
- 4,
- 10,
- 67,
- },
- dictWord{5, 10, 422},
- dictWord{7, 10, 1037},
- dictWord{7, 10, 1289},
- dictWord{7, 10, 1555},
- dictWord{9, 10, 741},
- dictWord{145, 10, 108},
- dictWord{
- 139,
- 0,
- 263,
- },
- dictWord{134, 0, 1516},
- dictWord{14, 0, 146},
- dictWord{15, 0, 42},
- dictWord{16, 0, 23},
- dictWord{17, 0, 86},
- dictWord{146, 0, 17},
- dictWord{
- 138,
- 0,
- 468,
- },
- dictWord{136, 0, 1005},
- dictWord{4, 11, 17},
- dictWord{5, 11, 23},
- dictWord{7, 11, 995},
- dictWord{11, 11, 383},
- dictWord{11, 11, 437},
- dictWord{
- 12,
- 11,
- 460,
- },
- dictWord{140, 11, 532},
- dictWord{7, 0, 87},
- dictWord{142, 0, 288},
- dictWord{138, 10, 96},
- dictWord{135, 11, 626},
- dictWord{144, 10, 26},
- dictWord{
- 7,
- 0,
- 988,
- },
- dictWord{7, 0, 1939},
- dictWord{9, 0, 64},
- dictWord{9, 0, 502},
- dictWord{12, 0, 22},
- dictWord{12, 0, 34},
- dictWord{13, 0, 12},
- dictWord{13, 0, 234},
- dictWord{147, 0, 77},
- dictWord{13, 0, 133},
- dictWord{8, 10, 203},
- dictWord{11, 10, 823},
- dictWord{11, 10, 846},
- dictWord{12, 10, 482},
- dictWord{13, 10, 277},
- dictWord{13, 10, 302},
- dictWord{13, 10, 464},
- dictWord{14, 10, 205},
- dictWord{142, 10, 221},
- dictWord{4, 10, 449},
- dictWord{133, 10, 718},
- dictWord{
- 135,
- 0,
- 141,
- },
- dictWord{6, 0, 1842},
- dictWord{136, 0, 872},
- dictWord{8, 11, 70},
- dictWord{12, 11, 171},
- dictWord{141, 11, 272},
- dictWord{4, 10, 355},
- dictWord{
- 6,
- 10,
- 311,
- },
- dictWord{9, 10, 256},
- dictWord{138, 10, 404},
- dictWord{132, 0, 619},
- dictWord{137, 0, 261},
- dictWord{10, 11, 233},
- dictWord{10, 10, 758},
- dictWord{139, 11, 76},
- dictWord{5, 0, 246},
- dictWord{8, 0, 189},
- dictWord{9, 0, 355},
- dictWord{9, 0, 512},
- dictWord{10, 0, 124},
- dictWord{10, 0, 453},
- dictWord{
- 11,
- 0,
- 143,
- },
- dictWord{11, 0, 416},
- dictWord{11, 0, 859},
- dictWord{141, 0, 341},
- dictWord{134, 11, 442},
- dictWord{133, 10, 827},
- dictWord{5, 10, 64},
- dictWord{
- 140,
- 10,
- 581,
- },
- dictWord{4, 10, 442},
- dictWord{7, 10, 1047},
- dictWord{7, 10, 1352},
- dictWord{135, 10, 1643},
- dictWord{134, 11, 1709},
- dictWord{5, 0, 678},
- dictWord{6, 0, 305},
- dictWord{7, 0, 775},
- dictWord{7, 0, 1065},
- dictWord{133, 10, 977},
- dictWord{11, 11, 69},
- dictWord{12, 11, 105},
- dictWord{12, 11, 117},
- dictWord{13, 11, 213},
- dictWord{14, 11, 13},
- dictWord{14, 11, 62},
- dictWord{14, 11, 177},
- dictWord{14, 11, 421},
- dictWord{15, 11, 19},
- dictWord{146, 11, 141},
- dictWord{137, 11, 309},
- dictWord{5, 0, 35},
- dictWord{7, 0, 862},
- dictWord{7, 0, 1886},
- dictWord{138, 0, 179},
- dictWord{136, 0, 285},
- dictWord{132, 0, 517},
- dictWord{7, 11, 976},
- dictWord{9, 11, 146},
- dictWord{10, 11, 206},
- dictWord{10, 11, 596},
- dictWord{13, 11, 218},
- dictWord{142, 11, 153},
- dictWord{
- 132,
- 10,
- 254,
- },
- dictWord{6, 0, 214},
- dictWord{12, 0, 540},
- dictWord{4, 10, 275},
- dictWord{7, 10, 1219},
- dictWord{140, 10, 376},
- dictWord{8, 0, 667},
- dictWord{
- 11,
- 0,
- 403,
- },
- dictWord{146, 0, 83},
- dictWord{12, 0, 74},
- dictWord{10, 11, 648},
- dictWord{11, 11, 671},
- dictWord{143, 11, 46},
- dictWord{135, 0, 125},
- dictWord{
- 134,
- 10,
- 1753,
- },
- dictWord{133, 0, 761},
- dictWord{6, 0, 912},
- dictWord{4, 11, 518},
- dictWord{6, 10, 369},
- dictWord{6, 10, 502},
- dictWord{7, 10, 1036},
- dictWord{
- 7,
- 11,
- 1136,
- },
- dictWord{8, 10, 348},
- dictWord{9, 10, 452},
- dictWord{10, 10, 26},
- dictWord{11, 10, 224},
- dictWord{11, 10, 387},
- dictWord{11, 10, 772},
- dictWord{12, 10, 95},
- dictWord{12, 10, 629},
- dictWord{13, 10, 195},
- dictWord{13, 10, 207},
- dictWord{13, 10, 241},
- dictWord{14, 10, 260},
- dictWord{14, 10, 270},
- dictWord{143, 10, 140},
- dictWord{10, 0, 131},
- dictWord{140, 0, 72},
- dictWord{132, 10, 269},
- dictWord{5, 10, 480},
- dictWord{7, 10, 532},
- dictWord{
- 7,
- 10,
- 1197,
- },
- dictWord{7, 10, 1358},
- dictWord{8, 10, 291},
- dictWord{11, 10, 349},
- dictWord{142, 10, 396},
- dictWord{8, 11, 689},
- dictWord{137, 11, 863},
- dictWord{
- 8,
- 0,
- 333,
- },
- dictWord{138, 0, 182},
- dictWord{4, 11, 18},
- dictWord{7, 11, 145},
- dictWord{7, 11, 444},
- dictWord{7, 11, 1278},
- dictWord{8, 11, 49},
- dictWord{
- 8,
- 11,
- 400,
- },
- dictWord{9, 11, 71},
- dictWord{9, 11, 250},
- dictWord{10, 11, 459},
- dictWord{12, 11, 160},
- dictWord{144, 11, 24},
- dictWord{14, 11, 35},
- dictWord{
- 142,
- 11,
- 191,
- },
- dictWord{135, 11, 1864},
- dictWord{135, 0, 1338},
- dictWord{148, 10, 15},
- dictWord{14, 0, 94},
- dictWord{15, 0, 65},
- dictWord{16, 0, 4},
- dictWord{
- 16,
- 0,
- 77,
- },
- dictWord{16, 0, 80},
- dictWord{145, 0, 5},
- dictWord{12, 11, 82},
- dictWord{143, 11, 36},
- dictWord{133, 11, 1010},
- dictWord{133, 0, 449},
- dictWord{
- 133,
- 0,
- 646,
- },
- dictWord{7, 0, 86},
- dictWord{8, 0, 103},
- dictWord{135, 10, 657},
- dictWord{7, 0, 2028},
- dictWord{138, 0, 641},
- dictWord{136, 10, 533},
- dictWord{
- 134,
- 0,
- 1,
- },
- dictWord{139, 11, 970},
- dictWord{5, 11, 87},
- dictWord{7, 11, 313},
- dictWord{7, 11, 1103},
- dictWord{10, 11, 112},
- dictWord{10, 11, 582},
- dictWord{
- 11,
- 11,
- 389,
- },
- dictWord{11, 11, 813},
- dictWord{12, 11, 385},
- dictWord{13, 11, 286},
- dictWord{14, 11, 124},
- dictWord{146, 11, 108},
- dictWord{6, 0, 869},
- dictWord{
- 132,
- 11,
- 267,
- },
- dictWord{6, 0, 277},
- dictWord{7, 0, 1274},
- dictWord{7, 0, 1386},
- dictWord{146, 0, 87},
- dictWord{6, 0, 187},
- dictWord{7, 0, 39},
- dictWord{7, 0, 1203},
- dictWord{8, 0, 380},
- dictWord{14, 0, 117},
- dictWord{149, 0, 28},
- dictWord{4, 10, 211},
- dictWord{4, 10, 332},
- dictWord{5, 10, 335},
- dictWord{6, 10, 238},
- dictWord{
- 7,
- 10,
- 269,
- },
- dictWord{7, 10, 811},
- dictWord{7, 10, 1797},
- dictWord{8, 10, 836},
- dictWord{9, 10, 507},
- dictWord{141, 10, 242},
- dictWord{4, 0, 785},
- dictWord{
- 5,
- 0,
- 368,
- },
- dictWord{6, 0, 297},
- dictWord{7, 0, 793},
- dictWord{139, 0, 938},
- dictWord{7, 0, 464},
- dictWord{8, 0, 558},
- dictWord{11, 0, 105},
- dictWord{12, 0, 231},
- dictWord{14, 0, 386},
- dictWord{15, 0, 102},
- dictWord{148, 0, 75},
- dictWord{133, 10, 1009},
- dictWord{8, 0, 877},
- dictWord{140, 0, 731},
- dictWord{
- 139,
- 11,
- 289,
- },
- dictWord{10, 11, 249},
- dictWord{139, 11, 209},
- dictWord{132, 11, 561},
- dictWord{134, 0, 1608},
- dictWord{132, 11, 760},
- dictWord{134, 0, 1429},
- dictWord{9, 11, 154},
- dictWord{140, 11, 485},
- dictWord{5, 10, 228},
- dictWord{6, 10, 203},
- dictWord{7, 10, 156},
- dictWord{8, 10, 347},
- dictWord{
- 137,
- 10,
- 265,
- },
- dictWord{7, 0, 1010},
- dictWord{11, 0, 733},
- dictWord{11, 0, 759},
- dictWord{13, 0, 34},
- dictWord{14, 0, 427},
- dictWord{146, 0, 45},
- dictWord{7, 10, 1131},
- dictWord{135, 10, 1468},
- dictWord{136, 11, 255},
- dictWord{7, 0, 1656},
- dictWord{9, 0, 369},
- dictWord{10, 0, 338},
- dictWord{10, 0, 490},
- dictWord{
- 11,
- 0,
- 154,
- },
- dictWord{11, 0, 545},
- dictWord{11, 0, 775},
- dictWord{13, 0, 77},
- dictWord{141, 0, 274},
- dictWord{133, 11, 621},
- dictWord{134, 0, 1038},
- dictWord{
- 4,
- 11,
- 368,
- },
- dictWord{135, 11, 641},
- dictWord{6, 0, 2010},
- dictWord{8, 0, 979},
- dictWord{8, 0, 985},
- dictWord{10, 0, 951},
- dictWord{138, 0, 1011},
- dictWord{
- 134,
- 0,
- 1005,
- },
- dictWord{19, 0, 121},
- dictWord{5, 10, 291},
- dictWord{5, 10, 318},
- dictWord{7, 10, 765},
- dictWord{9, 10, 389},
- dictWord{140, 10, 548},
- dictWord{
- 5,
- 0,
- 20,
- },
- dictWord{6, 0, 298},
- dictWord{7, 0, 659},
- dictWord{137, 0, 219},
- dictWord{7, 0, 1440},
- dictWord{11, 0, 854},
- dictWord{11, 0, 872},
- dictWord{11, 0, 921},
- dictWord{12, 0, 551},
- dictWord{13, 0, 472},
- dictWord{142, 0, 367},
- dictWord{5, 0, 490},
- dictWord{6, 0, 615},
- dictWord{6, 0, 620},
- dictWord{135, 0, 683},
- dictWord{
- 6,
- 0,
- 1070,
- },
- dictWord{134, 0, 1597},
- dictWord{139, 0, 522},
- dictWord{132, 0, 439},
- dictWord{136, 0, 669},
- dictWord{6, 0, 766},
- dictWord{6, 0, 1143},
- dictWord{
- 6,
- 0,
- 1245,
- },
- dictWord{10, 10, 525},
- dictWord{139, 10, 82},
- dictWord{9, 11, 92},
- dictWord{147, 11, 91},
- dictWord{6, 0, 668},
- dictWord{134, 0, 1218},
- dictWord{
- 6,
- 11,
- 525,
- },
- dictWord{9, 11, 876},
- dictWord{140, 11, 284},
- dictWord{132, 0, 233},
- dictWord{136, 0, 547},
- dictWord{132, 10, 422},
- dictWord{5, 10, 355},
- dictWord{145, 10, 0},
- dictWord{6, 11, 300},
- dictWord{135, 11, 1515},
- dictWord{4, 0, 482},
- dictWord{137, 10, 905},
- dictWord{4, 0, 886},
- dictWord{7, 0, 346},
- dictWord{133, 11, 594},
- dictWord{133, 10, 865},
- dictWord{5, 10, 914},
- dictWord{134, 10, 1625},
- dictWord{135, 0, 334},
- dictWord{5, 0, 795},
- dictWord{
- 6,
- 0,
- 1741,
- },
- dictWord{133, 10, 234},
- dictWord{135, 10, 1383},
- dictWord{6, 11, 1641},
- dictWord{136, 11, 820},
- dictWord{135, 0, 371},
- dictWord{7, 11, 1313},
- dictWord{138, 11, 660},
- dictWord{135, 10, 1312},
- dictWord{135, 0, 622},
- dictWord{7, 0, 625},
- dictWord{135, 0, 1750},
- dictWord{135, 0, 339},
- dictWord{
- 4,
- 0,
- 203,
- },
- dictWord{135, 0, 1936},
- dictWord{15, 0, 29},
- dictWord{16, 0, 38},
- dictWord{15, 11, 29},
- dictWord{144, 11, 38},
- dictWord{5, 0, 338},
- dictWord{
- 135,
- 0,
- 1256,
- },
- dictWord{135, 10, 1493},
- dictWord{10, 0, 130},
- dictWord{6, 10, 421},
- dictWord{7, 10, 61},
- dictWord{7, 10, 1540},
- dictWord{138, 10, 501},
- dictWord{
- 6,
- 11,
- 389,
- },
- dictWord{7, 11, 149},
- dictWord{9, 11, 142},
- dictWord{138, 11, 94},
- dictWord{137, 10, 341},
- dictWord{11, 0, 678},
- dictWord{12, 0, 307},
- dictWord{142, 10, 98},
- dictWord{6, 11, 8},
- dictWord{7, 11, 1881},
- dictWord{136, 11, 91},
- dictWord{135, 0, 2044},
- dictWord{6, 0, 770},
- dictWord{6, 0, 802},
- dictWord{
- 6,
- 0,
- 812,
- },
- dictWord{7, 0, 311},
- dictWord{9, 0, 308},
- dictWord{12, 0, 255},
- dictWord{6, 10, 102},
- dictWord{7, 10, 72},
- dictWord{15, 10, 142},
- dictWord{
- 147,
- 10,
- 67,
- },
- dictWord{151, 10, 30},
- dictWord{135, 10, 823},
- dictWord{135, 0, 1266},
- dictWord{135, 11, 1746},
- dictWord{135, 10, 1870},
- dictWord{4, 0, 400},
- dictWord{5, 0, 267},
- dictWord{135, 0, 232},
- dictWord{7, 11, 24},
- dictWord{11, 11, 542},
- dictWord{139, 11, 852},
- dictWord{135, 11, 1739},
- dictWord{4, 11, 503},
- dictWord{135, 11, 1661},
- dictWord{5, 11, 130},
- dictWord{7, 11, 1314},
- dictWord{9, 11, 610},
- dictWord{10, 11, 718},
- dictWord{11, 11, 601},
- dictWord{
- 11,
- 11,
- 819,
- },
- dictWord{11, 11, 946},
- dictWord{140, 11, 536},
- dictWord{10, 11, 149},
- dictWord{11, 11, 280},
- dictWord{142, 11, 336},
- dictWord{7, 0, 739},
- dictWord{11, 0, 690},
- dictWord{7, 11, 1946},
- dictWord{8, 10, 48},
- dictWord{8, 10, 88},
- dictWord{8, 10, 582},
- dictWord{8, 10, 681},
- dictWord{9, 10, 373},
- dictWord{
- 9,
- 10,
- 864,
- },
- dictWord{11, 10, 157},
- dictWord{11, 10, 843},
- dictWord{148, 10, 27},
- dictWord{134, 0, 990},
- dictWord{4, 10, 88},
- dictWord{5, 10, 137},
- dictWord{
- 5,
- 10,
- 174,
- },
- dictWord{5, 10, 777},
- dictWord{6, 10, 1664},
- dictWord{6, 10, 1725},
- dictWord{7, 10, 77},
- dictWord{7, 10, 426},
- dictWord{7, 10, 1317},
- dictWord{
- 7,
- 10,
- 1355,
- },
- dictWord{8, 10, 126},
- dictWord{8, 10, 563},
- dictWord{9, 10, 523},
- dictWord{9, 10, 750},
- dictWord{10, 10, 310},
- dictWord{10, 10, 836},
- dictWord{
- 11,
- 10,
- 42,
- },
- dictWord{11, 10, 318},
- dictWord{11, 10, 731},
- dictWord{12, 10, 68},
- dictWord{12, 10, 92},
- dictWord{12, 10, 507},
- dictWord{12, 10, 692},
- dictWord{
- 13,
- 10,
- 81,
- },
- dictWord{13, 10, 238},
- dictWord{13, 10, 374},
- dictWord{14, 10, 436},
- dictWord{18, 10, 138},
- dictWord{19, 10, 78},
- dictWord{19, 10, 111},
- dictWord{20, 10, 55},
- dictWord{20, 10, 77},
- dictWord{148, 10, 92},
- dictWord{141, 10, 418},
- dictWord{7, 0, 1831},
- dictWord{132, 10, 938},
- dictWord{6, 0, 776},
- dictWord{134, 0, 915},
- dictWord{138, 10, 351},
- dictWord{5, 11, 348},
- dictWord{6, 11, 522},
- dictWord{6, 10, 1668},
- dictWord{7, 10, 1499},
- dictWord{8, 10, 117},
- dictWord{9, 10, 314},
- dictWord{138, 10, 174},
- dictWord{135, 10, 707},
- dictWord{132, 0, 613},
- dictWord{133, 10, 403},
- dictWord{132, 11, 392},
- dictWord{
- 5,
- 11,
- 433,
- },
- dictWord{9, 11, 633},
- dictWord{139, 11, 629},
- dictWord{133, 0, 763},
- dictWord{132, 0, 878},
- dictWord{132, 0, 977},
- dictWord{132, 0, 100},
- dictWord{6, 0, 463},
- dictWord{4, 10, 44},
- dictWord{5, 10, 311},
- dictWord{7, 10, 639},
- dictWord{7, 10, 762},
- dictWord{7, 10, 1827},
- dictWord{9, 10, 8},
- dictWord{
- 9,
- 10,
- 462,
- },
- dictWord{148, 10, 83},
- dictWord{134, 11, 234},
- dictWord{4, 10, 346},
- dictWord{7, 10, 115},
- dictWord{9, 10, 180},
- dictWord{9, 10, 456},
- dictWord{
- 138,
- 10,
- 363,
- },
- dictWord{5, 0, 362},
- dictWord{5, 0, 443},
- dictWord{6, 0, 318},
- dictWord{7, 0, 1019},
- dictWord{139, 0, 623},
- dictWord{5, 0, 463},
- dictWord{8, 0, 296},
- dictWord{7, 11, 140},
- dictWord{7, 11, 1950},
- dictWord{8, 11, 680},
- dictWord{11, 11, 817},
- dictWord{147, 11, 88},
- dictWord{7, 11, 1222},
- dictWord{
- 138,
- 11,
- 386,
- },
- dictWord{142, 0, 137},
- dictWord{132, 0, 454},
- dictWord{7, 0, 1914},
- dictWord{6, 11, 5},
- dictWord{7, 10, 1051},
- dictWord{9, 10, 545},
- dictWord{
- 11,
- 11,
- 249,
- },
- dictWord{12, 11, 313},
- dictWord{16, 11, 66},
- dictWord{145, 11, 26},
- dictWord{135, 0, 1527},
- dictWord{145, 0, 58},
- dictWord{148, 11, 59},
- dictWord{
- 5,
- 0,
- 48,
- },
- dictWord{5, 0, 404},
- dictWord{6, 0, 557},
- dictWord{7, 0, 458},
- dictWord{8, 0, 597},
- dictWord{10, 0, 455},
- dictWord{10, 0, 606},
- dictWord{11, 0, 49},
- dictWord{
- 11,
- 0,
- 548,
- },
- dictWord{12, 0, 476},
- dictWord{13, 0, 18},
- dictWord{141, 0, 450},
- dictWord{5, 11, 963},
- dictWord{134, 11, 1773},
- dictWord{133, 0, 729},
- dictWord{138, 11, 586},
- dictWord{5, 0, 442},
- dictWord{135, 0, 1984},
- dictWord{134, 0, 449},
- dictWord{144, 0, 40},
- dictWord{4, 0, 853},
- dictWord{7, 11, 180},
- dictWord{8, 11, 509},
- dictWord{136, 11, 792},
- dictWord{6, 10, 185},
- dictWord{7, 10, 1899},
- dictWord{9, 10, 875},
- dictWord{139, 10, 673},
- dictWord{
- 134,
- 11,
- 524,
- },
- dictWord{12, 0, 227},
- dictWord{4, 10, 327},
- dictWord{5, 10, 478},
- dictWord{7, 10, 1332},
- dictWord{136, 10, 753},
- dictWord{6, 0, 1491},
- dictWord{
- 5,
- 10,
- 1020,
- },
- dictWord{133, 10, 1022},
- dictWord{4, 10, 103},
- dictWord{133, 10, 401},
- dictWord{132, 11, 931},
- dictWord{4, 10, 499},
- dictWord{135, 10, 1421},
- dictWord{5, 0, 55},
- dictWord{7, 0, 376},
- dictWord{140, 0, 161},
- dictWord{133, 0, 450},
- dictWord{6, 0, 1174},
- dictWord{134, 0, 1562},
- dictWord{10, 0, 62},
- dictWord{13, 0, 400},
- dictWord{135, 11, 1837},
- dictWord{140, 0, 207},
- dictWord{135, 0, 869},
- dictWord{4, 11, 773},
- dictWord{5, 11, 618},
- dictWord{
- 137,
- 11,
- 756,
- },
- dictWord{132, 10, 96},
- dictWord{4, 0, 213},
- dictWord{7, 0, 223},
- dictWord{8, 0, 80},
- dictWord{135, 10, 968},
- dictWord{4, 11, 90},
- dictWord{5, 11, 337},
- dictWord{5, 11, 545},
- dictWord{7, 11, 754},
- dictWord{9, 11, 186},
- dictWord{10, 11, 72},
- dictWord{10, 11, 782},
- dictWord{11, 11, 513},
- dictWord{11, 11, 577},
- dictWord{11, 11, 610},
- dictWord{11, 11, 889},
- dictWord{11, 11, 961},
- dictWord{12, 11, 354},
- dictWord{12, 11, 362},
- dictWord{12, 11, 461},
- dictWord{
- 12,
- 11,
- 595,
- },
- dictWord{13, 11, 79},
- dictWord{143, 11, 121},
- dictWord{7, 0, 381},
- dictWord{7, 0, 806},
- dictWord{7, 0, 820},
- dictWord{8, 0, 354},
- dictWord{8, 0, 437},
- dictWord{8, 0, 787},
- dictWord{9, 0, 657},
- dictWord{10, 0, 58},
- dictWord{10, 0, 339},
- dictWord{10, 0, 749},
- dictWord{11, 0, 914},
- dictWord{12, 0, 162},
- dictWord{
- 13,
- 0,
- 75,
- },
- dictWord{14, 0, 106},
- dictWord{14, 0, 198},
- dictWord{14, 0, 320},
- dictWord{14, 0, 413},
- dictWord{146, 0, 43},
- dictWord{136, 0, 747},
- dictWord{
- 136,
- 0,
- 954,
- },
- dictWord{134, 0, 1073},
- dictWord{135, 0, 556},
- dictWord{7, 11, 151},
- dictWord{9, 11, 329},
- dictWord{139, 11, 254},
- dictWord{5, 0, 692},
- dictWord{
- 134,
- 0,
- 1395,
- },
- dictWord{6, 10, 563},
- dictWord{137, 10, 224},
- dictWord{134, 0, 191},
- dictWord{132, 0, 804},
- dictWord{9, 11, 187},
- dictWord{10, 11, 36},
- dictWord{17, 11, 44},
- dictWord{146, 11, 64},
- dictWord{7, 11, 165},
- dictWord{7, 11, 919},
- dictWord{136, 11, 517},
- dictWord{4, 11, 506},
- dictWord{5, 11, 295},
- dictWord{7, 11, 1680},
- dictWord{15, 11, 14},
- dictWord{144, 11, 5},
- dictWord{4, 0, 706},
- dictWord{6, 0, 162},
- dictWord{7, 0, 1960},
- dictWord{136, 0, 831},
- dictWord{
- 135,
- 11,
- 1376,
- },
- dictWord{7, 11, 987},
- dictWord{9, 11, 688},
- dictWord{10, 11, 522},
- dictWord{11, 11, 788},
- dictWord{140, 11, 566},
- dictWord{150, 0, 35},
- dictWord{138, 0, 426},
- dictWord{135, 0, 1235},
- dictWord{135, 11, 1741},
- dictWord{7, 11, 389},
- dictWord{7, 11, 700},
- dictWord{7, 11, 940},
- dictWord{
- 8,
- 11,
- 514,
- },
- dictWord{9, 11, 116},
- dictWord{9, 11, 535},
- dictWord{10, 11, 118},
- dictWord{11, 11, 107},
- dictWord{11, 11, 148},
- dictWord{11, 11, 922},
- dictWord{
- 12,
- 11,
- 254,
- },
- dictWord{12, 11, 421},
- dictWord{142, 11, 238},
- dictWord{134, 0, 1234},
- dictWord{132, 11, 743},
- dictWord{4, 10, 910},
- dictWord{5, 10, 832},
- dictWord{135, 11, 1335},
- dictWord{141, 0, 96},
- dictWord{135, 11, 185},
- dictWord{146, 0, 149},
- dictWord{4, 0, 204},
- dictWord{137, 0, 902},
- dictWord{
- 4,
- 11,
- 784,
- },
- dictWord{133, 11, 745},
- dictWord{136, 0, 833},
- dictWord{136, 0, 949},
- dictWord{7, 0, 366},
- dictWord{9, 0, 287},
- dictWord{12, 0, 199},
- dictWord{
- 12,
- 0,
- 556,
- },
- dictWord{12, 0, 577},
- dictWord{5, 11, 81},
- dictWord{7, 11, 146},
- dictWord{7, 11, 1342},
- dictWord{7, 11, 1446},
- dictWord{8, 11, 53},
- dictWord{8, 11, 561},
- dictWord{8, 11, 694},
- dictWord{8, 11, 754},
- dictWord{9, 11, 97},
- dictWord{9, 11, 115},
- dictWord{9, 11, 894},
- dictWord{10, 11, 462},
- dictWord{10, 11, 813},
- dictWord{11, 11, 230},
- dictWord{11, 11, 657},
- dictWord{11, 11, 699},
- dictWord{11, 11, 748},
- dictWord{12, 11, 119},
- dictWord{12, 11, 200},
- dictWord{
- 12,
- 11,
- 283,
- },
- dictWord{14, 11, 273},
- dictWord{145, 11, 15},
- dictWord{5, 11, 408},
- dictWord{137, 11, 747},
- dictWord{9, 11, 498},
- dictWord{140, 11, 181},
- dictWord{
- 6,
- 0,
- 2020,
- },
- dictWord{136, 0, 992},
- dictWord{5, 0, 356},
- dictWord{135, 0, 224},
- dictWord{134, 0, 784},
- dictWord{7, 0, 630},
- dictWord{9, 0, 567},
- dictWord{
- 11,
- 0,
- 150,
- },
- dictWord{11, 0, 444},
- dictWord{13, 0, 119},
- dictWord{8, 10, 528},
- dictWord{137, 10, 348},
- dictWord{134, 0, 539},
- dictWord{4, 10, 20},
- dictWord{
- 133,
- 10,
- 616,
- },
- dictWord{142, 0, 27},
- dictWord{7, 11, 30},
- dictWord{8, 11, 86},
- dictWord{8, 11, 315},
- dictWord{8, 11, 700},
- dictWord{9, 11, 576},
- dictWord{9, 11, 858},
- dictWord{11, 11, 310},
- dictWord{11, 11, 888},
- dictWord{11, 11, 904},
- dictWord{12, 11, 361},
- dictWord{141, 11, 248},
- dictWord{138, 11, 839},
- dictWord{
- 134,
- 0,
- 755,
- },
- dictWord{134, 0, 1063},
- dictWord{7, 10, 1091},
- dictWord{135, 10, 1765},
- dictWord{134, 11, 428},
- dictWord{7, 11, 524},
- dictWord{8, 11, 169},
- dictWord{8, 11, 234},
- dictWord{9, 11, 480},
- dictWord{138, 11, 646},
- dictWord{139, 0, 814},
- dictWord{7, 11, 1462},
- dictWord{139, 11, 659},
- dictWord{
- 4,
- 10,
- 26,
- },
- dictWord{5, 10, 429},
- dictWord{6, 10, 245},
- dictWord{7, 10, 704},
- dictWord{7, 10, 1379},
- dictWord{135, 10, 1474},
- dictWord{7, 11, 1205},
- dictWord{
- 138,
- 11,
- 637,
- },
- dictWord{139, 11, 803},
- dictWord{132, 10, 621},
- dictWord{136, 0, 987},
- dictWord{4, 11, 266},
- dictWord{8, 11, 4},
- dictWord{9, 11, 39},
- dictWord{
- 10,
- 11,
- 166,
- },
- dictWord{11, 11, 918},
- dictWord{12, 11, 635},
- dictWord{20, 11, 10},
- dictWord{22, 11, 27},
- dictWord{150, 11, 43},
- dictWord{4, 0, 235},
- dictWord{
- 135,
- 0,
- 255,
- },
- dictWord{4, 0, 194},
- dictWord{5, 0, 584},
- dictWord{6, 0, 384},
- dictWord{7, 0, 583},
- dictWord{10, 0, 761},
- dictWord{11, 0, 760},
- dictWord{139, 0, 851},
- dictWord{133, 10, 542},
- dictWord{134, 0, 1086},
- dictWord{133, 10, 868},
- dictWord{8, 0, 1016},
- dictWord{136, 0, 1018},
- dictWord{7, 0, 1396},
- dictWord{
- 7,
- 11,
- 1396,
- },
- dictWord{136, 10, 433},
- dictWord{135, 10, 1495},
- dictWord{138, 10, 215},
- dictWord{141, 10, 124},
- dictWord{7, 11, 157},
- dictWord{
- 8,
- 11,
- 279,
- },
- dictWord{9, 11, 759},
- dictWord{16, 11, 31},
- dictWord{16, 11, 39},
- dictWord{16, 11, 75},
- dictWord{18, 11, 24},
- dictWord{20, 11, 42},
- dictWord{152, 11, 1},
- dictWord{5, 0, 562},
- dictWord{134, 11, 604},
- dictWord{134, 0, 913},
- dictWord{5, 0, 191},
- dictWord{137, 0, 271},
- dictWord{4, 0, 470},
- dictWord{6, 0, 153},
- dictWord{7, 0, 1503},
- dictWord{7, 0, 1923},
- dictWord{10, 0, 701},
- dictWord{11, 0, 132},
- dictWord{11, 0, 227},
- dictWord{11, 0, 320},
- dictWord{11, 0, 436},
- dictWord{
- 11,
- 0,
- 525,
- },
- dictWord{11, 0, 855},
- dictWord{11, 0, 873},
- dictWord{12, 0, 41},
- dictWord{12, 0, 286},
- dictWord{13, 0, 103},
- dictWord{13, 0, 284},
- dictWord{
- 14,
- 0,
- 255,
- },
- dictWord{14, 0, 262},
- dictWord{15, 0, 117},
- dictWord{143, 0, 127},
- dictWord{7, 0, 475},
- dictWord{12, 0, 45},
- dictWord{147, 10, 112},
- dictWord{
- 132,
- 11,
- 567,
- },
- dictWord{137, 11, 859},
- dictWord{6, 0, 713},
- dictWord{6, 0, 969},
- dictWord{6, 0, 1290},
- dictWord{134, 0, 1551},
- dictWord{133, 0, 327},
- dictWord{
- 6,
- 0,
- 552,
- },
- dictWord{6, 0, 1292},
- dictWord{7, 0, 1754},
- dictWord{137, 0, 604},
- dictWord{4, 0, 223},
- dictWord{6, 0, 359},
- dictWord{11, 0, 3},
- dictWord{13, 0, 108},
- dictWord{14, 0, 89},
- dictWord{16, 0, 22},
- dictWord{5, 11, 762},
- dictWord{7, 11, 1880},
- dictWord{9, 11, 680},
- dictWord{139, 11, 798},
- dictWord{5, 0, 80},
- dictWord{
- 6,
- 0,
- 405,
- },
- dictWord{7, 0, 403},
- dictWord{7, 0, 1502},
- dictWord{8, 0, 456},
- dictWord{9, 0, 487},
- dictWord{9, 0, 853},
- dictWord{9, 0, 889},
- dictWord{10, 0, 309},
- dictWord{
- 11,
- 0,
- 721,
- },
- dictWord{11, 0, 994},
- dictWord{12, 0, 430},
- dictWord{141, 0, 165},
- dictWord{133, 11, 298},
- dictWord{132, 10, 647},
- dictWord{134, 0, 2016},
- dictWord{18, 10, 10},
- dictWord{146, 11, 10},
- dictWord{4, 0, 453},
- dictWord{5, 0, 887},
- dictWord{6, 0, 535},
- dictWord{8, 0, 6},
- dictWord{8, 0, 543},
- dictWord{
- 136,
- 0,
- 826,
- },
- dictWord{136, 0, 975},
- dictWord{10, 0, 961},
- dictWord{138, 0, 962},
- dictWord{138, 10, 220},
- dictWord{6, 0, 1891},
- dictWord{6, 0, 1893},
- dictWord{
- 9,
- 0,
- 916,
- },
- dictWord{9, 0, 965},
- dictWord{9, 0, 972},
- dictWord{12, 0, 801},
- dictWord{12, 0, 859},
- dictWord{12, 0, 883},
- dictWord{15, 0, 226},
- dictWord{149, 0, 51},
- dictWord{132, 10, 109},
- dictWord{135, 11, 267},
- dictWord{7, 11, 92},
- dictWord{7, 11, 182},
- dictWord{8, 11, 453},
- dictWord{9, 11, 204},
- dictWord{11, 11, 950},
- dictWord{12, 11, 94},
- dictWord{12, 11, 644},
- dictWord{16, 11, 20},
- dictWord{16, 11, 70},
- dictWord{16, 11, 90},
- dictWord{147, 11, 55},
- dictWord{
- 134,
- 10,
- 1746,
- },
- dictWord{6, 11, 71},
- dictWord{7, 11, 845},
- dictWord{7, 11, 1308},
- dictWord{8, 11, 160},
- dictWord{137, 11, 318},
- dictWord{5, 0, 101},
- dictWord{6, 0, 88},
- dictWord{7, 0, 263},
- dictWord{7, 0, 628},
- dictWord{7, 0, 1677},
- dictWord{8, 0, 349},
- dictWord{9, 0, 100},
- dictWord{10, 0, 677},
- dictWord{14, 0, 169},
- dictWord{
- 14,
- 0,
- 302,
- },
- dictWord{14, 0, 313},
- dictWord{15, 0, 48},
- dictWord{15, 0, 84},
- dictWord{7, 11, 237},
- dictWord{8, 11, 664},
- dictWord{9, 11, 42},
- dictWord{9, 11, 266},
- dictWord{9, 11, 380},
- dictWord{9, 11, 645},
- dictWord{10, 11, 177},
- dictWord{138, 11, 276},
- dictWord{138, 11, 69},
- dictWord{4, 0, 310},
- dictWord{7, 0, 708},
- dictWord{7, 0, 996},
- dictWord{9, 0, 795},
- dictWord{10, 0, 390},
- dictWord{10, 0, 733},
- dictWord{11, 0, 451},
- dictWord{12, 0, 249},
- dictWord{14, 0, 115},
- dictWord{
- 14,
- 0,
- 286,
- },
- dictWord{143, 0, 100},
- dictWord{5, 0, 587},
- dictWord{4, 10, 40},
- dictWord{10, 10, 67},
- dictWord{11, 10, 117},
- dictWord{11, 10, 768},
- dictWord{
- 139,
- 10,
- 935,
- },
- dictWord{6, 0, 1942},
- dictWord{7, 0, 512},
- dictWord{136, 0, 983},
- dictWord{7, 10, 992},
- dictWord{8, 10, 301},
- dictWord{9, 10, 722},
- dictWord{12, 10, 63},
- dictWord{13, 10, 29},
- dictWord{14, 10, 161},
- dictWord{143, 10, 18},
- dictWord{136, 11, 76},
- dictWord{139, 10, 923},
- dictWord{134, 0, 645},
- dictWord{
- 134,
- 0,
- 851,
- },
- dictWord{4, 0, 498},
- dictWord{132, 11, 293},
- dictWord{7, 0, 217},
- dictWord{8, 0, 140},
- dictWord{10, 0, 610},
- dictWord{14, 11, 352},
- dictWord{
- 17,
- 11,
- 53,
- },
- dictWord{18, 11, 146},
- dictWord{18, 11, 152},
- dictWord{19, 11, 11},
- dictWord{150, 11, 54},
- dictWord{134, 0, 1448},
- dictWord{138, 11, 841},
- dictWord{133, 0, 905},
- dictWord{4, 11, 605},
- dictWord{7, 11, 518},
- dictWord{7, 11, 1282},
- dictWord{7, 11, 1918},
- dictWord{10, 11, 180},
- dictWord{139, 11, 218},
- dictWord{139, 11, 917},
- dictWord{135, 10, 825},
- dictWord{140, 10, 328},
- dictWord{4, 0, 456},
- dictWord{7, 0, 105},
- dictWord{7, 0, 358},
- dictWord{7, 0, 1637},
- dictWord{8, 0, 643},
- dictWord{139, 0, 483},
- dictWord{134, 0, 792},
- dictWord{6, 11, 96},
- dictWord{135, 11, 1426},
- dictWord{137, 11, 691},
- dictWord{
- 4,
- 11,
- 651,
- },
- dictWord{133, 11, 289},
- dictWord{7, 11, 688},
- dictWord{8, 11, 35},
- dictWord{9, 11, 511},
- dictWord{10, 11, 767},
- dictWord{147, 11, 118},
- dictWord{
- 150,
- 0,
- 56,
- },
- dictWord{5, 0, 243},
- dictWord{5, 0, 535},
- dictWord{6, 10, 204},
- dictWord{10, 10, 320},
- dictWord{10, 10, 583},
- dictWord{13, 10, 502},
- dictWord{
- 14,
- 10,
- 72,
- },
- dictWord{14, 10, 274},
- dictWord{14, 10, 312},
- dictWord{14, 10, 344},
- dictWord{15, 10, 159},
- dictWord{16, 10, 62},
- dictWord{16, 10, 69},
- dictWord{
- 17,
- 10,
- 30,
- },
- dictWord{18, 10, 42},
- dictWord{18, 10, 53},
- dictWord{18, 10, 84},
- dictWord{18, 10, 140},
- dictWord{19, 10, 68},
- dictWord{19, 10, 85},
- dictWord{20, 10, 5},
- dictWord{20, 10, 45},
- dictWord{20, 10, 101},
- dictWord{22, 10, 7},
- dictWord{150, 10, 20},
- dictWord{4, 10, 558},
- dictWord{6, 10, 390},
- dictWord{7, 10, 162},
- dictWord{7, 10, 689},
- dictWord{9, 10, 360},
- dictWord{138, 10, 653},
- dictWord{146, 11, 23},
- dictWord{135, 0, 1748},
- dictWord{5, 10, 856},
- dictWord{
- 6,
- 10,
- 1672,
- },
- dictWord{6, 10, 1757},
- dictWord{134, 10, 1781},
- dictWord{5, 0, 539},
- dictWord{5, 0, 754},
- dictWord{6, 0, 876},
- dictWord{132, 11, 704},
- dictWord{
- 135,
- 11,
- 1078,
- },
- dictWord{5, 10, 92},
- dictWord{10, 10, 736},
- dictWord{140, 10, 102},
- dictWord{17, 0, 91},
- dictWord{5, 10, 590},
- dictWord{137, 10, 213},
- dictWord{134, 0, 1565},
- dictWord{6, 0, 91},
- dictWord{135, 0, 435},
- dictWord{4, 0, 939},
- dictWord{140, 0, 792},
- dictWord{134, 0, 1399},
- dictWord{4, 0, 16},
- dictWord{
- 5,
- 0,
- 316,
- },
- dictWord{5, 0, 842},
- dictWord{6, 0, 370},
- dictWord{6, 0, 1778},
- dictWord{8, 0, 166},
- dictWord{11, 0, 812},
- dictWord{12, 0, 206},
- dictWord{12, 0, 351},
- dictWord{14, 0, 418},
- dictWord{16, 0, 15},
- dictWord{16, 0, 34},
- dictWord{18, 0, 3},
- dictWord{19, 0, 3},
- dictWord{19, 0, 7},
- dictWord{20, 0, 4},
- dictWord{21, 0, 21},
- dictWord{
- 4,
- 11,
- 720,
- },
- dictWord{133, 11, 306},
- dictWord{144, 0, 95},
- dictWord{133, 11, 431},
- dictWord{132, 11, 234},
- dictWord{135, 0, 551},
- dictWord{4, 0, 999},
- dictWord{6, 0, 1966},
- dictWord{134, 0, 2042},
- dictWord{7, 0, 619},
- dictWord{10, 0, 547},
- dictWord{11, 0, 122},
- dictWord{12, 0, 601},
- dictWord{15, 0, 7},
- dictWord{148, 0, 20},
- dictWord{5, 11, 464},
- dictWord{6, 11, 236},
- dictWord{7, 11, 276},
- dictWord{7, 11, 696},
- dictWord{7, 11, 914},
- dictWord{7, 11, 1108},
- dictWord{
- 7,
- 11,
- 1448,
- },
- dictWord{9, 11, 15},
- dictWord{9, 11, 564},
- dictWord{10, 11, 14},
- dictWord{12, 11, 565},
- dictWord{13, 11, 449},
- dictWord{14, 11, 53},
- dictWord{
- 15,
- 11,
- 13,
- },
- dictWord{16, 11, 64},
- dictWord{145, 11, 41},
- dictWord{6, 0, 884},
- dictWord{6, 0, 1019},
- dictWord{134, 0, 1150},
- dictWord{6, 11, 1767},
- dictWord{
- 12,
- 11,
- 194,
- },
- dictWord{145, 11, 107},
- dictWord{136, 10, 503},
- dictWord{133, 11, 840},
- dictWord{7, 0, 671},
- dictWord{134, 10, 466},
- dictWord{132, 0, 888},
- dictWord{4, 0, 149},
- dictWord{138, 0, 368},
- dictWord{4, 0, 154},
- dictWord{7, 0, 1134},
- dictWord{136, 0, 105},
- dictWord{135, 0, 983},
- dictWord{9, 11, 642},
- dictWord{11, 11, 236},
- dictWord{142, 11, 193},
- dictWord{4, 0, 31},
- dictWord{6, 0, 429},
- dictWord{7, 0, 962},
- dictWord{9, 0, 458},
- dictWord{139, 0, 691},
- dictWord{
- 6,
- 0,
- 643,
- },
- dictWord{134, 0, 1102},
- dictWord{132, 0, 312},
- dictWord{4, 11, 68},
- dictWord{5, 11, 634},
- dictWord{6, 11, 386},
- dictWord{7, 11, 794},
- dictWord{
- 8,
- 11,
- 273,
- },
- dictWord{9, 11, 563},
- dictWord{10, 11, 105},
- dictWord{10, 11, 171},
- dictWord{11, 11, 94},
- dictWord{139, 11, 354},
- dictWord{133, 0, 740},
- dictWord{
- 135,
- 0,
- 1642,
- },
- dictWord{4, 11, 95},
- dictWord{7, 11, 416},
- dictWord{8, 11, 211},
- dictWord{139, 11, 830},
- dictWord{132, 0, 236},
- dictWord{138, 10, 241},
- dictWord{7, 11, 731},
- dictWord{13, 11, 20},
- dictWord{143, 11, 11},
- dictWord{5, 0, 836},
- dictWord{5, 0, 857},
- dictWord{6, 0, 1680},
- dictWord{135, 0, 59},
- dictWord{
- 10,
- 0,
- 68,
- },
- dictWord{11, 0, 494},
- dictWord{152, 11, 6},
- dictWord{4, 0, 81},
- dictWord{139, 0, 867},
- dictWord{135, 0, 795},
- dictWord{133, 11, 689},
- dictWord{
- 4,
- 0,
- 1001,
- },
- dictWord{5, 0, 282},
- dictWord{6, 0, 1932},
- dictWord{6, 0, 1977},
- dictWord{6, 0, 1987},
- dictWord{6, 0, 1992},
- dictWord{8, 0, 650},
- dictWord{8, 0, 919},
- dictWord{8, 0, 920},
- dictWord{8, 0, 923},
- dictWord{8, 0, 926},
- dictWord{8, 0, 927},
- dictWord{8, 0, 931},
- dictWord{8, 0, 939},
- dictWord{8, 0, 947},
- dictWord{8, 0, 956},
- dictWord{8, 0, 997},
- dictWord{9, 0, 907},
- dictWord{10, 0, 950},
- dictWord{10, 0, 953},
- dictWord{10, 0, 954},
- dictWord{10, 0, 956},
- dictWord{10, 0, 958},
- dictWord{
- 10,
- 0,
- 959,
- },
- dictWord{10, 0, 964},
- dictWord{10, 0, 970},
- dictWord{10, 0, 972},
- dictWord{10, 0, 973},
- dictWord{10, 0, 975},
- dictWord{10, 0, 976},
- dictWord{
- 10,
- 0,
- 980,
- },
- dictWord{10, 0, 981},
- dictWord{10, 0, 984},
- dictWord{10, 0, 988},
- dictWord{10, 0, 990},
- dictWord{10, 0, 995},
- dictWord{10, 0, 999},
- dictWord{
- 10,
- 0,
- 1002,
- },
- dictWord{10, 0, 1003},
- dictWord{10, 0, 1005},
- dictWord{10, 0, 1006},
- dictWord{10, 0, 1008},
- dictWord{10, 0, 1009},
- dictWord{10, 0, 1012},
- dictWord{10, 0, 1014},
- dictWord{10, 0, 1015},
- dictWord{10, 0, 1019},
- dictWord{10, 0, 1020},
- dictWord{10, 0, 1022},
- dictWord{12, 0, 959},
- dictWord{12, 0, 961},
- dictWord{12, 0, 962},
- dictWord{12, 0, 963},
- dictWord{12, 0, 964},
- dictWord{12, 0, 965},
- dictWord{12, 0, 967},
- dictWord{12, 0, 968},
- dictWord{12, 0, 969},
- dictWord{12, 0, 970},
- dictWord{12, 0, 971},
- dictWord{12, 0, 972},
- dictWord{12, 0, 973},
- dictWord{12, 0, 974},
- dictWord{12, 0, 975},
- dictWord{12, 0, 976},
- dictWord{
- 12,
- 0,
- 977,
- },
- dictWord{12, 0, 979},
- dictWord{12, 0, 981},
- dictWord{12, 0, 982},
- dictWord{12, 0, 983},
- dictWord{12, 0, 984},
- dictWord{12, 0, 985},
- dictWord{
- 12,
- 0,
- 986,
- },
- dictWord{12, 0, 987},
- dictWord{12, 0, 989},
- dictWord{12, 0, 990},
- dictWord{12, 0, 992},
- dictWord{12, 0, 993},
- dictWord{12, 0, 995},
- dictWord{12, 0, 998},
- dictWord{12, 0, 999},
- dictWord{12, 0, 1000},
- dictWord{12, 0, 1001},
- dictWord{12, 0, 1002},
- dictWord{12, 0, 1004},
- dictWord{12, 0, 1005},
- dictWord{
- 12,
- 0,
- 1006,
- },
- dictWord{12, 0, 1007},
- dictWord{12, 0, 1008},
- dictWord{12, 0, 1009},
- dictWord{12, 0, 1010},
- dictWord{12, 0, 1011},
- dictWord{12, 0, 1012},
- dictWord{12, 0, 1014},
- dictWord{12, 0, 1015},
- dictWord{12, 0, 1016},
- dictWord{12, 0, 1017},
- dictWord{12, 0, 1018},
- dictWord{12, 0, 1019},
- dictWord{
- 12,
- 0,
- 1022,
- },
- dictWord{12, 0, 1023},
- dictWord{14, 0, 475},
- dictWord{14, 0, 477},
- dictWord{14, 0, 478},
- dictWord{14, 0, 479},
- dictWord{14, 0, 480},
- dictWord{
- 14,
- 0,
- 482,
- },
- dictWord{14, 0, 483},
- dictWord{14, 0, 484},
- dictWord{14, 0, 485},
- dictWord{14, 0, 486},
- dictWord{14, 0, 487},
- dictWord{14, 0, 488},
- dictWord{14, 0, 489},
- dictWord{14, 0, 490},
- dictWord{14, 0, 491},
- dictWord{14, 0, 492},
- dictWord{14, 0, 493},
- dictWord{14, 0, 494},
- dictWord{14, 0, 495},
- dictWord{14, 0, 496},
- dictWord{14, 0, 497},
- dictWord{14, 0, 498},
- dictWord{14, 0, 499},
- dictWord{14, 0, 500},
- dictWord{14, 0, 501},
- dictWord{14, 0, 502},
- dictWord{14, 0, 503},
- dictWord{
- 14,
- 0,
- 504,
- },
- dictWord{14, 0, 506},
- dictWord{14, 0, 507},
- dictWord{14, 0, 508},
- dictWord{14, 0, 509},
- dictWord{14, 0, 510},
- dictWord{14, 0, 511},
- dictWord{
- 16,
- 0,
- 113,
- },
- dictWord{16, 0, 114},
- dictWord{16, 0, 115},
- dictWord{16, 0, 117},
- dictWord{16, 0, 118},
- dictWord{16, 0, 119},
- dictWord{16, 0, 121},
- dictWord{16, 0, 122},
- dictWord{16, 0, 123},
- dictWord{16, 0, 124},
- dictWord{16, 0, 125},
- dictWord{16, 0, 126},
- dictWord{16, 0, 127},
- dictWord{18, 0, 242},
- dictWord{18, 0, 243},
- dictWord{18, 0, 244},
- dictWord{18, 0, 245},
- dictWord{18, 0, 248},
- dictWord{18, 0, 249},
- dictWord{18, 0, 250},
- dictWord{18, 0, 251},
- dictWord{18, 0, 252},
- dictWord{
- 18,
- 0,
- 253,
- },
- dictWord{18, 0, 254},
- dictWord{18, 0, 255},
- dictWord{20, 0, 125},
- dictWord{20, 0, 126},
- dictWord{148, 0, 127},
- dictWord{7, 11, 1717},
- dictWord{
- 7,
- 11,
- 1769,
- },
- dictWord{138, 11, 546},
- dictWord{7, 11, 1127},
- dictWord{7, 11, 1572},
- dictWord{10, 11, 297},
- dictWord{10, 11, 422},
- dictWord{11, 11, 764},
- dictWord{11, 11, 810},
- dictWord{12, 11, 264},
- dictWord{13, 11, 102},
- dictWord{13, 11, 300},
- dictWord{13, 11, 484},
- dictWord{14, 11, 147},
- dictWord{
- 14,
- 11,
- 229,
- },
- dictWord{17, 11, 71},
- dictWord{18, 11, 118},
- dictWord{147, 11, 120},
- dictWord{6, 0, 1148},
- dictWord{134, 0, 1586},
- dictWord{132, 0, 775},
- dictWord{135, 10, 954},
- dictWord{133, 11, 864},
- dictWord{133, 11, 928},
- dictWord{138, 11, 189},
- dictWord{135, 10, 1958},
- dictWord{6, 10, 549},
- dictWord{
- 8,
- 10,
- 34,
- },
- dictWord{8, 10, 283},
- dictWord{9, 10, 165},
- dictWord{138, 10, 475},
- dictWord{5, 10, 652},
- dictWord{5, 10, 701},
- dictWord{135, 10, 449},
- dictWord{135, 11, 695},
- dictWord{4, 10, 655},
- dictWord{7, 10, 850},
- dictWord{17, 10, 75},
- dictWord{146, 10, 137},
- dictWord{140, 11, 682},
- dictWord{
- 133,
- 11,
- 523,
- },
- dictWord{8, 0, 970},
- dictWord{136, 10, 670},
- dictWord{136, 11, 555},
- dictWord{7, 11, 76},
- dictWord{8, 11, 44},
- dictWord{9, 11, 884},
- dictWord{
- 10,
- 11,
- 580,
- },
- dictWord{11, 11, 399},
- dictWord{11, 11, 894},
- dictWord{15, 11, 122},
- dictWord{18, 11, 144},
- dictWord{147, 11, 61},
- dictWord{6, 10, 159},
- dictWord{
- 6,
- 10,
- 364,
- },
- dictWord{7, 10, 516},
- dictWord{7, 10, 1439},
- dictWord{137, 10, 518},
- dictWord{4, 0, 71},
- dictWord{5, 0, 376},
- dictWord{7, 0, 119},
- dictWord{
- 138,
- 0,
- 665,
- },
- dictWord{141, 10, 151},
- dictWord{11, 0, 827},
- dictWord{14, 0, 34},
- dictWord{143, 0, 148},
- dictWord{133, 11, 518},
- dictWord{4, 0, 479},
- dictWord{
- 135,
- 11,
- 1787,
- },
- dictWord{135, 11, 1852},
- dictWord{135, 10, 993},
- dictWord{7, 0, 607},
- dictWord{136, 0, 99},
- dictWord{134, 0, 1960},
- dictWord{132, 0, 793},
- dictWord{4, 0, 41},
- dictWord{5, 0, 74},
- dictWord{7, 0, 1627},
- dictWord{11, 0, 871},
- dictWord{140, 0, 619},
- dictWord{7, 0, 94},
- dictWord{11, 0, 329},
- dictWord{
- 11,
- 0,
- 965,
- },
- dictWord{12, 0, 241},
- dictWord{14, 0, 354},
- dictWord{15, 0, 22},
- dictWord{148, 0, 63},
- dictWord{7, 10, 501},
- dictWord{9, 10, 111},
- dictWord{10, 10, 141},
- dictWord{11, 10, 332},
- dictWord{13, 10, 43},
- dictWord{13, 10, 429},
- dictWord{14, 10, 130},
- dictWord{14, 10, 415},
- dictWord{145, 10, 102},
- dictWord{
- 9,
- 0,
- 209,
- },
- dictWord{137, 0, 300},
- dictWord{134, 0, 1497},
- dictWord{138, 11, 255},
- dictWord{4, 11, 934},
- dictWord{5, 11, 138},
- dictWord{136, 11, 610},
- dictWord{133, 0, 98},
- dictWord{6, 0, 1316},
- dictWord{10, 11, 804},
- dictWord{138, 11, 832},
- dictWord{8, 11, 96},
- dictWord{9, 11, 36},
- dictWord{10, 11, 607},
- dictWord{11, 11, 423},
- dictWord{11, 11, 442},
- dictWord{12, 11, 309},
- dictWord{14, 11, 199},
- dictWord{15, 11, 90},
- dictWord{145, 11, 110},
- dictWord{
- 132,
- 0,
- 463,
- },
- dictWord{5, 10, 149},
- dictWord{136, 10, 233},
- dictWord{133, 10, 935},
- dictWord{4, 11, 652},
- dictWord{8, 11, 320},
- dictWord{9, 11, 13},
- dictWord{
- 9,
- 11,
- 398,
- },
- dictWord{9, 11, 727},
- dictWord{10, 11, 75},
- dictWord{10, 11, 184},
- dictWord{10, 11, 230},
- dictWord{10, 11, 564},
- dictWord{10, 11, 569},
- dictWord{
- 11,
- 11,
- 973,
- },
- dictWord{12, 11, 70},
- dictWord{12, 11, 189},
- dictWord{13, 11, 57},
- dictWord{13, 11, 257},
- dictWord{22, 11, 6},
- dictWord{150, 11, 16},
- dictWord{
- 142,
- 0,
- 291,
- },
- dictWord{12, 10, 582},
- dictWord{146, 10, 131},
- dictWord{136, 10, 801},
- dictWord{133, 0, 984},
- dictWord{145, 11, 116},
- dictWord{4, 11, 692},
- dictWord{133, 11, 321},
- dictWord{4, 0, 182},
- dictWord{6, 0, 205},
- dictWord{135, 0, 220},
- dictWord{4, 0, 42},
- dictWord{9, 0, 205},
- dictWord{9, 0, 786},
- dictWord{
- 138,
- 0,
- 659,
- },
- dictWord{6, 0, 801},
- dictWord{11, 11, 130},
- dictWord{140, 11, 609},
- dictWord{132, 0, 635},
- dictWord{5, 11, 345},
- dictWord{135, 11, 1016},
- dictWord{139, 0, 533},
- dictWord{132, 0, 371},
- dictWord{4, 0, 272},
- dictWord{135, 0, 836},
- dictWord{6, 0, 1282},
- dictWord{135, 11, 1100},
- dictWord{5, 0, 825},
- dictWord{134, 0, 1640},
- dictWord{135, 11, 1325},
- dictWord{133, 11, 673},
- dictWord{4, 11, 287},
- dictWord{133, 11, 1018},
- dictWord{135, 0, 357},
- dictWord{
- 6,
- 0,
- 467,
- },
- dictWord{137, 0, 879},
- dictWord{7, 0, 317},
- dictWord{135, 0, 569},
- dictWord{6, 0, 924},
- dictWord{134, 0, 1588},
- dictWord{5, 11, 34},
- dictWord{
- 5,
- 10,
- 406,
- },
- dictWord{10, 11, 724},
- dictWord{12, 11, 444},
- dictWord{13, 11, 354},
- dictWord{18, 11, 32},
- dictWord{23, 11, 24},
- dictWord{23, 11, 31},
- dictWord{
- 152,
- 11,
- 5,
- },
- dictWord{6, 0, 1795},
- dictWord{6, 0, 1835},
- dictWord{6, 0, 1836},
- dictWord{6, 0, 1856},
- dictWord{8, 0, 844},
- dictWord{8, 0, 849},
- dictWord{8, 0, 854},
- dictWord{8, 0, 870},
- dictWord{8, 0, 887},
- dictWord{10, 0, 852},
- dictWord{138, 0, 942},
- dictWord{6, 10, 69},
- dictWord{135, 10, 117},
- dictWord{137, 0, 307},
- dictWord{
- 4,
- 0,
- 944,
- },
- dictWord{6, 0, 1799},
- dictWord{6, 0, 1825},
- dictWord{10, 0, 848},
- dictWord{10, 0, 875},
- dictWord{10, 0, 895},
- dictWord{10, 0, 899},
- dictWord{
- 10,
- 0,
- 902,
- },
- dictWord{140, 0, 773},
- dictWord{11, 0, 43},
- dictWord{13, 0, 72},
- dictWord{141, 0, 142},
- dictWord{135, 10, 1830},
- dictWord{134, 11, 382},
- dictWord{
- 4,
- 10,
- 432,
- },
- dictWord{135, 10, 824},
- dictWord{132, 11, 329},
- dictWord{7, 0, 1820},
- dictWord{139, 11, 124},
- dictWord{133, 10, 826},
- dictWord{
- 133,
- 0,
- 525,
- },
- dictWord{132, 11, 906},
- dictWord{7, 11, 1940},
- dictWord{136, 11, 366},
- dictWord{138, 11, 10},
- dictWord{4, 11, 123},
- dictWord{4, 11, 649},
- dictWord{
- 5,
- 11,
- 605,
- },
- dictWord{7, 11, 1509},
- dictWord{136, 11, 36},
- dictWord{6, 0, 110},
- dictWord{135, 0, 1681},
- dictWord{133, 0, 493},
- dictWord{133, 11, 767},
- dictWord{4, 0, 174},
- dictWord{135, 0, 911},
- dictWord{138, 11, 786},
- dictWord{8, 0, 417},
- dictWord{137, 0, 782},
- dictWord{133, 10, 1000},
- dictWord{7, 0, 733},
- dictWord{137, 0, 583},
- dictWord{4, 10, 297},
- dictWord{6, 10, 529},
- dictWord{7, 10, 152},
- dictWord{7, 10, 713},
- dictWord{7, 10, 1845},
- dictWord{8, 10, 710},
- dictWord{8, 10, 717},
- dictWord{12, 10, 639},
- dictWord{140, 10, 685},
- dictWord{4, 0, 32},
- dictWord{5, 0, 215},
- dictWord{6, 0, 269},
- dictWord{7, 0, 1782},
- dictWord{
- 7,
- 0,
- 1892,
- },
- dictWord{10, 0, 16},
- dictWord{11, 0, 822},
- dictWord{11, 0, 954},
- dictWord{141, 0, 481},
- dictWord{4, 11, 273},
- dictWord{5, 11, 658},
- dictWord{
- 133,
- 11,
- 995,
- },
- dictWord{136, 0, 477},
- dictWord{134, 11, 72},
- dictWord{135, 11, 1345},
- dictWord{5, 0, 308},
- dictWord{7, 0, 1088},
- dictWord{4, 10, 520},
- dictWord{
- 135,
- 10,
- 575,
- },
- dictWord{133, 11, 589},
- dictWord{5, 0, 126},
- dictWord{8, 0, 297},
- dictWord{9, 0, 366},
- dictWord{140, 0, 374},
- dictWord{7, 0, 1551},
- dictWord{
- 139,
- 0,
- 361,
- },
- dictWord{5, 11, 117},
- dictWord{6, 11, 514},
- dictWord{6, 11, 541},
- dictWord{7, 11, 1164},
- dictWord{7, 11, 1436},
- dictWord{8, 11, 220},
- dictWord{
- 8,
- 11,
- 648,
- },
- dictWord{10, 11, 688},
- dictWord{139, 11, 560},
- dictWord{133, 11, 686},
- dictWord{4, 0, 946},
- dictWord{6, 0, 1807},
- dictWord{8, 0, 871},
- dictWord{
- 10,
- 0,
- 854,
- },
- dictWord{10, 0, 870},
- dictWord{10, 0, 888},
- dictWord{10, 0, 897},
- dictWord{10, 0, 920},
- dictWord{12, 0, 722},
- dictWord{12, 0, 761},
- dictWord{
- 12,
- 0,
- 763,
- },
- dictWord{12, 0, 764},
- dictWord{14, 0, 454},
- dictWord{14, 0, 465},
- dictWord{16, 0, 107},
- dictWord{18, 0, 167},
- dictWord{18, 0, 168},
- dictWord{
- 146,
- 0,
- 172,
- },
- dictWord{132, 0, 175},
- dictWord{135, 0, 1307},
- dictWord{132, 0, 685},
- dictWord{135, 11, 1834},
- dictWord{133, 0, 797},
- dictWord{6, 0, 745},
- dictWord{
- 6,
- 0,
- 858,
- },
- dictWord{134, 0, 963},
- dictWord{133, 0, 565},
- dictWord{5, 10, 397},
- dictWord{6, 10, 154},
- dictWord{7, 11, 196},
- dictWord{7, 10, 676},
- dictWord{
- 8,
- 10,
- 443,
- },
- dictWord{8, 10, 609},
- dictWord{9, 10, 24},
- dictWord{9, 10, 325},
- dictWord{10, 10, 35},
- dictWord{10, 11, 765},
- dictWord{11, 11, 347},
- dictWord{
- 11,
- 10,
- 535,
- },
- dictWord{11, 11, 552},
- dictWord{11, 11, 576},
- dictWord{11, 10, 672},
- dictWord{11, 11, 790},
- dictWord{11, 10, 1018},
- dictWord{12, 11, 263},
- dictWord{12, 10, 637},
- dictWord{13, 11, 246},
- dictWord{13, 11, 270},
- dictWord{13, 11, 395},
- dictWord{14, 11, 74},
- dictWord{14, 11, 176},
- dictWord{
- 14,
- 11,
- 190,
- },
- dictWord{14, 11, 398},
- dictWord{14, 11, 412},
- dictWord{15, 11, 32},
- dictWord{15, 11, 63},
- dictWord{16, 10, 30},
- dictWord{16, 11, 88},
- dictWord{
- 147,
- 11,
- 105,
- },
- dictWord{13, 11, 84},
- dictWord{141, 11, 122},
- dictWord{4, 0, 252},
- dictWord{7, 0, 1068},
- dictWord{10, 0, 434},
- dictWord{11, 0, 228},
- dictWord{
- 11,
- 0,
- 426,
- },
- dictWord{13, 0, 231},
- dictWord{18, 0, 106},
- dictWord{148, 0, 87},
- dictWord{137, 0, 826},
- dictWord{4, 11, 589},
- dictWord{139, 11, 282},
- dictWord{
- 5,
- 11,
- 381,
- },
- dictWord{135, 11, 1792},
- dictWord{132, 0, 791},
- dictWord{5, 0, 231},
- dictWord{10, 0, 509},
- dictWord{133, 10, 981},
- dictWord{7, 0, 601},
- dictWord{
- 9,
- 0,
- 277,
- },
- dictWord{9, 0, 674},
- dictWord{10, 0, 178},
- dictWord{10, 0, 418},
- dictWord{10, 0, 571},
- dictWord{11, 0, 531},
- dictWord{12, 0, 113},
- dictWord{12, 0, 475},
- dictWord{13, 0, 99},
- dictWord{142, 0, 428},
- dictWord{4, 10, 56},
- dictWord{7, 11, 616},
- dictWord{7, 10, 1791},
- dictWord{8, 10, 607},
- dictWord{8, 10, 651},
- dictWord{10, 11, 413},
- dictWord{11, 10, 465},
- dictWord{11, 10, 835},
- dictWord{12, 10, 337},
- dictWord{141, 10, 480},
- dictWord{7, 0, 1591},
- dictWord{144, 0, 43},
- dictWord{9, 10, 158},
- dictWord{138, 10, 411},
- dictWord{135, 0, 1683},
- dictWord{8, 0, 289},
- dictWord{11, 0, 45},
- dictWord{12, 0, 278},
- dictWord{140, 0, 537},
- dictWord{6, 11, 120},
- dictWord{7, 11, 1188},
- dictWord{7, 11, 1710},
- dictWord{8, 11, 286},
- dictWord{9, 11, 667},
- dictWord{11, 11, 592},
- dictWord{
- 139,
- 11,
- 730,
- },
- dictWord{136, 10, 617},
- dictWord{135, 0, 1120},
- dictWord{135, 11, 1146},
- dictWord{139, 10, 563},
- dictWord{4, 11, 352},
- dictWord{4, 10, 369},
- dictWord{135, 11, 687},
- dictWord{143, 11, 38},
- dictWord{4, 0, 399},
- dictWord{5, 0, 119},
- dictWord{5, 0, 494},
- dictWord{7, 0, 751},
- dictWord{9, 0, 556},
- dictWord{
- 14,
- 11,
- 179,
- },
- dictWord{15, 11, 151},
- dictWord{150, 11, 11},
- dictWord{4, 11, 192},
- dictWord{5, 11, 49},
- dictWord{6, 11, 200},
- dictWord{6, 11, 293},
- dictWord{
- 6,
- 11,
- 1696,
- },
- dictWord{135, 11, 488},
- dictWord{4, 0, 398},
- dictWord{133, 0, 660},
- dictWord{7, 0, 1030},
- dictWord{134, 10, 622},
- dictWord{135, 11, 595},
- dictWord{141, 0, 168},
- dictWord{132, 11, 147},
- dictWord{7, 0, 973},
- dictWord{10, 10, 624},
- dictWord{142, 10, 279},
- dictWord{132, 10, 363},
- dictWord{
- 132,
- 0,
- 642,
- },
- dictWord{133, 11, 934},
- dictWord{134, 0, 1615},
- dictWord{7, 11, 505},
- dictWord{135, 11, 523},
- dictWord{7, 0, 594},
- dictWord{7, 0, 851},
- dictWord{
- 7,
- 0,
- 1858,
- },
- dictWord{9, 0, 411},
- dictWord{9, 0, 574},
- dictWord{9, 0, 666},
- dictWord{9, 0, 737},
- dictWord{10, 0, 346},
- dictWord{10, 0, 712},
- dictWord{11, 0, 246},
- dictWord{11, 0, 432},
- dictWord{11, 0, 517},
- dictWord{11, 0, 647},
- dictWord{11, 0, 679},
- dictWord{11, 0, 727},
- dictWord{12, 0, 304},
- dictWord{12, 0, 305},
- dictWord{
- 12,
- 0,
- 323,
- },
- dictWord{12, 0, 483},
- dictWord{12, 0, 572},
- dictWord{12, 0, 593},
- dictWord{12, 0, 602},
- dictWord{13, 0, 95},
- dictWord{13, 0, 101},
- dictWord{
- 13,
- 0,
- 171,
- },
- dictWord{13, 0, 315},
- dictWord{13, 0, 378},
- dictWord{13, 0, 425},
- dictWord{13, 0, 475},
- dictWord{14, 0, 63},
- dictWord{14, 0, 380},
- dictWord{14, 0, 384},
- dictWord{15, 0, 133},
- dictWord{18, 0, 112},
- dictWord{148, 0, 72},
- dictWord{135, 0, 1093},
- dictWord{132, 0, 679},
- dictWord{8, 0, 913},
- dictWord{10, 0, 903},
- dictWord{10, 0, 915},
- dictWord{12, 0, 648},
- dictWord{12, 0, 649},
- dictWord{14, 0, 455},
- dictWord{16, 0, 112},
- dictWord{138, 11, 438},
- dictWord{137, 0, 203},
- dictWord{134, 10, 292},
- dictWord{134, 0, 1492},
- dictWord{7, 0, 1374},
- dictWord{8, 0, 540},
- dictWord{5, 10, 177},
- dictWord{6, 10, 616},
- dictWord{7, 10, 827},
- dictWord{9, 10, 525},
- dictWord{138, 10, 656},
- dictWord{135, 0, 1486},
- dictWord{9, 0, 714},
- dictWord{138, 10, 31},
- dictWord{136, 0, 825},
- dictWord{
- 134,
- 0,
- 1511,
- },
- dictWord{132, 11, 637},
- dictWord{134, 0, 952},
- dictWord{4, 10, 161},
- dictWord{133, 10, 631},
- dictWord{5, 0, 143},
- dictWord{5, 0, 769},
- dictWord{
- 6,
- 0,
- 1760,
- },
- dictWord{7, 0, 682},
- dictWord{7, 0, 1992},
- dictWord{136, 0, 736},
- dictWord{132, 0, 700},
- dictWord{134, 0, 1540},
- dictWord{132, 11, 777},
- dictWord{
- 9,
- 11,
- 867,
- },
- dictWord{138, 11, 837},
- dictWord{7, 0, 1557},
- dictWord{135, 10, 1684},
- dictWord{133, 0, 860},
- dictWord{6, 0, 422},
- dictWord{7, 0, 0},
- dictWord{
- 7,
- 0,
- 1544,
- },
- dictWord{9, 0, 605},
- dictWord{11, 0, 990},
- dictWord{12, 0, 235},
- dictWord{12, 0, 453},
- dictWord{13, 0, 47},
- dictWord{13, 0, 266},
- dictWord{9, 10, 469},
- dictWord{9, 10, 709},
- dictWord{12, 10, 512},
- dictWord{14, 10, 65},
- dictWord{145, 10, 12},
- dictWord{11, 0, 807},
- dictWord{10, 10, 229},
- dictWord{11, 10, 73},
- dictWord{139, 10, 376},
- dictWord{6, 11, 170},
- dictWord{7, 11, 1080},
- dictWord{8, 11, 395},
- dictWord{8, 11, 487},
- dictWord{11, 11, 125},
- dictWord{
- 141,
- 11,
- 147,
- },
- dictWord{5, 0, 515},
- dictWord{137, 0, 131},
- dictWord{7, 0, 1605},
- dictWord{11, 0, 962},
- dictWord{146, 0, 139},
- dictWord{132, 0, 646},
- dictWord{
- 4,
- 0,
- 396,
- },
- dictWord{7, 0, 728},
- dictWord{9, 0, 117},
- dictWord{13, 0, 202},
- dictWord{148, 0, 51},
- dictWord{6, 0, 121},
- dictWord{6, 0, 124},
- dictWord{6, 0, 357},
- dictWord{
- 7,
- 0,
- 1138,
- },
- dictWord{7, 0, 1295},
- dictWord{8, 0, 162},
- dictWord{8, 0, 508},
- dictWord{11, 0, 655},
- dictWord{4, 11, 535},
- dictWord{6, 10, 558},
- dictWord{
- 7,
- 10,
- 651,
- },
- dictWord{8, 11, 618},
- dictWord{9, 10, 0},
- dictWord{10, 10, 34},
- dictWord{139, 10, 1008},
- dictWord{135, 11, 1245},
- dictWord{138, 0, 357},
- dictWord{
- 150,
- 11,
- 23,
- },
- dictWord{133, 0, 237},
- dictWord{135, 0, 1784},
- dictWord{7, 10, 1832},
- dictWord{138, 10, 374},
- dictWord{132, 0, 713},
- dictWord{132, 11, 46},
- dictWord{6, 0, 1536},
- dictWord{10, 0, 348},
- dictWord{5, 11, 811},
- dictWord{6, 11, 1679},
- dictWord{6, 11, 1714},
- dictWord{135, 11, 2032},
- dictWord{
- 11,
- 11,
- 182,
- },
- dictWord{142, 11, 195},
- dictWord{6, 0, 523},
- dictWord{7, 0, 738},
- dictWord{7, 10, 771},
- dictWord{7, 10, 1731},
- dictWord{9, 10, 405},
- dictWord{
- 138,
- 10,
- 421,
- },
- dictWord{7, 11, 1458},
- dictWord{9, 11, 407},
- dictWord{139, 11, 15},
- dictWord{6, 11, 34},
- dictWord{7, 11, 69},
- dictWord{7, 11, 640},
- dictWord{
- 7,
- 11,
- 1089,
- },
- dictWord{8, 11, 708},
- dictWord{8, 11, 721},
- dictWord{9, 11, 363},
- dictWord{9, 11, 643},
- dictWord{10, 11, 628},
- dictWord{148, 11, 98},
- dictWord{
- 133,
- 0,
- 434,
- },
- dictWord{135, 0, 1877},
- dictWord{7, 0, 571},
- dictWord{138, 0, 366},
- dictWord{5, 10, 881},
- dictWord{133, 10, 885},
- dictWord{9, 0, 513},
- dictWord{
- 10,
- 0,
- 25,
- },
- dictWord{10, 0, 39},
- dictWord{12, 0, 122},
- dictWord{140, 0, 187},
- dictWord{132, 0, 580},
- dictWord{5, 10, 142},
- dictWord{134, 10, 546},
- dictWord{
- 132,
- 11,
- 462,
- },
- dictWord{137, 0, 873},
- dictWord{5, 10, 466},
- dictWord{11, 10, 571},
- dictWord{12, 10, 198},
- dictWord{13, 10, 283},
- dictWord{14, 10, 186},
- dictWord{15, 10, 21},
- dictWord{143, 10, 103},
- dictWord{7, 0, 171},
- dictWord{4, 10, 185},
- dictWord{5, 10, 257},
- dictWord{5, 10, 839},
- dictWord{5, 10, 936},
- dictWord{
- 9,
- 10,
- 399,
- },
- dictWord{10, 10, 258},
- dictWord{10, 10, 395},
- dictWord{10, 10, 734},
- dictWord{11, 10, 1014},
- dictWord{12, 10, 23},
- dictWord{13, 10, 350},
- dictWord{14, 10, 150},
- dictWord{147, 10, 6},
- dictWord{134, 0, 625},
- dictWord{7, 0, 107},
- dictWord{7, 0, 838},
- dictWord{8, 0, 550},
- dictWord{138, 0, 401},
- dictWord{
- 5,
- 11,
- 73,
- },
- dictWord{6, 11, 23},
- dictWord{134, 11, 338},
- dictWord{4, 0, 943},
- dictWord{6, 0, 1850},
- dictWord{12, 0, 713},
- dictWord{142, 0, 434},
- dictWord{
- 11,
- 0,
- 588,
- },
- dictWord{11, 0, 864},
- dictWord{11, 0, 936},
- dictWord{11, 0, 968},
- dictWord{12, 0, 73},
- dictWord{12, 0, 343},
- dictWord{12, 0, 394},
- dictWord{13, 0, 275},
- dictWord{14, 0, 257},
- dictWord{15, 0, 160},
- dictWord{7, 10, 404},
- dictWord{7, 10, 1377},
- dictWord{7, 10, 1430},
- dictWord{7, 10, 2017},
- dictWord{8, 10, 149},
- dictWord{8, 10, 239},
- dictWord{8, 10, 512},
- dictWord{8, 10, 793},
- dictWord{8, 10, 818},
- dictWord{9, 10, 474},
- dictWord{9, 10, 595},
- dictWord{10, 10, 122},
- dictWord{10, 10, 565},
- dictWord{10, 10, 649},
- dictWord{10, 10, 783},
- dictWord{11, 10, 239},
- dictWord{11, 10, 295},
- dictWord{11, 10, 447},
- dictWord{
- 11,
- 10,
- 528,
- },
- dictWord{11, 10, 639},
- dictWord{11, 10, 800},
- dictWord{12, 10, 25},
- dictWord{12, 10, 157},
- dictWord{12, 10, 316},
- dictWord{12, 10, 390},
- dictWord{
- 12,
- 10,
- 391,
- },
- dictWord{12, 10, 395},
- dictWord{12, 10, 478},
- dictWord{12, 10, 503},
- dictWord{12, 10, 592},
- dictWord{12, 10, 680},
- dictWord{13, 10, 50},
- dictWord{13, 10, 53},
- dictWord{13, 10, 132},
- dictWord{13, 10, 198},
- dictWord{13, 10, 322},
- dictWord{13, 10, 415},
- dictWord{13, 10, 511},
- dictWord{14, 10, 71},
- dictWord{14, 10, 395},
- dictWord{15, 10, 71},
- dictWord{15, 10, 136},
- dictWord{17, 10, 123},
- dictWord{18, 10, 93},
- dictWord{147, 10, 58},
- dictWord{
- 133,
- 0,
- 768,
- },
- dictWord{11, 0, 103},
- dictWord{142, 0, 0},
- dictWord{136, 10, 712},
- dictWord{132, 0, 799},
- dictWord{132, 0, 894},
- dictWord{7, 11, 725},
- dictWord{
- 8,
- 11,
- 498,
- },
- dictWord{139, 11, 268},
- dictWord{135, 11, 1798},
- dictWord{135, 11, 773},
- dictWord{141, 11, 360},
- dictWord{4, 10, 377},
- dictWord{152, 10, 13},
- dictWord{135, 0, 1673},
- dictWord{132, 11, 583},
- dictWord{134, 0, 1052},
- dictWord{133, 11, 220},
- dictWord{140, 11, 69},
- dictWord{132, 11, 544},
- dictWord{
- 4,
- 10,
- 180,
- },
- dictWord{135, 10, 1906},
- dictWord{134, 0, 272},
- dictWord{4, 0, 441},
- dictWord{134, 0, 1421},
- dictWord{4, 0, 9},
- dictWord{5, 0, 128},
- dictWord{
- 7,
- 0,
- 368,
- },
- dictWord{11, 0, 480},
- dictWord{148, 0, 3},
- dictWord{5, 11, 176},
- dictWord{6, 11, 437},
- dictWord{6, 11, 564},
- dictWord{11, 11, 181},
- dictWord{
- 141,
- 11,
- 183,
- },
- dictWord{132, 10, 491},
- dictWord{7, 0, 1182},
- dictWord{141, 11, 67},
- dictWord{6, 0, 1346},
- dictWord{4, 10, 171},
- dictWord{138, 10, 234},
- dictWord{
- 4,
- 10,
- 586,
- },
- dictWord{7, 10, 1186},
- dictWord{138, 10, 631},
- dictWord{136, 0, 682},
- dictWord{134, 0, 1004},
- dictWord{15, 0, 24},
- dictWord{143, 11, 24},
- dictWord{134, 0, 968},
- dictWord{4, 0, 2},
- dictWord{6, 0, 742},
- dictWord{6, 0, 793},
- dictWord{7, 0, 545},
- dictWord{7, 0, 894},
- dictWord{9, 10, 931},
- dictWord{
- 10,
- 10,
- 334,
- },
- dictWord{148, 10, 71},
- dictWord{136, 11, 600},
- dictWord{133, 10, 765},
- dictWord{9, 0, 769},
- dictWord{140, 0, 185},
- dictWord{4, 11, 790},
- dictWord{
- 5,
- 11,
- 273,
- },
- dictWord{134, 11, 394},
- dictWord{7, 0, 474},
- dictWord{137, 0, 578},
- dictWord{4, 11, 135},
- dictWord{6, 11, 127},
- dictWord{7, 11, 1185},
- dictWord{
- 7,
- 11,
- 1511,
- },
- dictWord{8, 11, 613},
- dictWord{11, 11, 5},
- dictWord{12, 11, 133},
- dictWord{12, 11, 495},
- dictWord{12, 11, 586},
- dictWord{14, 11, 385},
- dictWord{15, 11, 118},
- dictWord{17, 11, 20},
- dictWord{146, 11, 98},
- dictWord{133, 10, 424},
- dictWord{5, 0, 530},
- dictWord{142, 0, 113},
- dictWord{6, 11, 230},
- dictWord{7, 11, 961},
- dictWord{7, 11, 1085},
- dictWord{136, 11, 462},
- dictWord{7, 11, 1954},
- dictWord{137, 11, 636},
- dictWord{136, 10, 714},
- dictWord{
- 149,
- 11,
- 6,
- },
- dictWord{135, 10, 685},
- dictWord{9, 10, 420},
- dictWord{10, 10, 269},
- dictWord{10, 10, 285},
- dictWord{10, 10, 576},
- dictWord{11, 10, 397},
- dictWord{13, 10, 175},
- dictWord{145, 10, 90},
- dictWord{132, 10, 429},
- dictWord{5, 0, 556},
- dictWord{5, 11, 162},
- dictWord{136, 11, 68},
- dictWord{132, 11, 654},
- dictWord{4, 11, 156},
- dictWord{7, 11, 998},
- dictWord{7, 11, 1045},
- dictWord{7, 11, 1860},
- dictWord{9, 11, 48},
- dictWord{9, 11, 692},
- dictWord{11, 11, 419},
- dictWord{139, 11, 602},
- dictWord{6, 0, 1317},
- dictWord{8, 0, 16},
- dictWord{9, 0, 825},
- dictWord{12, 0, 568},
- dictWord{7, 11, 1276},
- dictWord{8, 11, 474},
- dictWord{137, 11, 652},
- dictWord{18, 0, 97},
- dictWord{7, 10, 18},
- dictWord{7, 10, 699},
- dictWord{7, 10, 1966},
- dictWord{8, 10, 752},
- dictWord{9, 10, 273},
- dictWord{
- 9,
- 10,
- 412,
- },
- dictWord{9, 10, 703},
- dictWord{10, 10, 71},
- dictWord{10, 10, 427},
- dictWord{138, 10, 508},
- dictWord{10, 0, 703},
- dictWord{7, 11, 1454},
- dictWord{138, 11, 703},
- dictWord{4, 10, 53},
- dictWord{5, 10, 186},
- dictWord{135, 10, 752},
- dictWord{134, 0, 892},
- dictWord{134, 0, 1571},
- dictWord{8, 10, 575},
- dictWord{10, 10, 289},
- dictWord{139, 10, 319},
- dictWord{6, 0, 186},
- dictWord{137, 0, 426},
- dictWord{134, 0, 1101},
- dictWord{132, 10, 675},
- dictWord{
- 132,
- 0,
- 585,
- },
- dictWord{6, 0, 1870},
- dictWord{137, 0, 937},
- dictWord{152, 11, 10},
- dictWord{9, 11, 197},
- dictWord{10, 11, 300},
- dictWord{12, 11, 473},
- dictWord{
- 13,
- 11,
- 90,
- },
- dictWord{141, 11, 405},
- dictWord{4, 0, 93},
- dictWord{5, 0, 252},
- dictWord{6, 0, 229},
- dictWord{7, 0, 291},
- dictWord{9, 0, 550},
- dictWord{139, 0, 644},
- dictWord{137, 0, 749},
- dictWord{9, 0, 162},
- dictWord{6, 10, 209},
- dictWord{8, 10, 468},
- dictWord{9, 10, 210},
- dictWord{11, 10, 36},
- dictWord{12, 10, 28},
- dictWord{12, 10, 630},
- dictWord{13, 10, 21},
- dictWord{13, 10, 349},
- dictWord{14, 10, 7},
- dictWord{145, 10, 13},
- dictWord{132, 0, 381},
- dictWord{132, 11, 606},
- dictWord{4, 10, 342},
- dictWord{135, 10, 1179},
- dictWord{7, 11, 1587},
- dictWord{7, 11, 1707},
- dictWord{10, 11, 528},
- dictWord{139, 11, 504},
- dictWord{
- 12,
- 11,
- 39,
- },
- dictWord{13, 11, 265},
- dictWord{141, 11, 439},
- dictWord{4, 10, 928},
- dictWord{133, 10, 910},
- dictWord{7, 10, 1838},
- dictWord{7, 11, 1978},
- dictWord{136, 11, 676},
- dictWord{6, 0, 762},
- dictWord{6, 0, 796},
- dictWord{134, 0, 956},
- dictWord{4, 10, 318},
- dictWord{4, 10, 496},
- dictWord{7, 10, 856},
- dictWord{139, 10, 654},
- dictWord{137, 11, 242},
- dictWord{4, 11, 361},
- dictWord{133, 11, 315},
- dictWord{132, 11, 461},
- dictWord{132, 11, 472},
- dictWord{
- 132,
- 0,
- 857,
- },
- dictWord{5, 0, 21},
- dictWord{6, 0, 77},
- dictWord{6, 0, 157},
- dictWord{7, 0, 974},
- dictWord{7, 0, 1301},
- dictWord{7, 0, 1339},
- dictWord{7, 0, 1490},
- dictWord{
- 7,
- 0,
- 1873,
- },
- dictWord{9, 0, 628},
- dictWord{7, 10, 915},
- dictWord{8, 10, 247},
- dictWord{147, 10, 0},
- dictWord{4, 10, 202},
- dictWord{5, 10, 382},
- dictWord{
- 6,
- 10,
- 454,
- },
- dictWord{7, 10, 936},
- dictWord{7, 10, 1803},
- dictWord{8, 10, 758},
- dictWord{9, 10, 375},
- dictWord{9, 10, 895},
- dictWord{10, 10, 743},
- dictWord{
- 10,
- 10,
- 792,
- },
- dictWord{11, 10, 978},
- dictWord{11, 10, 1012},
- dictWord{142, 10, 109},
- dictWord{7, 11, 617},
- dictWord{10, 11, 498},
- dictWord{11, 11, 501},
- dictWord{12, 11, 16},
- dictWord{140, 11, 150},
- dictWord{7, 10, 1150},
- dictWord{7, 10, 1425},
- dictWord{7, 10, 1453},
- dictWord{10, 11, 747},
- dictWord{
- 140,
- 10,
- 513,
- },
- dictWord{133, 11, 155},
- dictWord{11, 0, 919},
- dictWord{141, 0, 409},
- dictWord{138, 10, 791},
- dictWord{10, 0, 633},
- dictWord{139, 11, 729},
- dictWord{
- 7,
- 11,
- 163,
- },
- dictWord{8, 11, 319},
- dictWord{9, 11, 402},
- dictWord{10, 11, 24},
- dictWord{10, 11, 681},
- dictWord{11, 11, 200},
- dictWord{11, 11, 567},
- dictWord{12, 11, 253},
- dictWord{12, 11, 410},
- dictWord{142, 11, 219},
- dictWord{5, 11, 475},
- dictWord{7, 11, 1780},
- dictWord{9, 11, 230},
- dictWord{11, 11, 297},
- dictWord{11, 11, 558},
- dictWord{14, 11, 322},
- dictWord{147, 11, 76},
- dictWord{7, 0, 332},
- dictWord{6, 10, 445},
- dictWord{137, 10, 909},
- dictWord{
- 135,
- 11,
- 1956,
- },
- dictWord{136, 11, 274},
- dictWord{134, 10, 578},
- dictWord{135, 0, 1489},
- dictWord{135, 11, 1848},
- dictWord{5, 11, 944},
- dictWord{
- 134,
- 11,
- 1769,
- },
- dictWord{132, 11, 144},
- dictWord{136, 10, 766},
- dictWord{4, 0, 832},
- dictWord{135, 10, 541},
- dictWord{8, 0, 398},
- dictWord{9, 0, 681},
- dictWord{
- 139,
- 0,
- 632,
- },
- dictWord{136, 0, 645},
- dictWord{9, 0, 791},
- dictWord{10, 0, 93},
- dictWord{16, 0, 13},
- dictWord{17, 0, 23},
- dictWord{18, 0, 135},
- dictWord{19, 0, 12},
- dictWord{20, 0, 1},
- dictWord{20, 0, 12},
- dictWord{148, 0, 14},
- dictWord{6, 11, 247},
- dictWord{137, 11, 555},
- dictWord{134, 0, 20},
- dictWord{132, 0, 800},
- dictWord{135, 0, 1841},
- dictWord{139, 10, 983},
- dictWord{137, 10, 768},
- dictWord{132, 10, 584},
- dictWord{141, 11, 51},
- dictWord{6, 0, 1993},
- dictWord{
- 4,
- 11,
- 620,
- },
- dictWord{138, 11, 280},
- dictWord{136, 0, 769},
- dictWord{11, 0, 290},
- dictWord{11, 0, 665},
- dictWord{7, 11, 1810},
- dictWord{11, 11, 866},
- dictWord{
- 12,
- 11,
- 103,
- },
- dictWord{13, 11, 495},
- dictWord{17, 11, 67},
- dictWord{147, 11, 74},
- dictWord{134, 0, 1426},
- dictWord{139, 0, 60},
- dictWord{4, 10, 326},
- dictWord{135, 10, 1770},
- dictWord{7, 0, 1874},
- dictWord{9, 0, 641},
- dictWord{132, 10, 226},
- dictWord{6, 0, 644},
- dictWord{5, 10, 426},
- dictWord{8, 10, 30},
- dictWord{
- 9,
- 10,
- 2,
- },
- dictWord{11, 10, 549},
- dictWord{147, 10, 122},
- dictWord{5, 11, 428},
- dictWord{138, 11, 442},
- dictWord{135, 11, 1871},
- dictWord{
- 135,
- 0,
- 1757,
- },
- dictWord{147, 10, 117},
- dictWord{135, 0, 937},
- dictWord{135, 0, 1652},
- dictWord{6, 0, 654},
- dictWord{134, 0, 1476},
- dictWord{133, 11, 99},
- dictWord{135, 0, 527},
- dictWord{132, 10, 345},
- dictWord{4, 10, 385},
- dictWord{4, 11, 397},
- dictWord{7, 10, 265},
- dictWord{135, 10, 587},
- dictWord{4, 0, 579},
- dictWord{5, 0, 226},
- dictWord{5, 0, 323},
- dictWord{135, 0, 960},
- dictWord{134, 0, 1486},
- dictWord{8, 11, 502},
- dictWord{144, 11, 9},
- dictWord{4, 10, 347},
- dictWord{
- 5,
- 10,
- 423,
- },
- dictWord{5, 10, 996},
- dictWord{135, 10, 1329},
- dictWord{7, 11, 727},
- dictWord{146, 11, 73},
- dictWord{4, 11, 485},
- dictWord{7, 11, 353},
- dictWord{7, 10, 1259},
- dictWord{7, 11, 1523},
- dictWord{9, 10, 125},
- dictWord{139, 10, 65},
- dictWord{6, 0, 325},
- dictWord{5, 10, 136},
- dictWord{6, 11, 366},
- dictWord{
- 7,
- 11,
- 1384,
- },
- dictWord{7, 11, 1601},
- dictWord{136, 10, 644},
- dictWord{138, 11, 160},
- dictWord{6, 0, 1345},
- dictWord{137, 11, 282},
- dictWord{18, 0, 91},
- dictWord{147, 0, 70},
- dictWord{136, 0, 404},
- dictWord{4, 11, 157},
- dictWord{133, 11, 471},
- dictWord{133, 0, 973},
- dictWord{6, 0, 135},
- dictWord{
- 135,
- 0,
- 1176,
- },
- dictWord{8, 11, 116},
- dictWord{11, 11, 551},
- dictWord{142, 11, 159},
- dictWord{4, 0, 549},
- dictWord{4, 10, 433},
- dictWord{133, 10, 719},
- dictWord{
- 136,
- 0,
- 976,
- },
- dictWord{5, 11, 160},
- dictWord{7, 11, 363},
- dictWord{7, 11, 589},
- dictWord{10, 11, 170},
- dictWord{141, 11, 55},
- dictWord{144, 0, 21},
- dictWord{
- 144,
- 0,
- 51,
- },
- dictWord{135, 0, 314},
- dictWord{135, 10, 1363},
- dictWord{4, 11, 108},
- dictWord{7, 11, 405},
- dictWord{10, 11, 491},
- dictWord{139, 11, 498},
- dictWord{146, 0, 4},
- dictWord{4, 10, 555},
- dictWord{8, 10, 536},
- dictWord{10, 10, 288},
- dictWord{139, 10, 1005},
- dictWord{135, 11, 1005},
- dictWord{6, 0, 281},
- dictWord{7, 0, 6},
- dictWord{8, 0, 282},
- dictWord{8, 0, 480},
- dictWord{8, 0, 499},
- dictWord{9, 0, 198},
- dictWord{10, 0, 143},
- dictWord{10, 0, 169},
- dictWord{
- 10,
- 0,
- 211,
- },
- dictWord{10, 0, 417},
- dictWord{10, 0, 574},
- dictWord{11, 0, 147},
- dictWord{11, 0, 395},
- dictWord{12, 0, 75},
- dictWord{12, 0, 407},
- dictWord{12, 0, 608},
- dictWord{13, 0, 500},
- dictWord{142, 0, 251},
- dictWord{6, 0, 1093},
- dictWord{6, 0, 1405},
- dictWord{9, 10, 370},
- dictWord{138, 10, 90},
- dictWord{4, 11, 926},
- dictWord{133, 11, 983},
- dictWord{135, 0, 1776},
- dictWord{134, 0, 1528},
- dictWord{132, 0, 419},
- dictWord{132, 11, 538},
- dictWord{6, 11, 294},
- dictWord{
- 7,
- 11,
- 1267,
- },
- dictWord{136, 11, 624},
- dictWord{135, 11, 1772},
- dictWord{138, 11, 301},
- dictWord{4, 10, 257},
- dictWord{135, 10, 2031},
- dictWord{4, 0, 138},
- dictWord{7, 0, 1012},
- dictWord{7, 0, 1280},
- dictWord{9, 0, 76},
- dictWord{135, 10, 1768},
- dictWord{132, 11, 757},
- dictWord{5, 0, 29},
- dictWord{140, 0, 638},
- dictWord{7, 11, 655},
- dictWord{135, 11, 1844},
- dictWord{7, 0, 1418},
- dictWord{6, 11, 257},
- dictWord{135, 11, 1522},
- dictWord{8, 11, 469},
- dictWord{
- 138,
- 11,
- 47,
- },
- dictWord{142, 11, 278},
- dictWord{6, 10, 83},
- dictWord{6, 10, 1733},
- dictWord{135, 10, 1389},
- dictWord{11, 11, 204},
- dictWord{11, 11, 243},
- dictWord{140, 11, 293},
- dictWord{135, 11, 1875},
- dictWord{6, 0, 1710},
- dictWord{135, 0, 2038},
- dictWord{137, 11, 299},
- dictWord{4, 0, 17},
- dictWord{5, 0, 23},
- dictWord{7, 0, 995},
- dictWord{11, 0, 383},
- dictWord{11, 0, 437},
- dictWord{12, 0, 460},
- dictWord{140, 0, 532},
- dictWord{133, 0, 862},
- dictWord{137, 10, 696},
- dictWord{6, 0, 592},
- dictWord{138, 0, 946},
- dictWord{138, 11, 599},
- dictWord{7, 10, 1718},
- dictWord{9, 10, 95},
- dictWord{9, 10, 274},
- dictWord{10, 10, 279},
- dictWord{10, 10, 317},
- dictWord{10, 10, 420},
- dictWord{11, 10, 303},
- dictWord{11, 10, 808},
- dictWord{12, 10, 134},
- dictWord{12, 10, 367},
- dictWord{
- 13,
- 10,
- 149,
- },
- dictWord{13, 10, 347},
- dictWord{14, 10, 349},
- dictWord{14, 10, 406},
- dictWord{18, 10, 22},
- dictWord{18, 10, 89},
- dictWord{18, 10, 122},
- dictWord{
- 147,
- 10,
- 47,
- },
- dictWord{8, 0, 70},
- dictWord{12, 0, 171},
- dictWord{141, 0, 272},
- dictWord{133, 10, 26},
- dictWord{132, 10, 550},
- dictWord{137, 0, 812},
- dictWord{
- 10,
- 0,
- 233,
- },
- dictWord{139, 0, 76},
- dictWord{134, 0, 988},
- dictWord{134, 0, 442},
- dictWord{136, 10, 822},
- dictWord{7, 0, 896},
- dictWord{4, 10, 902},
- dictWord{
- 5,
- 10,
- 809,
- },
- dictWord{134, 10, 122},
- dictWord{5, 11, 150},
- dictWord{7, 11, 106},
- dictWord{8, 11, 603},
- dictWord{9, 11, 593},
- dictWord{9, 11, 634},
- dictWord{
- 10,
- 11,
- 44,
- },
- dictWord{10, 11, 173},
- dictWord{11, 11, 462},
- dictWord{11, 11, 515},
- dictWord{13, 11, 216},
- dictWord{13, 11, 288},
- dictWord{142, 11, 400},
- dictWord{136, 0, 483},
- dictWord{135, 10, 262},
- dictWord{6, 0, 1709},
- dictWord{133, 10, 620},
- dictWord{4, 10, 34},
- dictWord{5, 10, 574},
- dictWord{7, 10, 279},
- dictWord{7, 10, 1624},
- dictWord{136, 10, 601},
- dictWord{137, 10, 170},
- dictWord{147, 0, 119},
- dictWord{12, 11, 108},
- dictWord{141, 11, 291},
- dictWord{
- 11,
- 0,
- 69,
- },
- dictWord{12, 0, 105},
- dictWord{12, 0, 117},
- dictWord{13, 0, 213},
- dictWord{14, 0, 13},
- dictWord{14, 0, 62},
- dictWord{14, 0, 177},
- dictWord{14, 0, 421},
- dictWord{15, 0, 19},
- dictWord{146, 0, 141},
- dictWord{137, 0, 309},
- dictWord{11, 11, 278},
- dictWord{142, 11, 73},
- dictWord{7, 0, 608},
- dictWord{7, 0, 976},
- dictWord{9, 0, 146},
- dictWord{10, 0, 206},
- dictWord{10, 0, 596},
- dictWord{13, 0, 218},
- dictWord{142, 0, 153},
- dictWord{133, 10, 332},
- dictWord{6, 10, 261},
- dictWord{
- 8,
- 10,
- 182,
- },
- dictWord{139, 10, 943},
- dictWord{4, 11, 493},
- dictWord{144, 11, 55},
- dictWord{134, 10, 1721},
- dictWord{132, 0, 768},
- dictWord{4, 10, 933},
- dictWord{133, 10, 880},
- dictWord{7, 11, 555},
- dictWord{7, 11, 1316},
- dictWord{7, 11, 1412},
- dictWord{7, 11, 1839},
- dictWord{9, 11, 192},
- dictWord{
- 9,
- 11,
- 589,
- },
- dictWord{11, 11, 241},
- dictWord{11, 11, 676},
- dictWord{11, 11, 811},
- dictWord{11, 11, 891},
- dictWord{12, 11, 140},
- dictWord{12, 11, 346},
- dictWord{
- 12,
- 11,
- 479,
- },
- dictWord{13, 11, 30},
- dictWord{13, 11, 49},
- dictWord{13, 11, 381},
- dictWord{14, 11, 188},
- dictWord{15, 11, 150},
- dictWord{16, 11, 76},
- dictWord{18, 11, 30},
- dictWord{148, 11, 52},
- dictWord{4, 0, 518},
- dictWord{135, 0, 1136},
- dictWord{6, 11, 568},
- dictWord{7, 11, 112},
- dictWord{7, 11, 1804},
- dictWord{8, 11, 362},
- dictWord{8, 11, 410},
- dictWord{8, 11, 830},
- dictWord{9, 11, 514},
- dictWord{11, 11, 649},
- dictWord{142, 11, 157},
- dictWord{135, 11, 673},
- dictWord{8, 0, 689},
- dictWord{137, 0, 863},
- dictWord{4, 0, 18},
- dictWord{7, 0, 145},
- dictWord{7, 0, 444},
- dictWord{7, 0, 1278},
- dictWord{8, 0, 49},
- dictWord{8, 0, 400},
- dictWord{9, 0, 71},
- dictWord{9, 0, 250},
- dictWord{10, 0, 459},
- dictWord{12, 0, 160},
- dictWord{16, 0, 24},
- dictWord{132, 11, 625},
- dictWord{140, 0, 1020},
- dictWord{4, 0, 997},
- dictWord{6, 0, 1946},
- dictWord{6, 0, 1984},
- dictWord{134, 0, 1998},
- dictWord{6, 11, 16},
- dictWord{6, 11, 158},
- dictWord{7, 11, 43},
- dictWord{
- 7,
- 11,
- 129,
- },
- dictWord{7, 11, 181},
- dictWord{8, 11, 276},
- dictWord{8, 11, 377},
- dictWord{10, 11, 523},
- dictWord{11, 11, 816},
- dictWord{12, 11, 455},
- dictWord{
- 13,
- 11,
- 303,
- },
- dictWord{142, 11, 135},
- dictWord{133, 10, 812},
- dictWord{134, 0, 658},
- dictWord{4, 11, 1},
- dictWord{7, 11, 1143},
- dictWord{7, 11, 1463},
- dictWord{8, 11, 61},
- dictWord{9, 11, 207},
- dictWord{9, 11, 390},
- dictWord{9, 11, 467},
- dictWord{139, 11, 836},
- dictWord{150, 11, 26},
- dictWord{140, 0, 106},
- dictWord{6, 0, 1827},
- dictWord{10, 0, 931},
- dictWord{18, 0, 166},
- dictWord{20, 0, 114},
- dictWord{4, 10, 137},
- dictWord{7, 10, 1178},
- dictWord{7, 11, 1319},
- dictWord{135, 10, 1520},
- dictWord{133, 0, 1010},
- dictWord{4, 11, 723},
- dictWord{5, 11, 895},
- dictWord{7, 11, 1031},
- dictWord{8, 11, 199},
- dictWord{8, 11, 340},
- dictWord{9, 11, 153},
- dictWord{9, 11, 215},
- dictWord{10, 11, 21},
- dictWord{10, 11, 59},
- dictWord{10, 11, 80},
- dictWord{10, 11, 224},
- dictWord{11, 11, 229},
- dictWord{11, 11, 652},
- dictWord{12, 11, 192},
- dictWord{13, 11, 146},
- dictWord{142, 11, 91},
- dictWord{132, 11, 295},
- dictWord{6, 11, 619},
- dictWord{
- 7,
- 11,
- 898,
- },
- dictWord{7, 11, 1092},
- dictWord{8, 11, 485},
- dictWord{18, 11, 28},
- dictWord{147, 11, 116},
- dictWord{137, 11, 51},
- dictWord{6, 10, 1661},
- dictWord{
- 7,
- 10,
- 1975,
- },
- dictWord{7, 10, 2009},
- dictWord{135, 10, 2011},
- dictWord{5, 11, 309},
- dictWord{140, 11, 211},
- dictWord{5, 0, 87},
- dictWord{7, 0, 313},
- dictWord{
- 7,
- 0,
- 1103,
- },
- dictWord{10, 0, 208},
- dictWord{10, 0, 582},
- dictWord{11, 0, 389},
- dictWord{11, 0, 813},
- dictWord{12, 0, 385},
- dictWord{13, 0, 286},
- dictWord{
- 14,
- 0,
- 124,
- },
- dictWord{146, 0, 108},
- dictWord{5, 11, 125},
- dictWord{8, 11, 77},
- dictWord{138, 11, 15},
- dictWord{132, 0, 267},
- dictWord{133, 0, 703},
- dictWord{
- 137,
- 11,
- 155,
- },
- dictWord{133, 11, 439},
- dictWord{11, 11, 164},
- dictWord{140, 11, 76},
- dictWord{9, 0, 496},
- dictWord{5, 10, 89},
- dictWord{7, 10, 1915},
- dictWord{
- 9,
- 10,
- 185,
- },
- dictWord{9, 10, 235},
- dictWord{10, 10, 64},
- dictWord{10, 10, 270},
- dictWord{10, 10, 403},
- dictWord{10, 10, 469},
- dictWord{10, 10, 529},
- dictWord{10, 10, 590},
- dictWord{11, 10, 140},
- dictWord{11, 10, 860},
- dictWord{13, 10, 1},
- dictWord{13, 10, 422},
- dictWord{14, 10, 341},
- dictWord{14, 10, 364},
- dictWord{17, 10, 93},
- dictWord{18, 10, 113},
- dictWord{19, 10, 97},
- dictWord{147, 10, 113},
- dictWord{133, 10, 695},
- dictWord{135, 0, 1121},
- dictWord{
- 5,
- 10,
- 6,
- },
- dictWord{6, 10, 183},
- dictWord{7, 10, 680},
- dictWord{7, 10, 978},
- dictWord{7, 10, 1013},
- dictWord{7, 10, 1055},
- dictWord{12, 10, 230},
- dictWord{
- 13,
- 10,
- 172,
- },
- dictWord{146, 10, 29},
- dictWord{4, 11, 8},
- dictWord{7, 11, 1152},
- dictWord{7, 11, 1153},
- dictWord{7, 11, 1715},
- dictWord{9, 11, 374},
- dictWord{
- 10,
- 11,
- 478,
- },
- dictWord{139, 11, 648},
- dictWord{135, 11, 1099},
- dictWord{6, 10, 29},
- dictWord{139, 10, 63},
- dictWord{4, 0, 561},
- dictWord{10, 0, 249},
- dictWord{
- 139,
- 0,
- 209,
- },
- dictWord{132, 0, 760},
- dictWord{7, 11, 799},
- dictWord{138, 11, 511},
- dictWord{136, 11, 87},
- dictWord{9, 0, 154},
- dictWord{140, 0, 485},
- dictWord{136, 0, 255},
- dictWord{132, 0, 323},
- dictWord{140, 0, 419},
- dictWord{132, 10, 311},
- dictWord{134, 10, 1740},
- dictWord{4, 0, 368},
- dictWord{
- 135,
- 0,
- 641,
- },
- dictWord{7, 10, 170},
- dictWord{8, 10, 90},
- dictWord{8, 10, 177},
- dictWord{8, 10, 415},
- dictWord{11, 10, 714},
- dictWord{142, 10, 281},
- dictWord{
- 4,
- 11,
- 69,
- },
- dictWord{5, 11, 122},
- dictWord{9, 11, 656},
- dictWord{138, 11, 464},
- dictWord{5, 11, 849},
- dictWord{134, 11, 1633},
- dictWord{8, 0, 522},
- dictWord{
- 142,
- 0,
- 328,
- },
- dictWord{11, 10, 91},
- dictWord{13, 10, 129},
- dictWord{15, 10, 101},
- dictWord{145, 10, 125},
- dictWord{7, 0, 562},
- dictWord{8, 0, 551},
- dictWord{
- 4,
- 10,
- 494,
- },
- dictWord{6, 10, 74},
- dictWord{7, 10, 44},
- dictWord{11, 11, 499},
- dictWord{12, 10, 17},
- dictWord{15, 10, 5},
- dictWord{148, 10, 11},
- dictWord{4, 10, 276},
- dictWord{133, 10, 296},
- dictWord{9, 0, 92},
- dictWord{147, 0, 91},
- dictWord{4, 10, 7},
- dictWord{5, 10, 90},
- dictWord{5, 10, 158},
- dictWord{6, 10, 542},
- dictWord{
- 7,
- 10,
- 221,
- },
- dictWord{7, 10, 1574},
- dictWord{9, 10, 490},
- dictWord{10, 10, 540},
- dictWord{11, 10, 443},
- dictWord{139, 10, 757},
- dictWord{6, 0, 525},
- dictWord{
- 6,
- 0,
- 1976,
- },
- dictWord{8, 0, 806},
- dictWord{9, 0, 876},
- dictWord{140, 0, 284},
- dictWord{5, 11, 859},
- dictWord{7, 10, 588},
- dictWord{7, 11, 1160},
- dictWord{
- 8,
- 11,
- 107,
- },
- dictWord{9, 10, 175},
- dictWord{9, 11, 291},
- dictWord{9, 11, 439},
- dictWord{10, 10, 530},
- dictWord{10, 11, 663},
- dictWord{11, 11, 609},
- dictWord{
- 140,
- 11,
- 197,
- },
- dictWord{7, 11, 168},
- dictWord{13, 11, 196},
- dictWord{141, 11, 237},
- dictWord{139, 0, 958},
- dictWord{133, 0, 594},
- dictWord{135, 10, 580},
- dictWord{7, 10, 88},
- dictWord{136, 10, 627},
- dictWord{6, 0, 479},
- dictWord{6, 0, 562},
- dictWord{7, 0, 1060},
- dictWord{13, 0, 6},
- dictWord{5, 10, 872},
- dictWord{
- 6,
- 10,
- 57,
- },
- dictWord{7, 10, 471},
- dictWord{9, 10, 447},
- dictWord{137, 10, 454},
- dictWord{136, 11, 413},
- dictWord{145, 11, 19},
- dictWord{4, 11, 117},
- dictWord{
- 6,
- 11,
- 372,
- },
- dictWord{7, 11, 1905},
- dictWord{142, 11, 323},
- dictWord{4, 11, 722},
- dictWord{139, 11, 471},
- dictWord{17, 0, 61},
- dictWord{5, 10, 31},
- dictWord{134, 10, 614},
- dictWord{8, 10, 330},
- dictWord{140, 10, 477},
- dictWord{7, 10, 1200},
- dictWord{138, 10, 460},
- dictWord{6, 10, 424},
- dictWord{
- 135,
- 10,
- 1866,
- },
- dictWord{6, 0, 1641},
- dictWord{136, 0, 820},
- dictWord{6, 0, 1556},
- dictWord{134, 0, 1618},
- dictWord{9, 11, 5},
- dictWord{12, 11, 216},
- dictWord{
- 12,
- 11,
- 294,
- },
- dictWord{12, 11, 298},
- dictWord{12, 11, 400},
- dictWord{12, 11, 518},
- dictWord{13, 11, 229},
- dictWord{143, 11, 139},
- dictWord{15, 11, 155},
- dictWord{144, 11, 79},
- dictWord{4, 0, 302},
- dictWord{135, 0, 1766},
- dictWord{5, 10, 13},
- dictWord{134, 10, 142},
- dictWord{6, 0, 148},
- dictWord{7, 0, 1313},
- dictWord{
- 7,
- 10,
- 116,
- },
- dictWord{8, 10, 322},
- dictWord{8, 10, 755},
- dictWord{9, 10, 548},
- dictWord{10, 10, 714},
- dictWord{11, 10, 884},
- dictWord{141, 10, 324},
- dictWord{137, 0, 676},
- dictWord{9, 11, 88},
- dictWord{139, 11, 270},
- dictWord{5, 11, 12},
- dictWord{7, 11, 375},
- dictWord{137, 11, 438},
- dictWord{134, 0, 1674},
- dictWord{7, 10, 1472},
- dictWord{135, 10, 1554},
- dictWord{11, 0, 178},
- dictWord{7, 10, 1071},
- dictWord{7, 10, 1541},
- dictWord{7, 10, 1767},
- dictWord{
- 7,
- 10,
- 1806,
- },
- dictWord{11, 10, 162},
- dictWord{11, 10, 242},
- dictWord{12, 10, 605},
- dictWord{15, 10, 26},
- dictWord{144, 10, 44},
- dictWord{6, 0, 389},
- dictWord{
- 7,
- 0,
- 149,
- },
- dictWord{9, 0, 142},
- dictWord{138, 0, 94},
- dictWord{140, 11, 71},
- dictWord{145, 10, 115},
- dictWord{6, 0, 8},
- dictWord{7, 0, 1881},
- dictWord{8, 0, 91},
- dictWord{11, 11, 966},
- dictWord{12, 11, 287},
- dictWord{13, 11, 342},
- dictWord{13, 11, 402},
- dictWord{15, 11, 110},
- dictWord{143, 11, 163},
- dictWord{
- 4,
- 11,
- 258,
- },
- dictWord{136, 11, 639},
- dictWord{6, 11, 22},
- dictWord{7, 11, 903},
- dictWord{138, 11, 577},
- dictWord{133, 11, 681},
- dictWord{135, 10, 1111},
- dictWord{135, 11, 1286},
- dictWord{9, 0, 112},
- dictWord{8, 10, 1},
- dictWord{138, 10, 326},
- dictWord{5, 10, 488},
- dictWord{6, 10, 527},
- dictWord{7, 10, 489},
- dictWord{
- 7,
- 10,
- 1636,
- },
- dictWord{8, 10, 121},
- dictWord{8, 10, 144},
- dictWord{8, 10, 359},
- dictWord{9, 10, 193},
- dictWord{9, 10, 241},
- dictWord{9, 10, 336},
- dictWord{
- 9,
- 10,
- 882,
- },
- dictWord{11, 10, 266},
- dictWord{11, 10, 372},
- dictWord{11, 10, 944},
- dictWord{12, 10, 401},
- dictWord{140, 10, 641},
- dictWord{4, 11, 664},
- dictWord{133, 11, 804},
- dictWord{6, 0, 747},
- dictWord{134, 0, 1015},
- dictWord{135, 0, 1746},
- dictWord{9, 10, 31},
- dictWord{10, 10, 244},
- dictWord{
- 10,
- 10,
- 699,
- },
- dictWord{12, 10, 149},
- dictWord{141, 10, 497},
- dictWord{133, 10, 377},
- dictWord{135, 0, 24},
- dictWord{6, 0, 1352},
- dictWord{5, 11, 32},
- dictWord{
- 145,
- 10,
- 101,
- },
- dictWord{7, 0, 1530},
- dictWord{10, 0, 158},
- dictWord{13, 0, 13},
- dictWord{13, 0, 137},
- dictWord{13, 0, 258},
- dictWord{14, 0, 111},
- dictWord{
- 14,
- 0,
- 225,
- },
- dictWord{14, 0, 253},
- dictWord{14, 0, 304},
- dictWord{14, 0, 339},
- dictWord{14, 0, 417},
- dictWord{146, 0, 33},
- dictWord{4, 0, 503},
- dictWord{
- 135,
- 0,
- 1661,
- },
- dictWord{5, 0, 130},
- dictWord{6, 0, 845},
- dictWord{7, 0, 1314},
- dictWord{9, 0, 610},
- dictWord{10, 0, 718},
- dictWord{11, 0, 601},
- dictWord{11, 0, 819},
- dictWord{11, 0, 946},
- dictWord{140, 0, 536},
- dictWord{10, 0, 149},
- dictWord{11, 0, 280},
- dictWord{142, 0, 336},
- dictWord{134, 0, 1401},
- dictWord{
- 135,
- 0,
- 1946,
- },
- dictWord{8, 0, 663},
- dictWord{144, 0, 8},
- dictWord{134, 0, 1607},
- dictWord{135, 10, 2023},
- dictWord{4, 11, 289},
- dictWord{7, 11, 629},
- dictWord{
- 7,
- 11,
- 1698,
- },
- dictWord{7, 11, 1711},
- dictWord{140, 11, 215},
- dictWord{6, 11, 450},
- dictWord{136, 11, 109},
- dictWord{10, 0, 882},
- dictWord{10, 0, 883},
- dictWord{10, 0, 914},
- dictWord{138, 0, 928},
- dictWord{133, 10, 843},
- dictWord{136, 11, 705},
- dictWord{132, 10, 554},
- dictWord{133, 10, 536},
- dictWord{
- 5,
- 0,
- 417,
- },
- dictWord{9, 10, 79},
- dictWord{11, 10, 625},
- dictWord{145, 10, 7},
- dictWord{7, 11, 1238},
- dictWord{142, 11, 37},
- dictWord{4, 0, 392},
- dictWord{
- 135,
- 0,
- 1597,
- },
- dictWord{5, 0, 433},
- dictWord{9, 0, 633},
- dictWord{11, 0, 629},
- dictWord{132, 10, 424},
- dictWord{7, 10, 336},
- dictWord{136, 10, 785},
- dictWord{
- 134,
- 11,
- 355,
- },
- dictWord{6, 0, 234},
- dictWord{7, 0, 769},
- dictWord{9, 0, 18},
- dictWord{138, 0, 358},
- dictWord{4, 10, 896},
- dictWord{134, 10, 1777},
- dictWord{
- 138,
- 11,
- 323,
- },
- dictWord{7, 0, 140},
- dictWord{7, 0, 1950},
- dictWord{8, 0, 680},
- dictWord{11, 0, 817},
- dictWord{147, 0, 88},
- dictWord{7, 0, 1222},
- dictWord{
- 138,
- 0,
- 386,
- },
- dictWord{139, 11, 908},
- dictWord{11, 0, 249},
- dictWord{12, 0, 313},
- dictWord{16, 0, 66},
- dictWord{145, 0, 26},
- dictWord{134, 0, 5},
- dictWord{7, 10, 750},
- dictWord{9, 10, 223},
- dictWord{11, 10, 27},
- dictWord{11, 10, 466},
- dictWord{12, 10, 624},
- dictWord{14, 10, 265},
- dictWord{146, 10, 61},
- dictWord{
- 134,
- 11,
- 26,
- },
- dictWord{134, 0, 1216},
- dictWord{5, 0, 963},
- dictWord{134, 0, 1773},
- dictWord{4, 11, 414},
- dictWord{5, 11, 467},
- dictWord{9, 11, 654},
- dictWord{
- 10,
- 11,
- 451,
- },
- dictWord{12, 11, 59},
- dictWord{141, 11, 375},
- dictWord{135, 11, 17},
- dictWord{4, 10, 603},
- dictWord{133, 10, 661},
- dictWord{4, 10, 11},
- dictWord{
- 6,
- 10,
- 128,
- },
- dictWord{7, 10, 231},
- dictWord{7, 10, 1533},
- dictWord{138, 10, 725},
- dictWord{135, 11, 955},
- dictWord{7, 0, 180},
- dictWord{8, 0, 509},
- dictWord{
- 136,
- 0,
- 792,
- },
- dictWord{132, 10, 476},
- dictWord{132, 0, 1002},
- dictWord{133, 11, 538},
- dictWord{135, 10, 1807},
- dictWord{132, 0, 931},
- dictWord{7, 0, 943},
- dictWord{11, 0, 614},
- dictWord{140, 0, 747},
- dictWord{135, 0, 1837},
- dictWord{9, 10, 20},
- dictWord{10, 10, 324},
- dictWord{10, 10, 807},
- dictWord{
- 139,
- 10,
- 488,
- },
- dictWord{134, 0, 641},
- dictWord{6, 11, 280},
- dictWord{10, 11, 502},
- dictWord{11, 11, 344},
- dictWord{140, 11, 38},
- dictWord{5, 11, 45},
- dictWord{
- 7,
- 11,
- 1161,
- },
- dictWord{11, 11, 448},
- dictWord{11, 11, 880},
- dictWord{13, 11, 139},
- dictWord{13, 11, 407},
- dictWord{15, 11, 16},
- dictWord{17, 11, 95},
- dictWord{
- 18,
- 11,
- 66,
- },
- dictWord{18, 11, 88},
- dictWord{18, 11, 123},
- dictWord{149, 11, 7},
- dictWord{9, 0, 280},
- dictWord{138, 0, 134},
- dictWord{22, 0, 22},
- dictWord{23, 0, 5},
- dictWord{151, 0, 29},
- dictWord{136, 11, 777},
- dictWord{4, 0, 90},
- dictWord{5, 0, 545},
- dictWord{7, 0, 754},
- dictWord{9, 0, 186},
- dictWord{10, 0, 72},
- dictWord{
- 10,
- 0,
- 782,
- },
- dictWord{11, 0, 577},
- dictWord{11, 0, 610},
- dictWord{11, 0, 960},
- dictWord{12, 0, 354},
- dictWord{12, 0, 362},
- dictWord{12, 0, 595},
- dictWord{
- 4,
- 11,
- 410,
- },
- dictWord{135, 11, 521},
- dictWord{135, 11, 1778},
- dictWord{5, 10, 112},
- dictWord{6, 10, 103},
- dictWord{134, 10, 150},
- dictWord{138, 10, 356},
- dictWord{132, 0, 742},
- dictWord{7, 0, 151},
- dictWord{9, 0, 329},
- dictWord{139, 0, 254},
- dictWord{8, 0, 853},
- dictWord{8, 0, 881},
- dictWord{8, 0, 911},
- dictWord{
- 8,
- 0,
- 912,
- },
- dictWord{10, 0, 872},
- dictWord{12, 0, 741},
- dictWord{12, 0, 742},
- dictWord{152, 0, 18},
- dictWord{4, 11, 573},
- dictWord{136, 11, 655},
- dictWord{
- 6,
- 0,
- 921,
- },
- dictWord{134, 0, 934},
- dictWord{9, 0, 187},
- dictWord{10, 0, 36},
- dictWord{11, 0, 1016},
- dictWord{17, 0, 44},
- dictWord{146, 0, 64},
- dictWord{7, 0, 833},
- dictWord{136, 0, 517},
- dictWord{4, 0, 506},
- dictWord{5, 0, 295},
- dictWord{135, 0, 1680},
- dictWord{4, 10, 708},
- dictWord{8, 10, 15},
- dictWord{9, 10, 50},
- dictWord{
- 9,
- 10,
- 386,
- },
- dictWord{11, 10, 18},
- dictWord{11, 10, 529},
- dictWord{140, 10, 228},
- dictWord{7, 0, 251},
- dictWord{7, 0, 1701},
- dictWord{8, 0, 436},
- dictWord{
- 4,
- 10,
- 563,
- },
- dictWord{7, 10, 592},
- dictWord{7, 10, 637},
- dictWord{7, 10, 770},
- dictWord{8, 10, 463},
- dictWord{9, 10, 60},
- dictWord{9, 10, 335},
- dictWord{9, 10, 904},
- dictWord{10, 10, 73},
- dictWord{11, 10, 434},
- dictWord{12, 10, 585},
- dictWord{13, 10, 331},
- dictWord{18, 10, 110},
- dictWord{148, 10, 60},
- dictWord{
- 132,
- 10,
- 502,
- },
- dictWord{136, 0, 584},
- dictWord{6, 10, 347},
- dictWord{138, 10, 161},
- dictWord{7, 0, 987},
- dictWord{9, 0, 688},
- dictWord{10, 0, 522},
- dictWord{
- 11,
- 0,
- 788,
- },
- dictWord{12, 0, 137},
- dictWord{12, 0, 566},
- dictWord{14, 0, 9},
- dictWord{14, 0, 24},
- dictWord{14, 0, 64},
- dictWord{7, 11, 899},
- dictWord{142, 11, 325},
- dictWord{4, 0, 214},
- dictWord{5, 0, 500},
- dictWord{5, 10, 102},
- dictWord{6, 10, 284},
- dictWord{7, 10, 1079},
- dictWord{7, 10, 1423},
- dictWord{7, 10, 1702},
- dictWord{
- 8,
- 10,
- 470,
- },
- dictWord{9, 10, 554},
- dictWord{9, 10, 723},
- dictWord{139, 10, 333},
- dictWord{7, 10, 246},
- dictWord{135, 10, 840},
- dictWord{6, 10, 10},
- dictWord{
- 8,
- 10,
- 571,
- },
- dictWord{9, 10, 739},
- dictWord{143, 10, 91},
- dictWord{133, 10, 626},
- dictWord{146, 0, 195},
- dictWord{134, 0, 1775},
- dictWord{7, 0, 389},
- dictWord{7, 0, 700},
- dictWord{7, 0, 940},
- dictWord{8, 0, 514},
- dictWord{9, 0, 116},
- dictWord{9, 0, 535},
- dictWord{10, 0, 118},
- dictWord{11, 0, 107},
- dictWord{
- 11,
- 0,
- 148,
- },
- dictWord{11, 0, 922},
- dictWord{12, 0, 254},
- dictWord{12, 0, 421},
- dictWord{142, 0, 238},
- dictWord{5, 10, 18},
- dictWord{6, 10, 526},
- dictWord{13, 10, 24},
- dictWord{13, 10, 110},
- dictWord{19, 10, 5},
- dictWord{147, 10, 44},
- dictWord{132, 0, 743},
- dictWord{11, 0, 292},
- dictWord{4, 10, 309},
- dictWord{5, 10, 462},
- dictWord{7, 10, 970},
- dictWord{135, 10, 1097},
- dictWord{22, 10, 30},
- dictWord{150, 10, 33},
- dictWord{139, 11, 338},
- dictWord{135, 11, 1598},
- dictWord{
- 7,
- 0,
- 1283,
- },
- dictWord{9, 0, 227},
- dictWord{11, 0, 325},
- dictWord{11, 0, 408},
- dictWord{14, 0, 180},
- dictWord{146, 0, 47},
- dictWord{4, 0, 953},
- dictWord{6, 0, 1805},
- dictWord{6, 0, 1814},
- dictWord{6, 0, 1862},
- dictWord{140, 0, 774},
- dictWord{6, 11, 611},
- dictWord{135, 11, 1733},
- dictWord{135, 11, 1464},
- dictWord{
- 5,
- 0,
- 81,
- },
- dictWord{7, 0, 146},
- dictWord{7, 0, 1342},
- dictWord{8, 0, 53},
- dictWord{8, 0, 561},
- dictWord{8, 0, 694},
- dictWord{8, 0, 754},
- dictWord{9, 0, 115},
- dictWord{
- 9,
- 0,
- 179,
- },
- dictWord{9, 0, 894},
- dictWord{10, 0, 462},
- dictWord{10, 0, 813},
- dictWord{11, 0, 230},
- dictWord{11, 0, 657},
- dictWord{11, 0, 699},
- dictWord{11, 0, 748},
- dictWord{12, 0, 119},
- dictWord{12, 0, 200},
- dictWord{12, 0, 283},
- dictWord{142, 0, 273},
- dictWord{5, 0, 408},
- dictWord{6, 0, 789},
- dictWord{6, 0, 877},
- dictWord{
- 6,
- 0,
- 1253,
- },
- dictWord{6, 0, 1413},
- dictWord{137, 0, 747},
- dictWord{134, 10, 1704},
- dictWord{135, 11, 663},
- dictWord{6, 0, 1910},
- dictWord{6, 0, 1915},
- dictWord{6, 0, 1923},
- dictWord{9, 0, 913},
- dictWord{9, 0, 928},
- dictWord{9, 0, 950},
- dictWord{9, 0, 954},
- dictWord{9, 0, 978},
- dictWord{9, 0, 993},
- dictWord{12, 0, 812},
- dictWord{12, 0, 819},
- dictWord{12, 0, 831},
- dictWord{12, 0, 833},
- dictWord{12, 0, 838},
- dictWord{12, 0, 909},
- dictWord{12, 0, 928},
- dictWord{12, 0, 931},
- dictWord{12, 0, 950},
- dictWord{15, 0, 186},
- dictWord{15, 0, 187},
- dictWord{15, 0, 195},
- dictWord{15, 0, 196},
- dictWord{15, 0, 209},
- dictWord{15, 0, 215},
- dictWord{
- 15,
- 0,
- 236,
- },
- dictWord{15, 0, 241},
- dictWord{15, 0, 249},
- dictWord{15, 0, 253},
- dictWord{18, 0, 180},
- dictWord{18, 0, 221},
- dictWord{18, 0, 224},
- dictWord{
- 18,
- 0,
- 227,
- },
- dictWord{18, 0, 229},
- dictWord{149, 0, 60},
- dictWord{7, 0, 1826},
- dictWord{135, 0, 1938},
- dictWord{11, 0, 490},
- dictWord{18, 0, 143},
- dictWord{
- 5,
- 10,
- 86,
- },
- dictWord{7, 10, 743},
- dictWord{9, 10, 85},
- dictWord{10, 10, 281},
- dictWord{10, 10, 432},
- dictWord{12, 10, 251},
- dictWord{13, 10, 118},
- dictWord{
- 142,
- 10,
- 378,
- },
- dictWord{5, 10, 524},
- dictWord{133, 10, 744},
- dictWord{141, 11, 442},
- dictWord{10, 10, 107},
- dictWord{140, 10, 436},
- dictWord{135, 11, 503},
- dictWord{134, 0, 1162},
- dictWord{132, 10, 927},
- dictWord{7, 0, 30},
- dictWord{8, 0, 86},
- dictWord{8, 0, 315},
- dictWord{8, 0, 700},
- dictWord{9, 0, 576},
- dictWord{
- 9,
- 0,
- 858,
- },
- dictWord{10, 0, 414},
- dictWord{11, 0, 310},
- dictWord{11, 0, 888},
- dictWord{11, 0, 904},
- dictWord{12, 0, 361},
- dictWord{13, 0, 248},
- dictWord{13, 0, 371},
- dictWord{14, 0, 142},
- dictWord{12, 10, 670},
- dictWord{146, 10, 94},
- dictWord{134, 0, 721},
- dictWord{4, 11, 113},
- dictWord{5, 11, 163},
- dictWord{5, 11, 735},
- dictWord{7, 11, 1009},
- dictWord{7, 10, 1149},
- dictWord{9, 11, 9},
- dictWord{9, 10, 156},
- dictWord{9, 11, 771},
- dictWord{12, 11, 90},
- dictWord{13, 11, 138},
- dictWord{13, 11, 410},
- dictWord{143, 11, 128},
- dictWord{138, 0, 839},
- dictWord{133, 10, 778},
- dictWord{137, 0, 617},
- dictWord{133, 10, 502},
- dictWord{
- 8,
- 10,
- 196,
- },
- dictWord{10, 10, 283},
- dictWord{139, 10, 406},
- dictWord{6, 0, 428},
- dictWord{7, 0, 524},
- dictWord{8, 0, 169},
- dictWord{8, 0, 234},
- dictWord{9, 0, 480},
- dictWord{138, 0, 646},
- dictWord{133, 10, 855},
- dictWord{134, 0, 1648},
- dictWord{7, 0, 1205},
- dictWord{138, 0, 637},
- dictWord{7, 0, 1596},
- dictWord{
- 4,
- 11,
- 935,
- },
- dictWord{133, 11, 823},
- dictWord{5, 11, 269},
- dictWord{7, 11, 434},
- dictWord{7, 11, 891},
- dictWord{8, 11, 339},
- dictWord{9, 11, 702},
- dictWord{
- 11,
- 11,
- 594,
- },
- dictWord{11, 11, 718},
- dictWord{145, 11, 100},
- dictWord{7, 11, 878},
- dictWord{9, 11, 485},
- dictWord{141, 11, 264},
- dictWord{4, 0, 266},
- dictWord{
- 8,
- 0,
- 4,
- },
- dictWord{9, 0, 39},
- dictWord{10, 0, 166},
- dictWord{11, 0, 918},
- dictWord{12, 0, 635},
- dictWord{20, 0, 10},
- dictWord{22, 0, 27},
- dictWord{22, 0, 43},
- dictWord{
- 22,
- 0,
- 52,
- },
- dictWord{134, 11, 1713},
- dictWord{7, 10, 1400},
- dictWord{9, 10, 446},
- dictWord{138, 10, 45},
- dictWord{135, 11, 900},
- dictWord{132, 0, 862},
- dictWord{134, 0, 1554},
- dictWord{135, 11, 1033},
- dictWord{19, 0, 16},
- dictWord{147, 11, 16},
- dictWord{135, 11, 1208},
- dictWord{7, 0, 157},
- dictWord{
- 136,
- 0,
- 279,
- },
- dictWord{6, 0, 604},
- dictWord{136, 0, 391},
- dictWord{13, 10, 455},
- dictWord{15, 10, 99},
- dictWord{15, 10, 129},
- dictWord{144, 10, 68},
- dictWord{
- 135,
- 10,
- 172,
- },
- dictWord{7, 0, 945},
- dictWord{11, 0, 713},
- dictWord{139, 0, 744},
- dictWord{4, 0, 973},
- dictWord{10, 0, 877},
- dictWord{10, 0, 937},
- dictWord{
- 10,
- 0,
- 938,
- },
- dictWord{140, 0, 711},
- dictWord{139, 0, 1022},
- dictWord{132, 10, 568},
- dictWord{142, 11, 143},
- dictWord{4, 0, 567},
- dictWord{9, 0, 859},
- dictWord{
- 132,
- 10,
- 732,
- },
- dictWord{7, 0, 1846},
- dictWord{136, 0, 628},
- dictWord{136, 10, 733},
- dictWord{133, 0, 762},
- dictWord{4, 10, 428},
- dictWord{135, 10, 1789},
- dictWord{10, 0, 784},
- dictWord{13, 0, 191},
- dictWord{7, 10, 2015},
- dictWord{140, 10, 665},
- dictWord{133, 0, 298},
- dictWord{7, 0, 633},
- dictWord{7, 0, 905},
- dictWord{7, 0, 909},
- dictWord{7, 0, 1538},
- dictWord{9, 0, 767},
- dictWord{140, 0, 636},
- dictWord{138, 10, 806},
- dictWord{132, 0, 795},
- dictWord{139, 0, 301},
- dictWord{135, 0, 1970},
- dictWord{5, 11, 625},
- dictWord{135, 11, 1617},
- dictWord{135, 11, 275},
- dictWord{7, 11, 37},
- dictWord{8, 11, 425},
- dictWord{
- 8,
- 11,
- 693,
- },
- dictWord{9, 11, 720},
- dictWord{10, 11, 380},
- dictWord{10, 11, 638},
- dictWord{11, 11, 273},
- dictWord{11, 11, 307},
- dictWord{11, 11, 473},
- dictWord{
- 12,
- 11,
- 61,
- },
- dictWord{143, 11, 43},
- dictWord{135, 11, 198},
- dictWord{134, 0, 1236},
- dictWord{7, 0, 369},
- dictWord{12, 0, 644},
- dictWord{12, 0, 645},
- dictWord{144, 0, 90},
- dictWord{19, 0, 15},
- dictWord{149, 0, 27},
- dictWord{6, 0, 71},
- dictWord{7, 0, 845},
- dictWord{8, 0, 160},
- dictWord{9, 0, 318},
- dictWord{6, 10, 1623},
- dictWord{134, 10, 1681},
- dictWord{134, 0, 1447},
- dictWord{134, 0, 1255},
- dictWord{138, 0, 735},
- dictWord{8, 0, 76},
- dictWord{132, 11, 168},
- dictWord{
- 6,
- 10,
- 1748,
- },
- dictWord{8, 10, 715},
- dictWord{9, 10, 802},
- dictWord{10, 10, 46},
- dictWord{10, 10, 819},
- dictWord{13, 10, 308},
- dictWord{14, 10, 351},
- dictWord{14, 10, 363},
- dictWord{146, 10, 67},
- dictWord{135, 11, 91},
- dictWord{6, 0, 474},
- dictWord{4, 10, 63},
- dictWord{133, 10, 347},
- dictWord{133, 10, 749},
- dictWord{138, 0, 841},
- dictWord{133, 10, 366},
- dictWord{6, 0, 836},
- dictWord{132, 11, 225},
- dictWord{135, 0, 1622},
- dictWord{135, 10, 89},
- dictWord{
- 140,
- 0,
- 735,
- },
- dictWord{134, 0, 1601},
- dictWord{138, 11, 145},
- dictWord{6, 0, 1390},
- dictWord{137, 0, 804},
- dictWord{142, 0, 394},
- dictWord{6, 11, 15},
- dictWord{
- 7,
- 11,
- 70,
- },
- dictWord{10, 11, 240},
- dictWord{147, 11, 93},
- dictWord{6, 0, 96},
- dictWord{135, 0, 1426},
- dictWord{4, 0, 651},
- dictWord{133, 0, 289},
- dictWord{
- 7,
- 11,
- 956,
- },
- dictWord{7, 10, 977},
- dictWord{7, 11, 1157},
- dictWord{7, 11, 1506},
- dictWord{7, 11, 1606},
- dictWord{7, 11, 1615},
- dictWord{7, 11, 1619},
- dictWord{
- 7,
- 11,
- 1736,
- },
- dictWord{7, 11, 1775},
- dictWord{8, 11, 590},
- dictWord{9, 11, 324},
- dictWord{9, 11, 736},
- dictWord{9, 11, 774},
- dictWord{9, 11, 776},
- dictWord{
- 9,
- 11,
- 784,
- },
- dictWord{10, 11, 567},
- dictWord{10, 11, 708},
- dictWord{11, 11, 518},
- dictWord{11, 11, 613},
- dictWord{11, 11, 695},
- dictWord{11, 11, 716},
- dictWord{11, 11, 739},
- dictWord{11, 11, 770},
- dictWord{11, 11, 771},
- dictWord{11, 11, 848},
- dictWord{11, 11, 857},
- dictWord{11, 11, 931},
- dictWord{
- 11,
- 11,
- 947,
- },
- dictWord{12, 11, 326},
- dictWord{12, 11, 387},
- dictWord{12, 11, 484},
- dictWord{12, 11, 528},
- dictWord{12, 11, 552},
- dictWord{12, 11, 613},
- dictWord{
- 13,
- 11,
- 189,
- },
- dictWord{13, 11, 256},
- dictWord{13, 11, 340},
- dictWord{13, 11, 432},
- dictWord{13, 11, 436},
- dictWord{13, 11, 440},
- dictWord{13, 11, 454},
- dictWord{14, 11, 174},
- dictWord{14, 11, 220},
- dictWord{14, 11, 284},
- dictWord{14, 11, 390},
- dictWord{145, 11, 121},
- dictWord{7, 0, 688},
- dictWord{8, 0, 35},
- dictWord{9, 0, 511},
- dictWord{10, 0, 767},
- dictWord{147, 0, 118},
- dictWord{134, 0, 667},
- dictWord{4, 0, 513},
- dictWord{5, 10, 824},
- dictWord{133, 10, 941},
- dictWord{7, 10, 440},
- dictWord{8, 10, 230},
- dictWord{139, 10, 106},
- dictWord{134, 0, 2034},
- dictWord{135, 11, 1399},
- dictWord{143, 11, 66},
- dictWord{
- 135,
- 11,
- 1529,
- },
- dictWord{4, 11, 145},
- dictWord{6, 11, 176},
- dictWord{7, 11, 395},
- dictWord{9, 11, 562},
- dictWord{144, 11, 28},
- dictWord{132, 11, 501},
- dictWord{132, 0, 704},
- dictWord{134, 0, 1524},
- dictWord{7, 0, 1078},
- dictWord{134, 11, 464},
- dictWord{6, 11, 509},
- dictWord{10, 11, 82},
- dictWord{20, 11, 91},
- dictWord{151, 11, 13},
- dictWord{4, 0, 720},
- dictWord{133, 0, 306},
- dictWord{133, 0, 431},
- dictWord{7, 0, 1196},
- dictWord{4, 10, 914},
- dictWord{5, 10, 800},
- dictWord{133, 10, 852},
- dictWord{135, 11, 1189},
- dictWord{10, 0, 54},
- dictWord{141, 10, 115},
- dictWord{7, 10, 564},
- dictWord{142, 10, 168},
- dictWord{
- 5,
- 0,
- 464,
- },
- dictWord{6, 0, 236},
- dictWord{7, 0, 696},
- dictWord{7, 0, 914},
- dictWord{7, 0, 1108},
- dictWord{7, 0, 1448},
- dictWord{9, 0, 15},
- dictWord{9, 0, 564},
- dictWord{
- 10,
- 0,
- 14,
- },
- dictWord{12, 0, 565},
- dictWord{13, 0, 449},
- dictWord{14, 0, 53},
- dictWord{15, 0, 13},
- dictWord{16, 0, 64},
- dictWord{17, 0, 41},
- dictWord{4, 10, 918},
- dictWord{133, 10, 876},
- dictWord{6, 0, 1418},
- dictWord{134, 10, 1764},
- dictWord{4, 10, 92},
- dictWord{133, 10, 274},
- dictWord{134, 0, 907},
- dictWord{
- 4,
- 11,
- 114,
- },
- dictWord{8, 10, 501},
- dictWord{9, 11, 492},
- dictWord{13, 11, 462},
- dictWord{142, 11, 215},
- dictWord{4, 11, 77},
- dictWord{5, 11, 361},
- dictWord{
- 6,
- 11,
- 139,
- },
- dictWord{6, 11, 401},
- dictWord{6, 11, 404},
- dictWord{7, 11, 413},
- dictWord{7, 11, 715},
- dictWord{7, 11, 1716},
- dictWord{11, 11, 279},
- dictWord{
- 12,
- 11,
- 179,
- },
- dictWord{12, 11, 258},
- dictWord{13, 11, 244},
- dictWord{142, 11, 358},
- dictWord{6, 0, 1767},
- dictWord{12, 0, 194},
- dictWord{145, 0, 107},
- dictWord{
- 134,
- 11,
- 1717,
- },
- dictWord{5, 10, 743},
- dictWord{142, 11, 329},
- dictWord{4, 10, 49},
- dictWord{7, 10, 280},
- dictWord{135, 10, 1633},
- dictWord{5, 0, 840},
- dictWord{7, 11, 1061},
- dictWord{8, 11, 82},
- dictWord{11, 11, 250},
- dictWord{12, 11, 420},
- dictWord{141, 11, 184},
- dictWord{135, 11, 724},
- dictWord{
- 134,
- 0,
- 900,
- },
- dictWord{136, 10, 47},
- dictWord{134, 0, 1436},
- dictWord{144, 11, 0},
- dictWord{6, 0, 675},
- dictWord{7, 0, 1008},
- dictWord{7, 0, 1560},
- dictWord{
- 9,
- 0,
- 642,
- },
- dictWord{11, 0, 236},
- dictWord{14, 0, 193},
- dictWord{5, 10, 272},
- dictWord{5, 10, 908},
- dictWord{5, 10, 942},
- dictWord{8, 10, 197},
- dictWord{9, 10, 47},
- dictWord{11, 10, 538},
- dictWord{139, 10, 742},
- dictWord{4, 0, 68},
- dictWord{5, 0, 628},
- dictWord{5, 0, 634},
- dictWord{6, 0, 386},
- dictWord{7, 0, 794},
- dictWord{
- 8,
- 0,
- 273,
- },
- dictWord{9, 0, 563},
- dictWord{10, 0, 105},
- dictWord{10, 0, 171},
- dictWord{11, 0, 94},
- dictWord{139, 0, 354},
- dictWord{135, 10, 1911},
- dictWord{
- 137,
- 10,
- 891,
- },
- dictWord{4, 0, 95},
- dictWord{6, 0, 1297},
- dictWord{6, 0, 1604},
- dictWord{7, 0, 416},
- dictWord{139, 0, 830},
- dictWord{6, 11, 513},
- dictWord{
- 135,
- 11,
- 1052,
- },
- dictWord{7, 0, 731},
- dictWord{13, 0, 20},
- dictWord{143, 0, 11},
- dictWord{137, 11, 899},
- dictWord{10, 0, 850},
- dictWord{140, 0, 697},
- dictWord{
- 4,
- 0,
- 662,
- },
- dictWord{7, 11, 1417},
- dictWord{12, 11, 382},
- dictWord{17, 11, 48},
- dictWord{152, 11, 12},
- dictWord{133, 0, 736},
- dictWord{132, 0, 861},
- dictWord{
- 4,
- 10,
- 407,
- },
- dictWord{132, 10, 560},
- dictWord{141, 10, 490},
- dictWord{6, 11, 545},
- dictWord{7, 11, 565},
- dictWord{7, 11, 1669},
- dictWord{10, 11, 114},
- dictWord{11, 11, 642},
- dictWord{140, 11, 618},
- dictWord{6, 0, 871},
- dictWord{134, 0, 1000},
- dictWord{5, 0, 864},
- dictWord{10, 0, 648},
- dictWord{11, 0, 671},
- dictWord{15, 0, 46},
- dictWord{133, 11, 5},
- dictWord{133, 0, 928},
- dictWord{11, 0, 90},
- dictWord{13, 0, 7},
- dictWord{4, 10, 475},
- dictWord{11, 10, 35},
- dictWord{
- 13,
- 10,
- 71,
- },
- dictWord{13, 10, 177},
- dictWord{142, 10, 422},
- dictWord{136, 0, 332},
- dictWord{135, 11, 192},
- dictWord{134, 0, 1055},
- dictWord{136, 11, 763},
- dictWord{11, 0, 986},
- dictWord{140, 0, 682},
- dictWord{7, 0, 76},
- dictWord{8, 0, 44},
- dictWord{9, 0, 884},
- dictWord{10, 0, 580},
- dictWord{11, 0, 399},
- dictWord{
- 11,
- 0,
- 894,
- },
- dictWord{143, 0, 122},
- dictWord{135, 11, 1237},
- dictWord{135, 10, 636},
- dictWord{11, 0, 300},
- dictWord{6, 10, 222},
- dictWord{7, 10, 1620},
- dictWord{
- 8,
- 10,
- 409,
- },
- dictWord{137, 10, 693},
- dictWord{4, 11, 87},
- dictWord{5, 11, 250},
- dictWord{10, 11, 601},
- dictWord{13, 11, 298},
- dictWord{13, 11, 353},
- dictWord{141, 11, 376},
- dictWord{5, 0, 518},
- dictWord{10, 0, 340},
- dictWord{11, 0, 175},
- dictWord{149, 0, 16},
- dictWord{140, 0, 771},
- dictWord{6, 0, 1108},
- dictWord{137, 0, 831},
- dictWord{132, 0, 836},
- dictWord{135, 0, 1852},
- dictWord{4, 0, 957},
- dictWord{6, 0, 1804},
- dictWord{8, 0, 842},
- dictWord{8, 0, 843},
- dictWord{
- 8,
- 0,
- 851,
- },
- dictWord{8, 0, 855},
- dictWord{140, 0, 767},
- dictWord{135, 11, 814},
- dictWord{4, 11, 57},
- dictWord{7, 11, 1195},
- dictWord{7, 11, 1438},
- dictWord{
- 7,
- 11,
- 1548,
- },
- dictWord{7, 11, 1835},
- dictWord{7, 11, 1904},
- dictWord{9, 11, 757},
- dictWord{10, 11, 604},
- dictWord{139, 11, 519},
- dictWord{133, 10, 882},
- dictWord{138, 0, 246},
- dictWord{4, 0, 934},
- dictWord{5, 0, 202},
- dictWord{8, 0, 610},
- dictWord{7, 11, 1897},
- dictWord{12, 11, 290},
- dictWord{13, 11, 80},
- dictWord{13, 11, 437},
- dictWord{145, 11, 74},
- dictWord{8, 0, 96},
- dictWord{9, 0, 36},
- dictWord{10, 0, 607},
- dictWord{10, 0, 804},
- dictWord{10, 0, 832},
- dictWord{
- 11,
- 0,
- 423,
- },
- dictWord{11, 0, 442},
- dictWord{12, 0, 309},
- dictWord{14, 0, 199},
- dictWord{15, 0, 90},
- dictWord{145, 0, 110},
- dictWord{132, 10, 426},
- dictWord{
- 7,
- 0,
- 654,
- },
- dictWord{8, 0, 240},
- dictWord{6, 10, 58},
- dictWord{7, 10, 745},
- dictWord{7, 10, 1969},
- dictWord{8, 10, 675},
- dictWord{9, 10, 479},
- dictWord{9, 10, 731},
- dictWord{10, 10, 330},
- dictWord{10, 10, 593},
- dictWord{10, 10, 817},
- dictWord{11, 10, 32},
- dictWord{11, 10, 133},
- dictWord{11, 10, 221},
- dictWord{
- 145,
- 10,
- 68,
- },
- dictWord{9, 0, 13},
- dictWord{9, 0, 398},
- dictWord{9, 0, 727},
- dictWord{10, 0, 75},
- dictWord{10, 0, 184},
- dictWord{10, 0, 230},
- dictWord{10, 0, 564},
- dictWord{
- 10,
- 0,
- 569,
- },
- dictWord{11, 0, 973},
- dictWord{12, 0, 70},
- dictWord{12, 0, 189},
- dictWord{13, 0, 57},
- dictWord{141, 0, 257},
- dictWord{4, 11, 209},
- dictWord{
- 135,
- 11,
- 902,
- },
- dictWord{7, 0, 391},
- dictWord{137, 10, 538},
- dictWord{134, 0, 403},
- dictWord{6, 11, 303},
- dictWord{7, 11, 335},
- dictWord{7, 11, 1437},
- dictWord{
- 7,
- 11,
- 1668,
- },
- dictWord{8, 11, 553},
- dictWord{8, 11, 652},
- dictWord{8, 11, 656},
- dictWord{9, 11, 558},
- dictWord{11, 11, 743},
- dictWord{149, 11, 18},
- dictWord{
- 132,
- 11,
- 559,
- },
- dictWord{11, 0, 75},
- dictWord{142, 0, 267},
- dictWord{6, 0, 815},
- dictWord{141, 11, 2},
- dictWord{141, 0, 366},
- dictWord{137, 0, 631},
- dictWord{
- 133,
- 11,
- 1017,
- },
- dictWord{5, 0, 345},
- dictWord{135, 0, 1016},
- dictWord{133, 11, 709},
- dictWord{134, 11, 1745},
- dictWord{133, 10, 566},
- dictWord{7, 0, 952},
- dictWord{6, 10, 48},
- dictWord{9, 10, 139},
- dictWord{10, 10, 399},
- dictWord{11, 10, 469},
- dictWord{12, 10, 634},
- dictWord{141, 10, 223},
- dictWord{
- 133,
- 0,
- 673,
- },
- dictWord{9, 0, 850},
- dictWord{7, 11, 8},
- dictWord{136, 11, 206},
- dictWord{6, 0, 662},
- dictWord{149, 0, 35},
- dictWord{4, 0, 287},
- dictWord{133, 0, 1018},
- dictWord{6, 10, 114},
- dictWord{7, 10, 1224},
- dictWord{7, 10, 1556},
- dictWord{136, 10, 3},
- dictWord{8, 10, 576},
- dictWord{137, 10, 267},
- dictWord{4, 0, 884},
- dictWord{5, 0, 34},
- dictWord{10, 0, 724},
- dictWord{12, 0, 444},
- dictWord{13, 0, 354},
- dictWord{18, 0, 32},
- dictWord{23, 0, 24},
- dictWord{23, 0, 31},
- dictWord{
- 152,
- 0,
- 5,
- },
- dictWord{133, 10, 933},
- dictWord{132, 11, 776},
- dictWord{138, 0, 151},
- dictWord{136, 0, 427},
- dictWord{134, 0, 382},
- dictWord{132, 0, 329},
- dictWord{
- 9,
- 0,
- 846,
- },
- dictWord{10, 0, 827},
- dictWord{138, 11, 33},
- dictWord{9, 0, 279},
- dictWord{10, 0, 407},
- dictWord{14, 0, 84},
- dictWord{22, 0, 18},
- dictWord{
- 135,
- 11,
- 1297,
- },
- dictWord{136, 11, 406},
- dictWord{132, 0, 906},
- dictWord{136, 0, 366},
- dictWord{134, 0, 843},
- dictWord{134, 0, 1443},
- dictWord{135, 0, 1372},
- dictWord{138, 0, 992},
- dictWord{4, 0, 123},
- dictWord{5, 0, 605},
- dictWord{7, 0, 1509},
- dictWord{136, 0, 36},
- dictWord{132, 0, 649},
- dictWord{8, 11, 175},
- dictWord{10, 11, 168},
- dictWord{138, 11, 573},
- dictWord{133, 0, 767},
- dictWord{134, 0, 1018},
- dictWord{135, 11, 1305},
- dictWord{12, 10, 30},
- dictWord{
- 13,
- 10,
- 148,
- },
- dictWord{14, 10, 87},
- dictWord{14, 10, 182},
- dictWord{16, 10, 42},
- dictWord{148, 10, 70},
- dictWord{134, 11, 607},
- dictWord{4, 0, 273},
- dictWord{
- 5,
- 0,
- 658,
- },
- dictWord{133, 0, 995},
- dictWord{6, 0, 72},
- dictWord{139, 11, 174},
- dictWord{10, 0, 483},
- dictWord{12, 0, 368},
- dictWord{7, 10, 56},
- dictWord{
- 7,
- 10,
- 1989,
- },
- dictWord{8, 10, 337},
- dictWord{8, 10, 738},
- dictWord{9, 10, 600},
- dictWord{13, 10, 447},
- dictWord{142, 10, 92},
- dictWord{5, 11, 784},
- dictWord{
- 138,
- 10,
- 666,
- },
- dictWord{135, 0, 1345},
- dictWord{139, 11, 882},
- dictWord{134, 0, 1293},
- dictWord{133, 0, 589},
- dictWord{134, 0, 1988},
- dictWord{5, 0, 117},
- dictWord{6, 0, 514},
- dictWord{6, 0, 541},
- dictWord{7, 0, 1164},
- dictWord{7, 0, 1436},
- dictWord{8, 0, 220},
- dictWord{8, 0, 648},
- dictWord{10, 0, 688},
- dictWord{
- 139,
- 0,
- 560,
- },
- dictWord{136, 0, 379},
- dictWord{5, 0, 686},
- dictWord{7, 10, 866},
- dictWord{135, 10, 1163},
- dictWord{132, 10, 328},
- dictWord{9, 11, 14},
- dictWord{
- 9,
- 11,
- 441,
- },
- dictWord{10, 11, 306},
- dictWord{139, 11, 9},
- dictWord{4, 10, 101},
- dictWord{135, 10, 1171},
- dictWord{5, 10, 833},
- dictWord{136, 10, 744},
- dictWord{5, 11, 161},
- dictWord{7, 11, 839},
- dictWord{135, 11, 887},
- dictWord{7, 0, 196},
- dictWord{10, 0, 765},
- dictWord{11, 0, 347},
- dictWord{11, 0, 552},
- dictWord{11, 0, 790},
- dictWord{12, 0, 263},
- dictWord{13, 0, 246},
- dictWord{13, 0, 270},
- dictWord{13, 0, 395},
- dictWord{14, 0, 176},
- dictWord{14, 0, 190},
- dictWord{
- 14,
- 0,
- 398,
- },
- dictWord{14, 0, 412},
- dictWord{15, 0, 32},
- dictWord{15, 0, 63},
- dictWord{16, 0, 88},
- dictWord{147, 0, 105},
- dictWord{6, 10, 9},
- dictWord{6, 10, 397},
- dictWord{7, 10, 53},
- dictWord{7, 10, 1742},
- dictWord{10, 10, 632},
- dictWord{11, 10, 828},
- dictWord{140, 10, 146},
- dictWord{5, 0, 381},
- dictWord{135, 0, 1792},
- dictWord{134, 0, 1452},
- dictWord{135, 11, 429},
- dictWord{8, 0, 367},
- dictWord{10, 0, 760},
- dictWord{14, 0, 79},
- dictWord{20, 0, 17},
- dictWord{152, 0, 0},
- dictWord{7, 0, 616},
- dictWord{138, 0, 413},
- dictWord{11, 10, 417},
- dictWord{12, 10, 223},
- dictWord{140, 10, 265},
- dictWord{7, 11, 1611},
- dictWord{13, 11, 14},
- dictWord{15, 11, 44},
- dictWord{19, 11, 13},
- dictWord{148, 11, 76},
- dictWord{135, 0, 1229},
- dictWord{6, 0, 120},
- dictWord{7, 0, 1188},
- dictWord{7, 0, 1710},
- dictWord{8, 0, 286},
- dictWord{9, 0, 667},
- dictWord{11, 0, 592},
- dictWord{139, 0, 730},
- dictWord{135, 11, 1814},
- dictWord{135, 0, 1146},
- dictWord{4, 10, 186},
- dictWord{5, 10, 157},
- dictWord{8, 10, 168},
- dictWord{138, 10, 6},
- dictWord{4, 0, 352},
- dictWord{135, 0, 687},
- dictWord{4, 0, 192},
- dictWord{5, 0, 49},
- dictWord{
- 6,
- 0,
- 200,
- },
- dictWord{6, 0, 293},
- dictWord{6, 0, 1696},
- dictWord{135, 0, 1151},
- dictWord{133, 10, 875},
- dictWord{5, 10, 773},
- dictWord{5, 10, 991},
- dictWord{
- 6,
- 10,
- 1635,
- },
- dictWord{134, 10, 1788},
- dictWord{7, 10, 111},
- dictWord{136, 10, 581},
- dictWord{6, 0, 935},
- dictWord{134, 0, 1151},
- dictWord{134, 0, 1050},
- dictWord{132, 0, 650},
- dictWord{132, 0, 147},
- dictWord{11, 0, 194},
- dictWord{12, 0, 62},
- dictWord{12, 0, 88},
- dictWord{11, 11, 194},
- dictWord{12, 11, 62},
- dictWord{140, 11, 88},
- dictWord{6, 0, 339},
- dictWord{135, 0, 923},
- dictWord{134, 10, 1747},
- dictWord{7, 11, 643},
- dictWord{136, 11, 236},
- dictWord{
- 133,
- 0,
- 934,
- },
- dictWord{7, 10, 1364},
- dictWord{7, 10, 1907},
- dictWord{141, 10, 158},
- dictWord{132, 10, 659},
- dictWord{4, 10, 404},
- dictWord{135, 10, 675},
- dictWord{7, 11, 581},
- dictWord{9, 11, 644},
- dictWord{137, 11, 699},
- dictWord{13, 0, 211},
- dictWord{14, 0, 133},
- dictWord{14, 0, 204},
- dictWord{15, 0, 64},
- dictWord{
- 15,
- 0,
- 69,
- },
- dictWord{15, 0, 114},
- dictWord{16, 0, 10},
- dictWord{19, 0, 23},
- dictWord{19, 0, 35},
- dictWord{19, 0, 39},
- dictWord{19, 0, 51},
- dictWord{19, 0, 71},
- dictWord{19, 0, 75},
- dictWord{152, 0, 15},
- dictWord{133, 10, 391},
- dictWord{5, 11, 54},
- dictWord{135, 11, 1513},
- dictWord{7, 0, 222},
- dictWord{8, 0, 341},
- dictWord{
- 5,
- 10,
- 540,
- },
- dictWord{134, 10, 1697},
- dictWord{134, 10, 78},
- dictWord{132, 11, 744},
- dictWord{136, 0, 293},
- dictWord{137, 11, 701},
- dictWord{
- 7,
- 11,
- 930,
- },
- dictWord{10, 11, 402},
- dictWord{10, 11, 476},
- dictWord{13, 11, 452},
- dictWord{18, 11, 55},
- dictWord{147, 11, 104},
- dictWord{132, 0, 637},
- dictWord{133, 10, 460},
- dictWord{8, 11, 50},
- dictWord{137, 11, 624},
- dictWord{132, 11, 572},
- dictWord{134, 0, 1159},
- dictWord{4, 10, 199},
- dictWord{
- 139,
- 10,
- 34,
- },
- dictWord{134, 0, 847},
- dictWord{134, 10, 388},
- dictWord{6, 11, 43},
- dictWord{7, 11, 38},
- dictWord{8, 11, 248},
- dictWord{9, 11, 504},
- dictWord{
- 138,
- 11,
- 513,
- },
- dictWord{9, 0, 683},
- dictWord{4, 10, 511},
- dictWord{6, 10, 608},
- dictWord{9, 10, 333},
- dictWord{10, 10, 602},
- dictWord{11, 10, 441},
- dictWord{
- 11,
- 10,
- 723,
- },
- dictWord{11, 10, 976},
- dictWord{140, 10, 357},
- dictWord{9, 0, 867},
- dictWord{138, 0, 837},
- dictWord{6, 0, 944},
- dictWord{135, 11, 326},
- dictWord{
- 135,
- 0,
- 1809,
- },
- dictWord{5, 10, 938},
- dictWord{7, 11, 783},
- dictWord{136, 10, 707},
- dictWord{133, 11, 766},
- dictWord{133, 11, 363},
- dictWord{6, 0, 170},
- dictWord{7, 0, 1080},
- dictWord{8, 0, 395},
- dictWord{8, 0, 487},
- dictWord{141, 0, 147},
- dictWord{6, 11, 258},
- dictWord{140, 11, 409},
- dictWord{4, 0, 535},
- dictWord{
- 8,
- 0,
- 618,
- },
- dictWord{5, 11, 249},
- dictWord{148, 11, 82},
- dictWord{6, 0, 1379},
- dictWord{149, 11, 15},
- dictWord{135, 0, 1625},
- dictWord{150, 0, 23},
- dictWord{
- 5,
- 11,
- 393,
- },
- dictWord{6, 11, 378},
- dictWord{7, 11, 1981},
- dictWord{9, 11, 32},
- dictWord{9, 11, 591},
- dictWord{10, 11, 685},
- dictWord{10, 11, 741},
- dictWord{
- 142,
- 11,
- 382,
- },
- dictWord{133, 11, 788},
- dictWord{7, 11, 1968},
- dictWord{10, 11, 19},
- dictWord{139, 11, 911},
- dictWord{7, 11, 1401},
- dictWord{
- 135,
- 11,
- 1476,
- },
- dictWord{4, 11, 61},
- dictWord{5, 11, 58},
- dictWord{5, 11, 171},
- dictWord{5, 11, 635},
- dictWord{5, 11, 683},
- dictWord{5, 11, 700},
- dictWord{6, 11, 291},
- dictWord{6, 11, 566},
- dictWord{7, 11, 1650},
- dictWord{11, 11, 523},
- dictWord{12, 11, 273},
- dictWord{12, 11, 303},
- dictWord{15, 11, 39},
- dictWord{
- 143,
- 11,
- 111,
- },
- dictWord{6, 10, 469},
- dictWord{7, 10, 1709},
- dictWord{138, 10, 515},
- dictWord{4, 0, 778},
- dictWord{134, 11, 589},
- dictWord{132, 0, 46},
- dictWord{
- 5,
- 0,
- 811,
- },
- dictWord{6, 0, 1679},
- dictWord{6, 0, 1714},
- dictWord{135, 0, 2032},
- dictWord{7, 0, 1458},
- dictWord{9, 0, 407},
- dictWord{11, 0, 15},
- dictWord{12, 0, 651},
- dictWord{149, 0, 37},
- dictWord{7, 0, 938},
- dictWord{132, 10, 500},
- dictWord{6, 0, 34},
- dictWord{7, 0, 69},
- dictWord{7, 0, 1089},
- dictWord{7, 0, 1281},
- dictWord{
- 8,
- 0,
- 708,
- },
- dictWord{8, 0, 721},
- dictWord{9, 0, 363},
- dictWord{148, 0, 98},
- dictWord{10, 11, 231},
- dictWord{147, 11, 124},
- dictWord{7, 11, 726},
- dictWord{
- 152,
- 11,
- 9,
- },
- dictWord{5, 10, 68},
- dictWord{134, 10, 383},
- dictWord{136, 11, 583},
- dictWord{4, 11, 917},
- dictWord{133, 11, 1005},
- dictWord{11, 10, 216},
- dictWord{139, 10, 340},
- dictWord{135, 11, 1675},
- dictWord{8, 0, 441},
- dictWord{10, 0, 314},
- dictWord{143, 0, 3},
- dictWord{132, 11, 919},
- dictWord{4, 10, 337},
- dictWord{6, 10, 353},
- dictWord{7, 10, 1934},
- dictWord{8, 10, 488},
- dictWord{137, 10, 429},
- dictWord{7, 0, 889},
- dictWord{7, 10, 1795},
- dictWord{8, 10, 259},
- dictWord{9, 10, 135},
- dictWord{9, 10, 177},
- dictWord{9, 10, 860},
- dictWord{10, 10, 825},
- dictWord{11, 10, 115},
- dictWord{11, 10, 370},
- dictWord{11, 10, 405},
- dictWord{11, 10, 604},
- dictWord{12, 10, 10},
- dictWord{12, 10, 667},
- dictWord{12, 10, 669},
- dictWord{13, 10, 76},
- dictWord{14, 10, 310},
- dictWord{
- 15,
- 10,
- 76,
- },
- dictWord{15, 10, 147},
- dictWord{148, 10, 23},
- dictWord{4, 10, 15},
- dictWord{4, 11, 255},
- dictWord{5, 10, 22},
- dictWord{5, 11, 302},
- dictWord{6, 11, 132},
- dictWord{6, 10, 244},
- dictWord{7, 10, 40},
- dictWord{7, 11, 128},
- dictWord{7, 10, 200},
- dictWord{7, 11, 283},
- dictWord{7, 10, 906},
- dictWord{7, 10, 1199},
- dictWord{
- 7,
- 11,
- 1299,
- },
- dictWord{9, 10, 616},
- dictWord{10, 11, 52},
- dictWord{10, 11, 514},
- dictWord{10, 10, 716},
- dictWord{11, 10, 635},
- dictWord{11, 10, 801},
- dictWord{11, 11, 925},
- dictWord{12, 10, 458},
- dictWord{13, 11, 92},
- dictWord{142, 11, 309},
- dictWord{132, 0, 462},
- dictWord{137, 11, 173},
- dictWord{
- 135,
- 10,
- 1735,
- },
- dictWord{8, 0, 525},
- dictWord{5, 10, 598},
- dictWord{7, 10, 791},
- dictWord{8, 10, 108},
- dictWord{137, 10, 123},
- dictWord{5, 0, 73},
- dictWord{6, 0, 23},
- dictWord{134, 0, 338},
- dictWord{132, 0, 676},
- dictWord{132, 10, 683},
- dictWord{7, 0, 725},
- dictWord{8, 0, 498},
- dictWord{139, 0, 268},
- dictWord{12, 0, 21},
- dictWord{151, 0, 7},
- dictWord{135, 0, 773},
- dictWord{4, 10, 155},
- dictWord{135, 10, 1689},
- dictWord{4, 0, 164},
- dictWord{5, 0, 730},
- dictWord{5, 10, 151},
- dictWord{
- 5,
- 10,
- 741,
- },
- dictWord{6, 11, 210},
- dictWord{7, 10, 498},
- dictWord{7, 10, 870},
- dictWord{7, 10, 1542},
- dictWord{12, 10, 213},
- dictWord{14, 10, 36},
- dictWord{
- 14,
- 10,
- 391,
- },
- dictWord{17, 10, 111},
- dictWord{18, 10, 6},
- dictWord{18, 10, 46},
- dictWord{18, 10, 151},
- dictWord{19, 10, 36},
- dictWord{20, 10, 32},
- dictWord{
- 20,
- 10,
- 56,
- },
- dictWord{20, 10, 69},
- dictWord{20, 10, 102},
- dictWord{21, 10, 4},
- dictWord{22, 10, 8},
- dictWord{22, 10, 10},
- dictWord{22, 10, 14},
- dictWord{
- 150,
- 10,
- 31,
- },
- dictWord{4, 10, 624},
- dictWord{135, 10, 1752},
- dictWord{4, 0, 583},
- dictWord{9, 0, 936},
- dictWord{15, 0, 214},
- dictWord{18, 0, 199},
- dictWord{24, 0, 26},
- dictWord{134, 11, 588},
- dictWord{7, 0, 1462},
- dictWord{11, 0, 659},
- dictWord{4, 11, 284},
- dictWord{134, 11, 223},
- dictWord{133, 0, 220},
- dictWord{
- 139,
- 0,
- 803,
- },
- dictWord{132, 0, 544},
- dictWord{4, 10, 492},
- dictWord{133, 10, 451},
- dictWord{16, 0, 98},
- dictWord{148, 0, 119},
- dictWord{4, 11, 218},
- dictWord{
- 7,
- 11,
- 526,
- },
- dictWord{143, 11, 137},
- dictWord{135, 10, 835},
- dictWord{4, 11, 270},
- dictWord{5, 11, 192},
- dictWord{6, 11, 332},
- dictWord{7, 11, 1322},
- dictWord{
- 13,
- 11,
- 9,
- },
- dictWord{13, 10, 70},
- dictWord{14, 11, 104},
- dictWord{142, 11, 311},
- dictWord{132, 10, 539},
- dictWord{140, 11, 661},
- dictWord{5, 0, 176},
- dictWord{
- 6,
- 0,
- 437,
- },
- dictWord{6, 0, 564},
- dictWord{11, 0, 181},
- dictWord{141, 0, 183},
- dictWord{135, 0, 1192},
- dictWord{6, 10, 113},
- dictWord{135, 10, 436},
- dictWord{136, 10, 718},
- dictWord{135, 10, 520},
- dictWord{135, 0, 1878},
- dictWord{140, 11, 196},
- dictWord{7, 11, 379},
- dictWord{8, 11, 481},
- dictWord{
- 137,
- 11,
- 377,
- },
- dictWord{5, 11, 1003},
- dictWord{6, 11, 149},
- dictWord{137, 11, 746},
- dictWord{8, 11, 262},
- dictWord{9, 11, 627},
- dictWord{10, 11, 18},
- dictWord{
- 11,
- 11,
- 214,
- },
- dictWord{11, 11, 404},
- dictWord{11, 11, 457},
- dictWord{11, 11, 780},
- dictWord{11, 11, 849},
- dictWord{11, 11, 913},
- dictWord{13, 11, 330},
- dictWord{13, 11, 401},
- dictWord{142, 11, 200},
- dictWord{149, 0, 26},
- dictWord{136, 11, 304},
- dictWord{132, 11, 142},
- dictWord{135, 0, 944},
- dictWord{
- 4,
- 0,
- 790,
- },
- dictWord{5, 0, 273},
- dictWord{134, 0, 394},
- dictWord{134, 0, 855},
- dictWord{4, 0, 135},
- dictWord{6, 0, 127},
- dictWord{7, 0, 1185},
- dictWord{7, 0, 1511},
- dictWord{8, 0, 613},
- dictWord{11, 0, 5},
- dictWord{12, 0, 336},
- dictWord{12, 0, 495},
- dictWord{12, 0, 586},
- dictWord{12, 0, 660},
- dictWord{12, 0, 668},
- dictWord{
- 14,
- 0,
- 385,
- },
- dictWord{15, 0, 118},
- dictWord{17, 0, 20},
- dictWord{146, 0, 98},
- dictWord{6, 0, 230},
- dictWord{9, 0, 752},
- dictWord{18, 0, 109},
- dictWord{12, 10, 610},
- dictWord{13, 10, 431},
- dictWord{144, 10, 59},
- dictWord{7, 0, 1954},
- dictWord{135, 11, 925},
- dictWord{4, 11, 471},
- dictWord{5, 11, 51},
- dictWord{6, 11, 602},
- dictWord{8, 11, 484},
- dictWord{10, 11, 195},
- dictWord{140, 11, 159},
- dictWord{132, 10, 307},
- dictWord{136, 11, 688},
- dictWord{132, 11, 697},
- dictWord{
- 7,
- 11,
- 812,
- },
- dictWord{7, 11, 1261},
- dictWord{7, 11, 1360},
- dictWord{9, 11, 632},
- dictWord{140, 11, 352},
- dictWord{5, 0, 162},
- dictWord{8, 0, 68},
- dictWord{
- 133,
- 10,
- 964,
- },
- dictWord{4, 0, 654},
- dictWord{136, 11, 212},
- dictWord{4, 0, 156},
- dictWord{7, 0, 998},
- dictWord{7, 0, 1045},
- dictWord{7, 0, 1860},
- dictWord{9, 0, 48},
- dictWord{9, 0, 692},
- dictWord{11, 0, 419},
- dictWord{139, 0, 602},
- dictWord{133, 11, 221},
- dictWord{4, 11, 373},
- dictWord{5, 11, 283},
- dictWord{6, 11, 480},
- dictWord{135, 11, 609},
- dictWord{142, 11, 216},
- dictWord{132, 0, 240},
- dictWord{6, 11, 192},
- dictWord{9, 11, 793},
- dictWord{145, 11, 55},
- dictWord{
- 4,
- 10,
- 75,
- },
- dictWord{5, 10, 180},
- dictWord{6, 10, 500},
- dictWord{7, 10, 58},
- dictWord{7, 10, 710},
- dictWord{138, 10, 645},
- dictWord{4, 11, 132},
- dictWord{5, 11, 69},
- dictWord{5, 10, 649},
- dictWord{135, 11, 1242},
- dictWord{6, 10, 276},
- dictWord{7, 10, 282},
- dictWord{7, 10, 879},
- dictWord{7, 10, 924},
- dictWord{8, 10, 459},
- dictWord{9, 10, 599},
- dictWord{9, 10, 754},
- dictWord{11, 10, 574},
- dictWord{12, 10, 128},
- dictWord{12, 10, 494},
- dictWord{13, 10, 52},
- dictWord{13, 10, 301},
- dictWord{15, 10, 30},
- dictWord{143, 10, 132},
- dictWord{132, 10, 200},
- dictWord{4, 11, 111},
- dictWord{135, 11, 302},
- dictWord{9, 0, 197},
- dictWord{
- 10,
- 0,
- 300,
- },
- dictWord{12, 0, 473},
- dictWord{13, 0, 90},
- dictWord{141, 0, 405},
- dictWord{132, 11, 767},
- dictWord{6, 11, 42},
- dictWord{7, 11, 1416},
- dictWord{
- 7,
- 11,
- 1590,
- },
- dictWord{7, 11, 2005},
- dictWord{8, 11, 131},
- dictWord{8, 11, 466},
- dictWord{9, 11, 672},
- dictWord{13, 11, 252},
- dictWord{148, 11, 103},
- dictWord{
- 8,
- 0,
- 958,
- },
- dictWord{8, 0, 999},
- dictWord{10, 0, 963},
- dictWord{138, 0, 1001},
- dictWord{135, 10, 1621},
- dictWord{135, 0, 858},
- dictWord{4, 0, 606},
- dictWord{
- 137,
- 11,
- 444,
- },
- dictWord{6, 11, 44},
- dictWord{136, 11, 368},
- dictWord{139, 11, 172},
- dictWord{4, 11, 570},
- dictWord{133, 11, 120},
- dictWord{139, 11, 624},
- dictWord{7, 0, 1978},
- dictWord{8, 0, 676},
- dictWord{6, 10, 225},
- dictWord{137, 10, 211},
- dictWord{7, 0, 972},
- dictWord{11, 0, 102},
- dictWord{136, 10, 687},
- dictWord{6, 11, 227},
- dictWord{135, 11, 1589},
- dictWord{8, 10, 58},
- dictWord{9, 10, 724},
- dictWord{11, 10, 809},
- dictWord{13, 10, 113},
- dictWord{
- 145,
- 10,
- 72,
- },
- dictWord{4, 0, 361},
- dictWord{133, 0, 315},
- dictWord{132, 0, 461},
- dictWord{6, 10, 345},
- dictWord{135, 10, 1247},
- dictWord{132, 0, 472},
- dictWord{
- 8,
- 10,
- 767,
- },
- dictWord{8, 10, 803},
- dictWord{9, 10, 301},
- dictWord{137, 10, 903},
- dictWord{135, 11, 1333},
- dictWord{135, 11, 477},
- dictWord{7, 10, 1949},
- dictWord{136, 10, 674},
- dictWord{6, 0, 905},
- dictWord{138, 0, 747},
- dictWord{133, 0, 155},
- dictWord{134, 10, 259},
- dictWord{7, 0, 163},
- dictWord{8, 0, 319},
- dictWord{9, 0, 402},
- dictWord{10, 0, 24},
- dictWord{10, 0, 681},
- dictWord{11, 0, 200},
- dictWord{12, 0, 253},
- dictWord{12, 0, 410},
- dictWord{142, 0, 219},
- dictWord{
- 5,
- 0,
- 475,
- },
- dictWord{7, 0, 1780},
- dictWord{9, 0, 230},
- dictWord{11, 0, 297},
- dictWord{11, 0, 558},
- dictWord{14, 0, 322},
- dictWord{19, 0, 76},
- dictWord{6, 11, 1667},
- dictWord{7, 11, 2036},
- dictWord{138, 11, 600},
- dictWord{136, 10, 254},
- dictWord{6, 0, 848},
- dictWord{135, 0, 1956},
- dictWord{6, 11, 511},
- dictWord{
- 140,
- 11,
- 132,
- },
- dictWord{5, 11, 568},
- dictWord{6, 11, 138},
- dictWord{135, 11, 1293},
- dictWord{6, 0, 631},
- dictWord{137, 0, 838},
- dictWord{149, 0, 36},
- dictWord{
- 4,
- 11,
- 565,
- },
- dictWord{8, 11, 23},
- dictWord{136, 11, 827},
- dictWord{5, 0, 944},
- dictWord{134, 0, 1769},
- dictWord{4, 0, 144},
- dictWord{6, 0, 842},
- dictWord{
- 6,
- 0,
- 1400,
- },
- dictWord{4, 11, 922},
- dictWord{133, 11, 1023},
- dictWord{133, 10, 248},
- dictWord{9, 10, 800},
- dictWord{10, 10, 693},
- dictWord{11, 10, 482},
- dictWord{11, 10, 734},
- dictWord{139, 10, 789},
- dictWord{7, 11, 1002},
- dictWord{139, 11, 145},
- dictWord{4, 10, 116},
- dictWord{5, 10, 95},
- dictWord{5, 10, 445},
- dictWord{7, 10, 1688},
- dictWord{8, 10, 29},
- dictWord{9, 10, 272},
- dictWord{11, 10, 509},
- dictWord{139, 10, 915},
- dictWord{14, 0, 369},
- dictWord{146, 0, 72},
- dictWord{135, 10, 1641},
- dictWord{132, 11, 740},
- dictWord{133, 10, 543},
- dictWord{140, 11, 116},
- dictWord{6, 0, 247},
- dictWord{9, 0, 555},
- dictWord{
- 5,
- 10,
- 181,
- },
- dictWord{136, 10, 41},
- dictWord{133, 10, 657},
- dictWord{136, 0, 996},
- dictWord{138, 10, 709},
- dictWord{7, 0, 189},
- dictWord{8, 10, 202},
- dictWord{
- 138,
- 10,
- 536,
- },
- dictWord{136, 11, 402},
- dictWord{4, 11, 716},
- dictWord{141, 11, 31},
- dictWord{10, 0, 280},
- dictWord{138, 0, 797},
- dictWord{9, 10, 423},
- dictWord{140, 10, 89},
- dictWord{8, 10, 113},
- dictWord{9, 10, 877},
- dictWord{10, 10, 554},
- dictWord{11, 10, 83},
- dictWord{12, 10, 136},
- dictWord{147, 10, 109},
- dictWord{133, 10, 976},
- dictWord{7, 0, 746},
- dictWord{132, 10, 206},
- dictWord{136, 0, 526},
- dictWord{139, 0, 345},
- dictWord{136, 0, 1017},
- dictWord{
- 8,
- 11,
- 152,
- },
- dictWord{9, 11, 53},
- dictWord{9, 11, 268},
- dictWord{9, 11, 901},
- dictWord{10, 11, 518},
- dictWord{10, 11, 829},
- dictWord{11, 11, 188},
- dictWord{
- 13,
- 11,
- 74,
- },
- dictWord{14, 11, 46},
- dictWord{15, 11, 17},
- dictWord{15, 11, 33},
- dictWord{17, 11, 40},
- dictWord{18, 11, 36},
- dictWord{19, 11, 20},
- dictWord{22, 11, 1},
- dictWord{152, 11, 2},
- dictWord{133, 11, 736},
- dictWord{136, 11, 532},
- dictWord{5, 0, 428},
- dictWord{138, 0, 651},
- dictWord{135, 11, 681},
- dictWord{
- 135,
- 0,
- 1162,
- },
- dictWord{7, 0, 327},
- dictWord{13, 0, 230},
- dictWord{17, 0, 113},
- dictWord{8, 10, 226},
- dictWord{10, 10, 537},
- dictWord{11, 10, 570},
- dictWord{
- 11,
- 10,
- 605,
- },
- dictWord{11, 10, 799},
- dictWord{11, 10, 804},
- dictWord{12, 10, 85},
- dictWord{12, 10, 516},
- dictWord{12, 10, 623},
- dictWord{12, 11, 677},
- dictWord{
- 13,
- 10,
- 361,
- },
- dictWord{14, 10, 77},
- dictWord{14, 10, 78},
- dictWord{147, 10, 110},
- dictWord{4, 0, 792},
- dictWord{7, 0, 1717},
- dictWord{10, 0, 546},
- dictWord{
- 132,
- 10,
- 769,
- },
- dictWord{4, 11, 684},
- dictWord{136, 11, 384},
- dictWord{132, 10, 551},
- dictWord{134, 0, 1203},
- dictWord{9, 10, 57},
- dictWord{9, 10, 459},
- dictWord{10, 10, 425},
- dictWord{11, 10, 119},
- dictWord{12, 10, 184},
- dictWord{12, 10, 371},
- dictWord{13, 10, 358},
- dictWord{145, 10, 51},
- dictWord{5, 0, 672},
- dictWord{5, 10, 814},
- dictWord{8, 10, 10},
- dictWord{9, 10, 421},
- dictWord{9, 10, 729},
- dictWord{10, 10, 609},
- dictWord{139, 10, 689},
- dictWord{138, 0, 189},
- dictWord{134, 10, 624},
- dictWord{7, 11, 110},
- dictWord{7, 11, 188},
- dictWord{8, 11, 290},
- dictWord{8, 11, 591},
- dictWord{9, 11, 382},
- dictWord{9, 11, 649},
- dictWord{11, 11, 71},
- dictWord{11, 11, 155},
- dictWord{11, 11, 313},
- dictWord{12, 11, 5},
- dictWord{13, 11, 325},
- dictWord{142, 11, 287},
- dictWord{133, 0, 99},
- dictWord{6, 0, 1053},
- dictWord{135, 0, 298},
- dictWord{7, 11, 360},
- dictWord{7, 11, 425},
- dictWord{9, 11, 66},
- dictWord{9, 11, 278},
- dictWord{138, 11, 644},
- dictWord{4, 0, 397},
- dictWord{136, 0, 555},
- dictWord{137, 10, 269},
- dictWord{132, 10, 528},
- dictWord{4, 11, 900},
- dictWord{133, 11, 861},
- dictWord{
- 6,
- 0,
- 1157,
- },
- dictWord{5, 11, 254},
- dictWord{7, 11, 985},
- dictWord{136, 11, 73},
- dictWord{7, 11, 1959},
- dictWord{136, 11, 683},
- dictWord{12, 0, 398},
- dictWord{
- 20,
- 0,
- 39,
- },
- dictWord{21, 0, 11},
- dictWord{150, 0, 41},
- dictWord{4, 0, 485},
- dictWord{7, 0, 353},
- dictWord{135, 0, 1523},
- dictWord{6, 0, 366},
- dictWord{7, 0, 1384},
- dictWord{135, 0, 1601},
- dictWord{138, 0, 787},
- dictWord{137, 0, 282},
- dictWord{5, 10, 104},
- dictWord{6, 10, 173},
- dictWord{135, 10, 1631},
- dictWord{
- 139,
- 11,
- 146,
- },
- dictWord{4, 0, 157},
- dictWord{133, 0, 471},
- dictWord{134, 0, 941},
- dictWord{132, 11, 725},
- dictWord{7, 0, 1336},
- dictWord{8, 10, 138},
- dictWord{
- 8,
- 10,
- 342,
- },
- dictWord{9, 10, 84},
- dictWord{10, 10, 193},
- dictWord{11, 10, 883},
- dictWord{140, 10, 359},
- dictWord{134, 11, 196},
- dictWord{136, 0, 116},
- dictWord{133, 11, 831},
- dictWord{134, 0, 787},
- dictWord{134, 10, 95},
- dictWord{6, 10, 406},
- dictWord{10, 10, 409},
- dictWord{10, 10, 447},
- dictWord{
- 11,
- 10,
- 44,
- },
- dictWord{140, 10, 100},
- dictWord{5, 0, 160},
- dictWord{7, 0, 363},
- dictWord{7, 0, 589},
- dictWord{10, 0, 170},
- dictWord{141, 0, 55},
- dictWord{134, 0, 1815},
- dictWord{132, 0, 866},
- dictWord{6, 0, 889},
- dictWord{6, 0, 1067},
- dictWord{6, 0, 1183},
- dictWord{4, 11, 321},
- dictWord{134, 11, 569},
- dictWord{5, 11, 848},
- dictWord{134, 11, 66},
- dictWord{4, 11, 36},
- dictWord{6, 10, 1636},
- dictWord{7, 11, 1387},
- dictWord{10, 11, 205},
- dictWord{11, 11, 755},
- dictWord{
- 141,
- 11,
- 271,
- },
- dictWord{132, 0, 689},
- dictWord{9, 0, 820},
- dictWord{4, 10, 282},
- dictWord{7, 10, 1034},
- dictWord{11, 10, 398},
- dictWord{11, 10, 634},
- dictWord{
- 12,
- 10,
- 1,
- },
- dictWord{12, 10, 79},
- dictWord{12, 10, 544},
- dictWord{14, 10, 237},
- dictWord{17, 10, 10},
- dictWord{146, 10, 20},
- dictWord{4, 0, 108},
- dictWord{7, 0, 804},
- dictWord{139, 0, 498},
- dictWord{132, 11, 887},
- dictWord{6, 0, 1119},
- dictWord{135, 11, 620},
- dictWord{6, 11, 165},
- dictWord{138, 11, 388},
- dictWord{
- 5,
- 0,
- 244,
- },
- dictWord{5, 10, 499},
- dictWord{6, 10, 476},
- dictWord{7, 10, 600},
- dictWord{7, 10, 888},
- dictWord{135, 10, 1096},
- dictWord{140, 0, 609},
- dictWord{
- 135,
- 0,
- 1005,
- },
- dictWord{4, 0, 412},
- dictWord{133, 0, 581},
- dictWord{4, 11, 719},
- dictWord{135, 11, 155},
- dictWord{7, 10, 296},
- dictWord{7, 10, 596},
- dictWord{
- 8,
- 10,
- 560,
- },
- dictWord{8, 10, 586},
- dictWord{9, 10, 612},
- dictWord{11, 10, 304},
- dictWord{12, 10, 46},
- dictWord{13, 10, 89},
- dictWord{14, 10, 112},
- dictWord{
- 145,
- 10,
- 122,
- },
- dictWord{4, 0, 895},
- dictWord{133, 0, 772},
- dictWord{142, 11, 307},
- dictWord{135, 0, 1898},
- dictWord{4, 0, 926},
- dictWord{133, 0, 983},
- dictWord{4, 11, 353},
- dictWord{6, 11, 146},
- dictWord{6, 11, 1789},
- dictWord{7, 11, 288},
- dictWord{7, 11, 990},
- dictWord{7, 11, 1348},
- dictWord{9, 11, 665},
- dictWord{
- 9,
- 11,
- 898,
- },
- dictWord{11, 11, 893},
- dictWord{142, 11, 212},
- dictWord{132, 0, 538},
- dictWord{133, 11, 532},
- dictWord{6, 0, 294},
- dictWord{7, 0, 1267},
- dictWord{8, 0, 624},
- dictWord{141, 0, 496},
- dictWord{7, 0, 1325},
- dictWord{4, 11, 45},
- dictWord{135, 11, 1257},
- dictWord{138, 0, 301},
- dictWord{9, 0, 298},
- dictWord{12, 0, 291},
- dictWord{13, 0, 276},
- dictWord{14, 0, 6},
- dictWord{17, 0, 18},
- dictWord{21, 0, 32},
- dictWord{7, 10, 1599},
- dictWord{7, 10, 1723},
- dictWord{
- 8,
- 10,
- 79,
- },
- dictWord{8, 10, 106},
- dictWord{8, 10, 190},
- dictWord{8, 10, 302},
- dictWord{8, 10, 383},
- dictWord{8, 10, 713},
- dictWord{9, 10, 119},
- dictWord{9, 10, 233},
- dictWord{9, 10, 419},
- dictWord{9, 10, 471},
- dictWord{10, 10, 181},
- dictWord{10, 10, 406},
- dictWord{11, 10, 57},
- dictWord{11, 10, 85},
- dictWord{11, 10, 120},
- dictWord{11, 10, 177},
- dictWord{11, 10, 296},
- dictWord{11, 10, 382},
- dictWord{11, 10, 454},
- dictWord{11, 10, 758},
- dictWord{11, 10, 999},
- dictWord{
- 12,
- 10,
- 27,
- },
- dictWord{12, 10, 131},
- dictWord{12, 10, 245},
- dictWord{12, 10, 312},
- dictWord{12, 10, 446},
- dictWord{12, 10, 454},
- dictWord{13, 10, 98},
- dictWord{
- 13,
- 10,
- 426,
- },
- dictWord{13, 10, 508},
- dictWord{14, 10, 163},
- dictWord{14, 10, 272},
- dictWord{14, 10, 277},
- dictWord{14, 10, 370},
- dictWord{15, 10, 95},
- dictWord{15, 10, 138},
- dictWord{15, 10, 167},
- dictWord{17, 10, 38},
- dictWord{148, 10, 96},
- dictWord{132, 0, 757},
- dictWord{134, 0, 1263},
- dictWord{4, 0, 820},
- dictWord{134, 10, 1759},
- dictWord{133, 0, 722},
- dictWord{136, 11, 816},
- dictWord{138, 10, 372},
- dictWord{145, 10, 16},
- dictWord{134, 0, 1039},
- dictWord{
- 4,
- 0,
- 991,
- },
- dictWord{134, 0, 2028},
- dictWord{133, 10, 258},
- dictWord{7, 0, 1875},
- dictWord{139, 0, 124},
- dictWord{6, 11, 559},
- dictWord{6, 11, 1691},
- dictWord{135, 11, 586},
- dictWord{5, 0, 324},
- dictWord{7, 0, 881},
- dictWord{8, 10, 134},
- dictWord{9, 10, 788},
- dictWord{140, 10, 438},
- dictWord{7, 11, 1823},
- dictWord{139, 11, 693},
- dictWord{6, 0, 1348},
- dictWord{134, 0, 1545},
- dictWord{134, 0, 911},
- dictWord{132, 0, 954},
- dictWord{8, 0, 329},
- dictWord{8, 0, 414},
- dictWord{7, 10, 1948},
- dictWord{135, 10, 2004},
- dictWord{5, 0, 517},
- dictWord{6, 10, 439},
- dictWord{7, 10, 780},
- dictWord{135, 10, 1040},
- dictWord{
- 132,
- 0,
- 816,
- },
- dictWord{5, 10, 1},
- dictWord{6, 10, 81},
- dictWord{138, 10, 520},
- dictWord{9, 0, 713},
- dictWord{10, 0, 222},
- dictWord{5, 10, 482},
- dictWord{8, 10, 98},
- dictWord{10, 10, 700},
- dictWord{10, 10, 822},
- dictWord{11, 10, 302},
- dictWord{11, 10, 778},
- dictWord{12, 10, 50},
- dictWord{12, 10, 127},
- dictWord{12, 10, 396},
- dictWord{13, 10, 62},
- dictWord{13, 10, 328},
- dictWord{14, 10, 122},
- dictWord{147, 10, 72},
- dictWord{137, 0, 33},
- dictWord{5, 10, 2},
- dictWord{7, 10, 1494},
- dictWord{136, 10, 589},
- dictWord{6, 10, 512},
- dictWord{7, 10, 797},
- dictWord{8, 10, 253},
- dictWord{9, 10, 77},
- dictWord{10, 10, 1},
- dictWord{10, 11, 108},
- dictWord{10, 10, 129},
- dictWord{10, 10, 225},
- dictWord{11, 11, 116},
- dictWord{11, 10, 118},
- dictWord{11, 10, 226},
- dictWord{11, 10, 251},
- dictWord{
- 11,
- 10,
- 430,
- },
- dictWord{11, 10, 701},
- dictWord{11, 10, 974},
- dictWord{11, 10, 982},
- dictWord{12, 10, 64},
- dictWord{12, 10, 260},
- dictWord{12, 10, 488},
- dictWord{
- 140,
- 10,
- 690,
- },
- dictWord{134, 11, 456},
- dictWord{133, 11, 925},
- dictWord{5, 0, 150},
- dictWord{7, 0, 106},
- dictWord{7, 0, 774},
- dictWord{8, 0, 603},
- dictWord{
- 9,
- 0,
- 593,
- },
- dictWord{9, 0, 634},
- dictWord{10, 0, 44},
- dictWord{10, 0, 173},
- dictWord{11, 0, 462},
- dictWord{11, 0, 515},
- dictWord{13, 0, 216},
- dictWord{13, 0, 288},
- dictWord{142, 0, 400},
- dictWord{137, 10, 347},
- dictWord{5, 0, 748},
- dictWord{134, 0, 553},
- dictWord{12, 0, 108},
- dictWord{141, 0, 291},
- dictWord{7, 0, 420},
- dictWord{4, 10, 12},
- dictWord{7, 10, 522},
- dictWord{7, 10, 809},
- dictWord{8, 10, 797},
- dictWord{141, 10, 88},
- dictWord{6, 11, 193},
- dictWord{7, 11, 240},
- dictWord{
- 7,
- 11,
- 1682,
- },
- dictWord{10, 11, 51},
- dictWord{10, 11, 640},
- dictWord{11, 11, 410},
- dictWord{13, 11, 82},
- dictWord{14, 11, 247},
- dictWord{14, 11, 331},
- dictWord{142, 11, 377},
- dictWord{133, 10, 528},
- dictWord{135, 0, 1777},
- dictWord{4, 0, 493},
- dictWord{144, 0, 55},
- dictWord{136, 11, 633},
- dictWord{
- 139,
- 0,
- 81,
- },
- dictWord{6, 0, 980},
- dictWord{136, 0, 321},
- dictWord{148, 10, 109},
- dictWord{5, 10, 266},
- dictWord{9, 10, 290},
- dictWord{9, 10, 364},
- dictWord{
- 10,
- 10,
- 293,
- },
- dictWord{11, 10, 606},
- dictWord{142, 10, 45},
- dictWord{6, 0, 568},
- dictWord{7, 0, 112},
- dictWord{7, 0, 1804},
- dictWord{8, 0, 362},
- dictWord{8, 0, 410},
- dictWord{8, 0, 830},
- dictWord{9, 0, 514},
- dictWord{11, 0, 649},
- dictWord{142, 0, 157},
- dictWord{4, 0, 74},
- dictWord{6, 0, 510},
- dictWord{6, 10, 594},
- dictWord{
- 9,
- 10,
- 121,
- },
- dictWord{10, 10, 49},
- dictWord{10, 10, 412},
- dictWord{139, 10, 834},
- dictWord{134, 0, 838},
- dictWord{136, 10, 748},
- dictWord{132, 10, 466},
- dictWord{132, 0, 625},
- dictWord{135, 11, 1443},
- dictWord{4, 11, 237},
- dictWord{135, 11, 514},
- dictWord{9, 10, 378},
- dictWord{141, 10, 162},
- dictWord{6, 0, 16},
- dictWord{6, 0, 158},
- dictWord{7, 0, 43},
- dictWord{7, 0, 129},
- dictWord{7, 0, 181},
- dictWord{8, 0, 276},
- dictWord{8, 0, 377},
- dictWord{10, 0, 523},
- dictWord{
- 11,
- 0,
- 816,
- },
- dictWord{12, 0, 455},
- dictWord{13, 0, 303},
- dictWord{142, 0, 135},
- dictWord{135, 0, 281},
- dictWord{4, 0, 1},
- dictWord{7, 0, 1143},
- dictWord{7, 0, 1463},
- dictWord{8, 0, 61},
- dictWord{9, 0, 207},
- dictWord{9, 0, 390},
- dictWord{9, 0, 467},
- dictWord{139, 0, 836},
- dictWord{6, 11, 392},
- dictWord{7, 11, 65},
- dictWord{
- 135,
- 11,
- 2019,
- },
- dictWord{132, 10, 667},
- dictWord{4, 0, 723},
- dictWord{5, 0, 895},
- dictWord{7, 0, 1031},
- dictWord{8, 0, 199},
- dictWord{8, 0, 340},
- dictWord{9, 0, 153},
- dictWord{9, 0, 215},
- dictWord{10, 0, 21},
- dictWord{10, 0, 59},
- dictWord{10, 0, 80},
- dictWord{10, 0, 224},
- dictWord{10, 0, 838},
- dictWord{11, 0, 229},
- dictWord{
- 11,
- 0,
- 652,
- },
- dictWord{12, 0, 192},
- dictWord{13, 0, 146},
- dictWord{142, 0, 91},
- dictWord{132, 0, 295},
- dictWord{137, 0, 51},
- dictWord{9, 11, 222},
- dictWord{
- 10,
- 11,
- 43,
- },
- dictWord{139, 11, 900},
- dictWord{5, 0, 309},
- dictWord{140, 0, 211},
- dictWord{5, 0, 125},
- dictWord{8, 0, 77},
- dictWord{138, 0, 15},
- dictWord{136, 11, 604},
- dictWord{138, 0, 789},
- dictWord{5, 0, 173},
- dictWord{4, 10, 39},
- dictWord{7, 10, 1843},
- dictWord{8, 10, 407},
- dictWord{11, 10, 144},
- dictWord{140, 10, 523},
- dictWord{138, 11, 265},
- dictWord{133, 0, 439},
- dictWord{132, 10, 510},
- dictWord{7, 0, 648},
- dictWord{7, 0, 874},
- dictWord{11, 0, 164},
- dictWord{12, 0, 76},
- dictWord{18, 0, 9},
- dictWord{7, 10, 1980},
- dictWord{10, 10, 487},
- dictWord{138, 10, 809},
- dictWord{12, 0, 111},
- dictWord{14, 0, 294},
- dictWord{19, 0, 45},
- dictWord{13, 10, 260},
- dictWord{146, 10, 63},
- dictWord{133, 11, 549},
- dictWord{134, 10, 570},
- dictWord{4, 0, 8},
- dictWord{7, 0, 1152},
- dictWord{7, 0, 1153},
- dictWord{7, 0, 1715},
- dictWord{9, 0, 374},
- dictWord{10, 0, 478},
- dictWord{139, 0, 648},
- dictWord{135, 0, 1099},
- dictWord{5, 0, 575},
- dictWord{6, 0, 354},
- dictWord{
- 135,
- 0,
- 701,
- },
- dictWord{7, 11, 36},
- dictWord{8, 11, 201},
- dictWord{136, 11, 605},
- dictWord{4, 10, 787},
- dictWord{136, 11, 156},
- dictWord{6, 0, 518},
- dictWord{
- 149,
- 11,
- 13,
- },
- dictWord{140, 11, 224},
- dictWord{134, 0, 702},
- dictWord{132, 10, 516},
- dictWord{5, 11, 724},
- dictWord{10, 11, 305},
- dictWord{11, 11, 151},
- dictWord{12, 11, 33},
- dictWord{12, 11, 121},
- dictWord{12, 11, 381},
- dictWord{17, 11, 3},
- dictWord{17, 11, 27},
- dictWord{17, 11, 78},
- dictWord{18, 11, 18},
- dictWord{19, 11, 54},
- dictWord{149, 11, 5},
- dictWord{8, 0, 87},
- dictWord{4, 11, 523},
- dictWord{5, 11, 638},
- dictWord{11, 10, 887},
- dictWord{14, 10, 365},
- dictWord{
- 142,
- 10,
- 375,
- },
- dictWord{138, 0, 438},
- dictWord{136, 10, 821},
- dictWord{135, 11, 1908},
- dictWord{6, 11, 242},
- dictWord{7, 11, 227},
- dictWord{7, 11, 1581},
- dictWord{8, 11, 104},
- dictWord{9, 11, 113},
- dictWord{9, 11, 220},
- dictWord{9, 11, 427},
- dictWord{10, 11, 74},
- dictWord{10, 11, 239},
- dictWord{11, 11, 579},
- dictWord{11, 11, 1023},
- dictWord{13, 11, 4},
- dictWord{13, 11, 204},
- dictWord{13, 11, 316},
- dictWord{18, 11, 95},
- dictWord{148, 11, 86},
- dictWord{4, 0, 69},
- dictWord{5, 0, 122},
- dictWord{5, 0, 849},
- dictWord{6, 0, 1633},
- dictWord{9, 0, 656},
- dictWord{138, 0, 464},
- dictWord{7, 0, 1802},
- dictWord{4, 10, 10},
- dictWord{
- 139,
- 10,
- 786,
- },
- dictWord{135, 11, 861},
- dictWord{139, 0, 499},
- dictWord{7, 0, 476},
- dictWord{7, 0, 1592},
- dictWord{138, 0, 87},
- dictWord{133, 10, 684},
- dictWord{
- 4,
- 0,
- 840,
- },
- dictWord{134, 10, 27},
- dictWord{142, 0, 283},
- dictWord{6, 0, 1620},
- dictWord{7, 11, 1328},
- dictWord{136, 11, 494},
- dictWord{5, 0, 859},
- dictWord{
- 7,
- 0,
- 1160,
- },
- dictWord{8, 0, 107},
- dictWord{9, 0, 291},
- dictWord{9, 0, 439},
- dictWord{10, 0, 663},
- dictWord{11, 0, 609},
- dictWord{140, 0, 197},
- dictWord{
- 7,
- 11,
- 1306,
- },
- dictWord{8, 11, 505},
- dictWord{9, 11, 482},
- dictWord{10, 11, 126},
- dictWord{11, 11, 225},
- dictWord{12, 11, 347},
- dictWord{12, 11, 449},
- dictWord{
- 13,
- 11,
- 19,
- },
- dictWord{142, 11, 218},
- dictWord{5, 11, 268},
- dictWord{10, 11, 764},
- dictWord{12, 11, 120},
- dictWord{13, 11, 39},
- dictWord{145, 11, 127},
- dictWord{145, 10, 56},
- dictWord{7, 11, 1672},
- dictWord{10, 11, 472},
- dictWord{11, 11, 189},
- dictWord{143, 11, 51},
- dictWord{6, 10, 342},
- dictWord{6, 10, 496},
- dictWord{8, 10, 275},
- dictWord{137, 10, 206},
- dictWord{133, 0, 600},
- dictWord{4, 0, 117},
- dictWord{6, 0, 372},
- dictWord{7, 0, 1905},
- dictWord{142, 0, 323},
- dictWord{4, 10, 909},
- dictWord{5, 10, 940},
- dictWord{135, 11, 1471},
- dictWord{132, 10, 891},
- dictWord{4, 0, 722},
- dictWord{139, 0, 471},
- dictWord{4, 11, 384},
- dictWord{135, 11, 1022},
- dictWord{132, 10, 687},
- dictWord{9, 0, 5},
- dictWord{12, 0, 216},
- dictWord{12, 0, 294},
- dictWord{12, 0, 298},
- dictWord{12, 0, 400},
- dictWord{12, 0, 518},
- dictWord{13, 0, 229},
- dictWord{143, 0, 139},
- dictWord{135, 11, 1703},
- dictWord{7, 11, 1602},
- dictWord{10, 11, 698},
- dictWord{
- 12,
- 11,
- 212,
- },
- dictWord{141, 11, 307},
- dictWord{6, 10, 41},
- dictWord{141, 10, 160},
- dictWord{135, 11, 1077},
- dictWord{9, 11, 159},
- dictWord{11, 11, 28},
- dictWord{140, 11, 603},
- dictWord{4, 0, 514},
- dictWord{7, 0, 1304},
- dictWord{138, 0, 477},
- dictWord{134, 0, 1774},
- dictWord{9, 0, 88},
- dictWord{139, 0, 270},
- dictWord{5, 0, 12},
- dictWord{7, 0, 375},
- dictWord{9, 0, 438},
- dictWord{134, 10, 1718},
- dictWord{132, 11, 515},
- dictWord{136, 10, 778},
- dictWord{8, 11, 632},
- dictWord{8, 11, 697},
- dictWord{137, 11, 854},
- dictWord{6, 0, 362},
- dictWord{6, 0, 997},
- dictWord{146, 0, 51},
- dictWord{7, 0, 816},
- dictWord{7, 0, 1241},
- dictWord{
- 9,
- 0,
- 283,
- },
- dictWord{9, 0, 520},
- dictWord{10, 0, 213},
- dictWord{10, 0, 307},
- dictWord{10, 0, 463},
- dictWord{10, 0, 671},
- dictWord{10, 0, 746},
- dictWord{11, 0, 401},
- dictWord{11, 0, 794},
- dictWord{12, 0, 517},
- dictWord{18, 0, 107},
- dictWord{147, 0, 115},
- dictWord{133, 10, 115},
- dictWord{150, 11, 28},
- dictWord{4, 11, 136},
- dictWord{133, 11, 551},
- dictWord{142, 10, 314},
- dictWord{132, 0, 258},
- dictWord{6, 0, 22},
- dictWord{7, 0, 903},
- dictWord{7, 0, 1963},
- dictWord{8, 0, 639},
- dictWord{138, 0, 577},
- dictWord{5, 0, 681},
- dictWord{8, 0, 782},
- dictWord{13, 0, 130},
- dictWord{17, 0, 84},
- dictWord{5, 10, 193},
- dictWord{140, 10, 178},
- dictWord{
- 9,
- 11,
- 17,
- },
- dictWord{138, 11, 291},
- dictWord{7, 11, 1287},
- dictWord{9, 11, 44},
- dictWord{10, 11, 552},
- dictWord{10, 11, 642},
- dictWord{11, 11, 839},
- dictWord{12, 11, 274},
- dictWord{12, 11, 275},
- dictWord{12, 11, 372},
- dictWord{13, 11, 91},
- dictWord{142, 11, 125},
- dictWord{135, 10, 174},
- dictWord{4, 0, 664},
- dictWord{5, 0, 804},
- dictWord{139, 0, 1013},
- dictWord{134, 0, 942},
- dictWord{6, 0, 1349},
- dictWord{6, 0, 1353},
- dictWord{6, 0, 1450},
- dictWord{7, 11, 1518},
- dictWord{139, 11, 694},
- dictWord{11, 0, 356},
- dictWord{4, 10, 122},
- dictWord{5, 10, 796},
- dictWord{5, 10, 952},
- dictWord{6, 10, 1660},
- dictWord{
- 6,
- 10,
- 1671,
- },
- dictWord{8, 10, 567},
- dictWord{9, 10, 687},
- dictWord{9, 10, 742},
- dictWord{10, 10, 686},
- dictWord{11, 10, 682},
- dictWord{140, 10, 281},
- dictWord{
- 5,
- 0,
- 32,
- },
- dictWord{6, 11, 147},
- dictWord{7, 11, 886},
- dictWord{9, 11, 753},
- dictWord{138, 11, 268},
- dictWord{5, 10, 179},
- dictWord{7, 10, 1095},
- dictWord{
- 135,
- 10,
- 1213,
- },
- dictWord{4, 10, 66},
- dictWord{7, 10, 722},
- dictWord{135, 10, 904},
- dictWord{135, 10, 352},
- dictWord{9, 11, 245},
- dictWord{138, 11, 137},
- dictWord{4, 0, 289},
- dictWord{7, 0, 629},
- dictWord{7, 0, 1698},
- dictWord{7, 0, 1711},
- dictWord{12, 0, 215},
- dictWord{133, 11, 414},
- dictWord{6, 0, 1975},
- dictWord{135, 11, 1762},
- dictWord{6, 0, 450},
- dictWord{136, 0, 109},
- dictWord{141, 10, 35},
- dictWord{134, 11, 599},
- dictWord{136, 0, 705},
- dictWord{
- 133,
- 0,
- 664,
- },
- dictWord{134, 11, 1749},
- dictWord{11, 11, 402},
- dictWord{12, 11, 109},
- dictWord{12, 11, 431},
- dictWord{13, 11, 179},
- dictWord{13, 11, 206},
- dictWord{14, 11, 175},
- dictWord{14, 11, 217},
- dictWord{16, 11, 3},
- dictWord{148, 11, 53},
- dictWord{135, 0, 1238},
- dictWord{134, 11, 1627},
- dictWord{
- 132,
- 11,
- 488,
- },
- dictWord{13, 0, 318},
- dictWord{10, 10, 592},
- dictWord{10, 10, 753},
- dictWord{12, 10, 317},
- dictWord{12, 10, 355},
- dictWord{12, 10, 465},
- dictWord{
- 12,
- 10,
- 469,
- },
- dictWord{12, 10, 560},
- dictWord{140, 10, 578},
- dictWord{133, 10, 564},
- dictWord{132, 11, 83},
- dictWord{140, 11, 676},
- dictWord{6, 0, 1872},
- dictWord{6, 0, 1906},
- dictWord{6, 0, 1907},
- dictWord{9, 0, 934},
- dictWord{9, 0, 956},
- dictWord{9, 0, 960},
- dictWord{9, 0, 996},
- dictWord{12, 0, 794},
- dictWord{
- 12,
- 0,
- 876,
- },
- dictWord{12, 0, 880},
- dictWord{12, 0, 918},
- dictWord{15, 0, 230},
- dictWord{18, 0, 234},
- dictWord{18, 0, 238},
- dictWord{21, 0, 38},
- dictWord{149, 0, 62},
- dictWord{134, 10, 556},
- dictWord{134, 11, 278},
- dictWord{137, 0, 103},
- dictWord{7, 10, 544},
- dictWord{8, 10, 719},
- dictWord{138, 10, 61},
- dictWord{
- 4,
- 10,
- 5,
- },
- dictWord{5, 10, 498},
- dictWord{8, 10, 637},
- dictWord{137, 10, 521},
- dictWord{7, 0, 777},
- dictWord{12, 0, 229},
- dictWord{12, 0, 239},
- dictWord{15, 0, 12},
- dictWord{12, 11, 229},
- dictWord{12, 11, 239},
- dictWord{143, 11, 12},
- dictWord{6, 0, 26},
- dictWord{7, 11, 388},
- dictWord{7, 11, 644},
- dictWord{139, 11, 781},
- dictWord{7, 11, 229},
- dictWord{8, 11, 59},
- dictWord{9, 11, 190},
- dictWord{9, 11, 257},
- dictWord{10, 11, 378},
- dictWord{140, 11, 191},
- dictWord{133, 10, 927},
- dictWord{135, 10, 1441},
- dictWord{4, 10, 893},
- dictWord{5, 10, 780},
- dictWord{133, 10, 893},
- dictWord{4, 0, 414},
- dictWord{5, 0, 467},
- dictWord{9, 0, 654},
- dictWord{10, 0, 451},
- dictWord{12, 0, 59},
- dictWord{141, 0, 375},
- dictWord{142, 0, 173},
- dictWord{135, 0, 17},
- dictWord{7, 0, 1350},
- dictWord{133, 10, 238},
- dictWord{135, 0, 955},
- dictWord{4, 0, 960},
- dictWord{10, 0, 887},
- dictWord{12, 0, 753},
- dictWord{18, 0, 161},
- dictWord{18, 0, 162},
- dictWord{152, 0, 19},
- dictWord{136, 11, 344},
- dictWord{6, 10, 1729},
- dictWord{137, 11, 288},
- dictWord{132, 11, 660},
- dictWord{4, 0, 217},
- dictWord{5, 0, 710},
- dictWord{7, 0, 760},
- dictWord{7, 0, 1926},
- dictWord{9, 0, 428},
- dictWord{9, 0, 708},
- dictWord{10, 0, 254},
- dictWord{10, 0, 296},
- dictWord{10, 0, 720},
- dictWord{11, 0, 109},
- dictWord{
- 11,
- 0,
- 255,
- },
- dictWord{12, 0, 165},
- dictWord{12, 0, 315},
- dictWord{13, 0, 107},
- dictWord{13, 0, 203},
- dictWord{14, 0, 54},
- dictWord{14, 0, 99},
- dictWord{14, 0, 114},
- dictWord{14, 0, 388},
- dictWord{16, 0, 85},
- dictWord{17, 0, 9},
- dictWord{17, 0, 33},
- dictWord{20, 0, 25},
- dictWord{20, 0, 28},
- dictWord{20, 0, 29},
- dictWord{21, 0, 9},
- dictWord{21, 0, 10},
- dictWord{21, 0, 34},
- dictWord{22, 0, 17},
- dictWord{4, 10, 60},
- dictWord{7, 10, 1800},
- dictWord{8, 10, 314},
- dictWord{9, 10, 700},
- dictWord{
- 139,
- 10,
- 487,
- },
- dictWord{7, 11, 1035},
- dictWord{138, 11, 737},
- dictWord{7, 11, 690},
- dictWord{9, 11, 217},
- dictWord{9, 11, 587},
- dictWord{140, 11, 521},
- dictWord{6, 0, 919},
- dictWord{7, 11, 706},
- dictWord{7, 11, 1058},
- dictWord{138, 11, 538},
- dictWord{7, 10, 1853},
- dictWord{138, 10, 437},
- dictWord{
- 136,
- 10,
- 419,
- },
- dictWord{6, 0, 280},
- dictWord{10, 0, 502},
- dictWord{11, 0, 344},
- dictWord{140, 0, 38},
- dictWord{5, 0, 45},
- dictWord{7, 0, 1161},
- dictWord{11, 0, 448},
- dictWord{11, 0, 880},
- dictWord{13, 0, 139},
- dictWord{13, 0, 407},
- dictWord{15, 0, 16},
- dictWord{17, 0, 95},
- dictWord{18, 0, 66},
- dictWord{18, 0, 88},
- dictWord{
- 18,
- 0,
- 123,
- },
- dictWord{149, 0, 7},
- dictWord{11, 11, 92},
- dictWord{11, 11, 196},
- dictWord{11, 11, 409},
- dictWord{11, 11, 450},
- dictWord{11, 11, 666},
- dictWord{
- 11,
- 11,
- 777,
- },
- dictWord{12, 11, 262},
- dictWord{13, 11, 385},
- dictWord{13, 11, 393},
- dictWord{15, 11, 115},
- dictWord{16, 11, 45},
- dictWord{145, 11, 82},
- dictWord{136, 0, 777},
- dictWord{134, 11, 1744},
- dictWord{4, 0, 410},
- dictWord{7, 0, 521},
- dictWord{133, 10, 828},
- dictWord{134, 0, 673},
- dictWord{7, 0, 1110},
- dictWord{7, 0, 1778},
- dictWord{7, 10, 176},
- dictWord{135, 10, 178},
- dictWord{5, 10, 806},
- dictWord{7, 11, 268},
- dictWord{7, 10, 1976},
- dictWord{
- 136,
- 11,
- 569,
- },
- dictWord{4, 11, 733},
- dictWord{9, 11, 194},
- dictWord{10, 11, 92},
- dictWord{11, 11, 198},
- dictWord{12, 11, 84},
- dictWord{12, 11, 87},
- dictWord{
- 13,
- 11,
- 128,
- },
- dictWord{144, 11, 74},
- dictWord{5, 0, 341},
- dictWord{7, 0, 1129},
- dictWord{11, 0, 414},
- dictWord{4, 10, 51},
- dictWord{6, 10, 4},
- dictWord{7, 10, 591},
- dictWord{7, 10, 849},
- dictWord{7, 10, 951},
- dictWord{7, 10, 1613},
- dictWord{7, 10, 1760},
- dictWord{7, 10, 1988},
- dictWord{9, 10, 434},
- dictWord{10, 10, 754},
- dictWord{11, 10, 25},
- dictWord{139, 10, 37},
- dictWord{133, 10, 902},
- dictWord{135, 10, 928},
- dictWord{135, 0, 787},
- dictWord{132, 0, 436},
- dictWord{
- 134,
- 10,
- 270,
- },
- dictWord{7, 0, 1587},
- dictWord{135, 0, 1707},
- dictWord{6, 0, 377},
- dictWord{7, 0, 1025},
- dictWord{9, 0, 613},
- dictWord{145, 0, 104},
- dictWord{
- 7,
- 11,
- 982,
- },
- dictWord{7, 11, 1361},
- dictWord{10, 11, 32},
- dictWord{143, 11, 56},
- dictWord{139, 0, 96},
- dictWord{132, 0, 451},
- dictWord{132, 10, 416},
- dictWord{
- 142,
- 10,
- 372,
- },
- dictWord{5, 10, 152},
- dictWord{5, 10, 197},
- dictWord{7, 11, 306},
- dictWord{7, 10, 340},
- dictWord{7, 10, 867},
- dictWord{10, 10, 548},
- dictWord{
- 10,
- 10,
- 581,
- },
- dictWord{11, 10, 6},
- dictWord{12, 10, 3},
- dictWord{12, 10, 19},
- dictWord{14, 10, 110},
- dictWord{142, 10, 289},
- dictWord{134, 0, 680},
- dictWord{
- 134,
- 11,
- 609,
- },
- dictWord{7, 0, 483},
- dictWord{7, 10, 190},
- dictWord{8, 10, 28},
- dictWord{8, 10, 141},
- dictWord{8, 10, 444},
- dictWord{8, 10, 811},
- dictWord{
- 9,
- 10,
- 468,
- },
- dictWord{11, 10, 334},
- dictWord{12, 10, 24},
- dictWord{12, 10, 386},
- dictWord{140, 10, 576},
- dictWord{10, 0, 916},
- dictWord{133, 10, 757},
- dictWord{
- 5,
- 10,
- 721,
- },
- dictWord{135, 10, 1553},
- dictWord{133, 11, 178},
- dictWord{134, 0, 937},
- dictWord{132, 10, 898},
- dictWord{133, 0, 739},
- dictWord{
- 147,
- 0,
- 82,
- },
- dictWord{135, 0, 663},
- dictWord{146, 0, 128},
- dictWord{5, 10, 277},
- dictWord{141, 10, 247},
- dictWord{134, 0, 1087},
- dictWord{132, 10, 435},
- dictWord{
- 6,
- 11,
- 381,
- },
- dictWord{7, 11, 645},
- dictWord{7, 11, 694},
- dictWord{136, 11, 546},
- dictWord{7, 0, 503},
- dictWord{135, 0, 1885},
- dictWord{6, 0, 1965},
- dictWord{
- 8,
- 0,
- 925,
- },
- dictWord{138, 0, 955},
- dictWord{4, 0, 113},
- dictWord{5, 0, 163},
- dictWord{5, 0, 735},
- dictWord{7, 0, 1009},
- dictWord{9, 0, 9},
- dictWord{9, 0, 771},
- dictWord{12, 0, 90},
- dictWord{13, 0, 138},
- dictWord{13, 0, 410},
- dictWord{143, 0, 128},
- dictWord{4, 0, 324},
- dictWord{138, 0, 104},
- dictWord{7, 0, 460},
- dictWord{
- 5,
- 10,
- 265,
- },
- dictWord{134, 10, 212},
- dictWord{133, 11, 105},
- dictWord{7, 11, 261},
- dictWord{7, 11, 1107},
- dictWord{7, 11, 1115},
- dictWord{7, 11, 1354},
- dictWord{7, 11, 1588},
- dictWord{7, 11, 1705},
- dictWord{7, 11, 1902},
- dictWord{9, 11, 465},
- dictWord{10, 11, 248},
- dictWord{10, 11, 349},
- dictWord{10, 11, 647},
- dictWord{11, 11, 527},
- dictWord{11, 11, 660},
- dictWord{11, 11, 669},
- dictWord{12, 11, 529},
- dictWord{141, 11, 305},
- dictWord{5, 11, 438},
- dictWord{
- 9,
- 11,
- 694,
- },
- dictWord{12, 11, 627},
- dictWord{141, 11, 210},
- dictWord{152, 11, 11},
- dictWord{4, 0, 935},
- dictWord{133, 0, 823},
- dictWord{132, 10, 702},
- dictWord{
- 5,
- 0,
- 269,
- },
- dictWord{7, 0, 434},
- dictWord{7, 0, 891},
- dictWord{8, 0, 339},
- dictWord{9, 0, 702},
- dictWord{11, 0, 594},
- dictWord{11, 0, 718},
- dictWord{17, 0, 100},
- dictWord{5, 10, 808},
- dictWord{135, 10, 2045},
- dictWord{7, 0, 1014},
- dictWord{9, 0, 485},
- dictWord{141, 0, 264},
- dictWord{134, 0, 1713},
- dictWord{7, 0, 1810},
- dictWord{11, 0, 866},
- dictWord{12, 0, 103},
- dictWord{13, 0, 495},
- dictWord{140, 11, 233},
- dictWord{4, 0, 423},
- dictWord{10, 0, 949},
- dictWord{138, 0, 1013},
- dictWord{135, 0, 900},
- dictWord{8, 11, 25},
- dictWord{138, 11, 826},
- dictWord{5, 10, 166},
- dictWord{8, 10, 739},
- dictWord{140, 10, 511},
- dictWord{
- 134,
- 0,
- 2018,
- },
- dictWord{7, 11, 1270},
- dictWord{139, 11, 612},
- dictWord{4, 10, 119},
- dictWord{5, 10, 170},
- dictWord{5, 10, 447},
- dictWord{7, 10, 1708},
- dictWord{
- 7,
- 10,
- 1889,
- },
- dictWord{9, 10, 357},
- dictWord{9, 10, 719},
- dictWord{12, 10, 486},
- dictWord{140, 10, 596},
- dictWord{12, 0, 574},
- dictWord{140, 11, 574},
- dictWord{132, 11, 308},
- dictWord{6, 0, 964},
- dictWord{6, 0, 1206},
- dictWord{134, 0, 1302},
- dictWord{4, 10, 450},
- dictWord{135, 10, 1158},
- dictWord{
- 135,
- 11,
- 150,
- },
- dictWord{136, 11, 649},
- dictWord{14, 0, 213},
- dictWord{148, 0, 38},
- dictWord{9, 11, 45},
- dictWord{9, 11, 311},
- dictWord{141, 11, 42},
- dictWord{
- 134,
- 11,
- 521,
- },
- dictWord{7, 10, 1375},
- dictWord{7, 10, 1466},
- dictWord{138, 10, 331},
- dictWord{132, 10, 754},
- dictWord{5, 11, 339},
- dictWord{7, 11, 1442},
- dictWord{14, 11, 3},
- dictWord{15, 11, 41},
- dictWord{147, 11, 66},
- dictWord{136, 11, 378},
- dictWord{134, 0, 1022},
- dictWord{5, 10, 850},
- dictWord{136, 10, 799},
- dictWord{142, 0, 143},
- dictWord{135, 0, 2029},
- dictWord{134, 11, 1628},
- dictWord{8, 0, 523},
- dictWord{150, 0, 34},
- dictWord{5, 0, 625},
- dictWord{
- 135,
- 0,
- 1617,
- },
- dictWord{7, 0, 275},
- dictWord{7, 10, 238},
- dictWord{7, 10, 2033},
- dictWord{8, 10, 120},
- dictWord{8, 10, 188},
- dictWord{8, 10, 659},
- dictWord{
- 9,
- 10,
- 598,
- },
- dictWord{10, 10, 466},
- dictWord{12, 10, 342},
- dictWord{12, 10, 588},
- dictWord{13, 10, 503},
- dictWord{14, 10, 246},
- dictWord{143, 10, 92},
- dictWord{
- 7,
- 0,
- 37,
- },
- dictWord{8, 0, 425},
- dictWord{8, 0, 693},
- dictWord{9, 0, 720},
- dictWord{10, 0, 380},
- dictWord{10, 0, 638},
- dictWord{11, 0, 273},
- dictWord{11, 0, 473},
- dictWord{12, 0, 61},
- dictWord{143, 0, 43},
- dictWord{135, 11, 829},
- dictWord{135, 0, 1943},
- dictWord{132, 0, 765},
- dictWord{5, 11, 486},
- dictWord{
- 135,
- 11,
- 1349,
- },
- dictWord{7, 11, 1635},
- dictWord{8, 11, 17},
- dictWord{10, 11, 217},
- dictWord{138, 11, 295},
- dictWord{4, 10, 201},
- dictWord{7, 10, 1744},
- dictWord{
- 8,
- 10,
- 602,
- },
- dictWord{11, 10, 247},
- dictWord{11, 10, 826},
- dictWord{145, 10, 65},
- dictWord{138, 11, 558},
- dictWord{11, 0, 551},
- dictWord{142, 0, 159},
- dictWord{8, 10, 164},
- dictWord{146, 10, 62},
- dictWord{139, 11, 176},
- dictWord{132, 0, 168},
- dictWord{136, 0, 1010},
- dictWord{134, 0, 1994},
- dictWord{
- 135,
- 0,
- 91,
- },
- dictWord{138, 0, 532},
- dictWord{135, 10, 1243},
- dictWord{135, 0, 1884},
- dictWord{132, 10, 907},
- dictWord{5, 10, 100},
- dictWord{10, 10, 329},
- dictWord{12, 10, 416},
- dictWord{149, 10, 29},
- dictWord{134, 11, 447},
- dictWord{132, 10, 176},
- dictWord{5, 10, 636},
- dictWord{5, 10, 998},
- dictWord{7, 10, 9},
- dictWord{7, 10, 1508},
- dictWord{8, 10, 26},
- dictWord{9, 10, 317},
- dictWord{9, 10, 358},
- dictWord{10, 10, 210},
- dictWord{10, 10, 292},
- dictWord{10, 10, 533},
- dictWord{11, 10, 555},
- dictWord{12, 10, 526},
- dictWord{12, 10, 607},
- dictWord{13, 10, 263},
- dictWord{13, 10, 459},
- dictWord{142, 10, 271},
- dictWord{
- 4,
- 11,
- 609,
- },
- dictWord{135, 11, 756},
- dictWord{6, 0, 15},
- dictWord{7, 0, 70},
- dictWord{10, 0, 240},
- dictWord{147, 0, 93},
- dictWord{4, 11, 930},
- dictWord{133, 11, 947},
- dictWord{134, 0, 1227},
- dictWord{134, 0, 1534},
- dictWord{133, 11, 939},
- dictWord{133, 11, 962},
- dictWord{5, 11, 651},
- dictWord{8, 11, 170},
- dictWord{
- 9,
- 11,
- 61,
- },
- dictWord{9, 11, 63},
- dictWord{10, 11, 23},
- dictWord{10, 11, 37},
- dictWord{10, 11, 834},
- dictWord{11, 11, 4},
- dictWord{11, 11, 187},
- dictWord{
- 11,
- 11,
- 281,
- },
- dictWord{11, 11, 503},
- dictWord{11, 11, 677},
- dictWord{12, 11, 96},
- dictWord{12, 11, 130},
- dictWord{12, 11, 244},
- dictWord{14, 11, 5},
- dictWord{
- 14,
- 11,
- 40,
- },
- dictWord{14, 11, 162},
- dictWord{14, 11, 202},
- dictWord{146, 11, 133},
- dictWord{4, 11, 406},
- dictWord{5, 11, 579},
- dictWord{12, 11, 492},
- dictWord{
- 150,
- 11,
- 15,
- },
- dictWord{139, 0, 392},
- dictWord{6, 10, 610},
- dictWord{10, 10, 127},
- dictWord{141, 10, 27},
- dictWord{7, 0, 655},
- dictWord{7, 0, 1844},
- dictWord{
- 136,
- 10,
- 119,
- },
- dictWord{4, 0, 145},
- dictWord{6, 0, 176},
- dictWord{7, 0, 395},
- dictWord{137, 0, 562},
- dictWord{132, 0, 501},
- dictWord{140, 11, 145},
- dictWord{
- 136,
- 0,
- 1019,
- },
- dictWord{134, 0, 509},
- dictWord{139, 0, 267},
- dictWord{6, 11, 17},
- dictWord{7, 11, 16},
- dictWord{7, 11, 1001},
- dictWord{7, 11, 1982},
- dictWord{
- 9,
- 11,
- 886,
- },
- dictWord{10, 11, 489},
- dictWord{10, 11, 800},
- dictWord{11, 11, 782},
- dictWord{12, 11, 320},
- dictWord{13, 11, 467},
- dictWord{14, 11, 145},
- dictWord{14, 11, 387},
- dictWord{143, 11, 119},
- dictWord{145, 11, 17},
- dictWord{6, 0, 1099},
- dictWord{133, 11, 458},
- dictWord{7, 11, 1983},
- dictWord{8, 11, 0},
- dictWord{8, 11, 171},
- dictWord{9, 11, 120},
- dictWord{9, 11, 732},
- dictWord{10, 11, 473},
- dictWord{11, 11, 656},
- dictWord{11, 11, 998},
- dictWord{18, 11, 0},
- dictWord{18, 11, 2},
- dictWord{147, 11, 21},
- dictWord{12, 11, 427},
- dictWord{146, 11, 38},
- dictWord{10, 0, 948},
- dictWord{138, 0, 968},
- dictWord{7, 10, 126},
- dictWord{136, 10, 84},
- dictWord{136, 10, 790},
- dictWord{4, 0, 114},
- dictWord{9, 0, 492},
- dictWord{13, 0, 462},
- dictWord{142, 0, 215},
- dictWord{6, 10, 64},
- dictWord{12, 10, 377},
- dictWord{141, 10, 309},
- dictWord{4, 0, 77},
- dictWord{5, 0, 361},
- dictWord{6, 0, 139},
- dictWord{6, 0, 401},
- dictWord{6, 0, 404},
- dictWord{
- 7,
- 0,
- 413,
- },
- dictWord{7, 0, 715},
- dictWord{7, 0, 1716},
- dictWord{11, 0, 279},
- dictWord{12, 0, 179},
- dictWord{12, 0, 258},
- dictWord{13, 0, 244},
- dictWord{142, 0, 358},
- dictWord{134, 0, 1717},
- dictWord{7, 0, 772},
- dictWord{7, 0, 1061},
- dictWord{7, 0, 1647},
- dictWord{8, 0, 82},
- dictWord{11, 0, 250},
- dictWord{11, 0, 607},
- dictWord{12, 0, 311},
- dictWord{12, 0, 420},
- dictWord{13, 0, 184},
- dictWord{13, 0, 367},
- dictWord{7, 10, 1104},
- dictWord{11, 10, 269},
- dictWord{11, 10, 539},
- dictWord{11, 10, 627},
- dictWord{11, 10, 706},
- dictWord{11, 10, 975},
- dictWord{12, 10, 248},
- dictWord{12, 10, 434},
- dictWord{12, 10, 600},
- dictWord{
- 12,
- 10,
- 622,
- },
- dictWord{13, 10, 297},
- dictWord{13, 10, 485},
- dictWord{14, 10, 69},
- dictWord{14, 10, 409},
- dictWord{143, 10, 108},
- dictWord{135, 0, 724},
- dictWord{
- 4,
- 11,
- 512,
- },
- dictWord{4, 11, 519},
- dictWord{133, 11, 342},
- dictWord{134, 0, 1133},
- dictWord{145, 11, 29},
- dictWord{11, 10, 977},
- dictWord{141, 10, 507},
- dictWord{6, 0, 841},
- dictWord{6, 0, 1042},
- dictWord{6, 0, 1194},
- dictWord{10, 0, 993},
- dictWord{140, 0, 1021},
- dictWord{6, 11, 31},
- dictWord{7, 11, 491},
- dictWord{7, 11, 530},
- dictWord{8, 11, 592},
- dictWord{9, 10, 34},
- dictWord{11, 11, 53},
- dictWord{11, 10, 484},
- dictWord{11, 11, 779},
- dictWord{12, 11, 167},
- dictWord{12, 11, 411},
- dictWord{14, 11, 14},
- dictWord{14, 11, 136},
- dictWord{15, 11, 72},
- dictWord{16, 11, 17},
- dictWord{144, 11, 72},
- dictWord{4, 0, 1021},
- dictWord{6, 0, 2037},
- dictWord{133, 11, 907},
- dictWord{7, 0, 373},
- dictWord{8, 0, 335},
- dictWord{8, 0, 596},
- dictWord{9, 0, 488},
- dictWord{6, 10, 1700},
- dictWord{
- 7,
- 10,
- 293,
- },
- dictWord{7, 10, 382},
- dictWord{7, 10, 1026},
- dictWord{7, 10, 1087},
- dictWord{7, 10, 2027},
- dictWord{8, 10, 252},
- dictWord{8, 10, 727},
- dictWord{
- 8,
- 10,
- 729,
- },
- dictWord{9, 10, 30},
- dictWord{9, 10, 199},
- dictWord{9, 10, 231},
- dictWord{9, 10, 251},
- dictWord{9, 10, 334},
- dictWord{9, 10, 361},
- dictWord{9, 10, 712},
- dictWord{10, 10, 55},
- dictWord{10, 10, 60},
- dictWord{10, 10, 232},
- dictWord{10, 10, 332},
- dictWord{10, 10, 384},
- dictWord{10, 10, 396},
- dictWord{
- 10,
- 10,
- 504,
- },
- dictWord{10, 10, 542},
- dictWord{10, 10, 652},
- dictWord{11, 10, 20},
- dictWord{11, 10, 48},
- dictWord{11, 10, 207},
- dictWord{11, 10, 291},
- dictWord{
- 11,
- 10,
- 298,
- },
- dictWord{11, 10, 342},
- dictWord{11, 10, 365},
- dictWord{11, 10, 394},
- dictWord{11, 10, 620},
- dictWord{11, 10, 705},
- dictWord{11, 10, 1017},
- dictWord{12, 10, 123},
- dictWord{12, 10, 340},
- dictWord{12, 10, 406},
- dictWord{12, 10, 643},
- dictWord{13, 10, 61},
- dictWord{13, 10, 269},
- dictWord{
- 13,
- 10,
- 311,
- },
- dictWord{13, 10, 319},
- dictWord{13, 10, 486},
- dictWord{14, 10, 234},
- dictWord{15, 10, 62},
- dictWord{15, 10, 85},
- dictWord{16, 10, 71},
- dictWord{
- 18,
- 10,
- 119,
- },
- dictWord{148, 10, 105},
- dictWord{150, 0, 37},
- dictWord{4, 11, 208},
- dictWord{5, 11, 106},
- dictWord{6, 11, 531},
- dictWord{8, 11, 408},
- dictWord{
- 9,
- 11,
- 188,
- },
- dictWord{138, 11, 572},
- dictWord{132, 0, 564},
- dictWord{6, 0, 513},
- dictWord{135, 0, 1052},
- dictWord{132, 0, 825},
- dictWord{9, 0, 899},
- dictWord{
- 140,
- 11,
- 441,
- },
- dictWord{134, 0, 778},
- dictWord{133, 11, 379},
- dictWord{7, 0, 1417},
- dictWord{12, 0, 382},
- dictWord{17, 0, 48},
- dictWord{152, 0, 12},
- dictWord{
- 132,
- 11,
- 241,
- },
- dictWord{7, 0, 1116},
- dictWord{6, 10, 379},
- dictWord{7, 10, 270},
- dictWord{8, 10, 176},
- dictWord{8, 10, 183},
- dictWord{9, 10, 432},
- dictWord{
- 9,
- 10,
- 661,
- },
- dictWord{12, 10, 247},
- dictWord{12, 10, 617},
- dictWord{146, 10, 125},
- dictWord{5, 10, 792},
- dictWord{133, 10, 900},
- dictWord{6, 0, 545},
- dictWord{
- 7,
- 0,
- 565,
- },
- dictWord{7, 0, 1669},
- dictWord{10, 0, 114},
- dictWord{11, 0, 642},
- dictWord{140, 0, 618},
- dictWord{133, 0, 5},
- dictWord{138, 11, 7},
- dictWord{
- 132,
- 11,
- 259,
- },
- dictWord{135, 0, 192},
- dictWord{134, 0, 701},
- dictWord{136, 0, 763},
- dictWord{135, 10, 1979},
- dictWord{4, 10, 901},
- dictWord{133, 10, 776},
- dictWord{10, 0, 755},
- dictWord{147, 0, 29},
- dictWord{133, 0, 759},
- dictWord{4, 11, 173},
- dictWord{5, 11, 312},
- dictWord{5, 11, 512},
- dictWord{135, 11, 1285},
- dictWord{7, 11, 1603},
- dictWord{7, 11, 1691},
- dictWord{9, 11, 464},
- dictWord{11, 11, 195},
- dictWord{12, 11, 279},
- dictWord{12, 11, 448},
- dictWord{
- 14,
- 11,
- 11,
- },
- dictWord{147, 11, 102},
- dictWord{7, 0, 370},
- dictWord{7, 0, 1007},
- dictWord{7, 0, 1177},
- dictWord{135, 0, 1565},
- dictWord{135, 0, 1237},
- dictWord{
- 4,
- 0,
- 87,
- },
- dictWord{5, 0, 250},
- dictWord{141, 0, 298},
- dictWord{4, 11, 452},
- dictWord{5, 11, 583},
- dictWord{5, 11, 817},
- dictWord{6, 11, 433},
- dictWord{7, 11, 593},
- dictWord{7, 11, 720},
- dictWord{7, 11, 1378},
- dictWord{8, 11, 161},
- dictWord{9, 11, 284},
- dictWord{10, 11, 313},
- dictWord{139, 11, 886},
- dictWord{4, 11, 547},
- dictWord{135, 11, 1409},
- dictWord{136, 11, 722},
- dictWord{4, 10, 37},
- dictWord{5, 10, 334},
- dictWord{135, 10, 1253},
- dictWord{132, 10, 508},
- dictWord{
- 12,
- 0,
- 107,
- },
- dictWord{146, 0, 31},
- dictWord{8, 11, 420},
- dictWord{139, 11, 193},
- dictWord{135, 0, 814},
- dictWord{135, 11, 409},
- dictWord{140, 0, 991},
- dictWord{4, 0, 57},
- dictWord{7, 0, 1195},
- dictWord{7, 0, 1438},
- dictWord{7, 0, 1548},
- dictWord{7, 0, 1835},
- dictWord{7, 0, 1904},
- dictWord{9, 0, 757},
- dictWord{
- 10,
- 0,
- 604,
- },
- dictWord{139, 0, 519},
- dictWord{132, 0, 540},
- dictWord{138, 11, 308},
- dictWord{132, 10, 533},
- dictWord{136, 0, 608},
- dictWord{144, 11, 65},
- dictWord{4, 0, 1014},
- dictWord{134, 0, 2029},
- dictWord{4, 0, 209},
- dictWord{7, 0, 902},
- dictWord{5, 11, 1002},
- dictWord{136, 11, 745},
- dictWord{134, 0, 2030},
- dictWord{6, 0, 303},
- dictWord{7, 0, 335},
- dictWord{7, 0, 1437},
- dictWord{7, 0, 1668},
- dictWord{8, 0, 553},
- dictWord{8, 0, 652},
- dictWord{8, 0, 656},
- dictWord{
- 9,
- 0,
- 558,
- },
- dictWord{11, 0, 743},
- dictWord{149, 0, 18},
- dictWord{5, 11, 575},
- dictWord{6, 11, 354},
- dictWord{135, 11, 701},
- dictWord{4, 11, 239},
- dictWord{
- 6,
- 11,
- 477,
- },
- dictWord{7, 11, 1607},
- dictWord{11, 11, 68},
- dictWord{139, 11, 617},
- dictWord{132, 0, 559},
- dictWord{8, 0, 527},
- dictWord{18, 0, 60},
- dictWord{
- 147,
- 0,
- 24,
- },
- dictWord{133, 10, 920},
- dictWord{138, 0, 511},
- dictWord{133, 0, 1017},
- dictWord{133, 0, 675},
- dictWord{138, 10, 391},
- dictWord{11, 0, 156},
- dictWord{135, 10, 1952},
- dictWord{138, 11, 369},
- dictWord{132, 11, 367},
- dictWord{133, 0, 709},
- dictWord{6, 0, 698},
- dictWord{134, 0, 887},
- dictWord{
- 142,
- 10,
- 126,
- },
- dictWord{134, 0, 1745},
- dictWord{132, 10, 483},
- dictWord{13, 11, 299},
- dictWord{142, 11, 75},
- dictWord{133, 0, 714},
- dictWord{7, 0, 8},
- dictWord{
- 136,
- 0,
- 206,
- },
- dictWord{138, 10, 480},
- dictWord{4, 11, 694},
- dictWord{9, 10, 495},
- dictWord{146, 10, 104},
- dictWord{7, 11, 1248},
- dictWord{11, 11, 621},
- dictWord{139, 11, 702},
- dictWord{140, 11, 687},
- dictWord{132, 0, 776},
- dictWord{139, 10, 1009},
- dictWord{135, 0, 1272},
- dictWord{134, 0, 1059},
- dictWord{
- 8,
- 10,
- 653,
- },
- dictWord{13, 10, 93},
- dictWord{147, 10, 14},
- dictWord{135, 11, 213},
- dictWord{136, 0, 406},
- dictWord{133, 10, 172},
- dictWord{132, 0, 947},
- dictWord{8, 0, 175},
- dictWord{10, 0, 168},
- dictWord{138, 0, 573},
- dictWord{132, 0, 870},
- dictWord{6, 0, 1567},
- dictWord{151, 11, 28},
- dictWord{
- 134,
- 11,
- 472,
- },
- dictWord{5, 10, 260},
- dictWord{136, 11, 132},
- dictWord{4, 11, 751},
- dictWord{11, 11, 390},
- dictWord{140, 11, 32},
- dictWord{4, 11, 409},
- dictWord{
- 133,
- 11,
- 78,
- },
- dictWord{12, 0, 554},
- dictWord{6, 11, 473},
- dictWord{145, 11, 105},
- dictWord{133, 0, 784},
- dictWord{8, 0, 908},
- dictWord{136, 11, 306},
- dictWord{139, 0, 882},
- dictWord{6, 0, 358},
- dictWord{7, 0, 1393},
- dictWord{8, 0, 396},
- dictWord{10, 0, 263},
- dictWord{14, 0, 154},
- dictWord{16, 0, 48},
- dictWord{
- 17,
- 0,
- 8,
- },
- dictWord{7, 11, 1759},
- dictWord{8, 11, 396},
- dictWord{10, 11, 263},
- dictWord{14, 11, 154},
- dictWord{16, 11, 48},
- dictWord{145, 11, 8},
- dictWord{
- 13,
- 11,
- 163,
- },
- dictWord{13, 11, 180},
- dictWord{18, 11, 78},
- dictWord{148, 11, 35},
- dictWord{14, 0, 32},
- dictWord{18, 0, 85},
- dictWord{20, 0, 2},
- dictWord{152, 0, 16},
- dictWord{7, 0, 228},
- dictWord{10, 0, 770},
- dictWord{8, 10, 167},
- dictWord{8, 10, 375},
- dictWord{9, 10, 82},
- dictWord{9, 10, 561},
- dictWord{138, 10, 620},
- dictWord{132, 0, 845},
- dictWord{9, 0, 14},
- dictWord{9, 0, 441},
- dictWord{10, 0, 306},
- dictWord{139, 0, 9},
- dictWord{11, 0, 966},
- dictWord{12, 0, 287},
- dictWord{
- 13,
- 0,
- 342,
- },
- dictWord{13, 0, 402},
- dictWord{15, 0, 110},
- dictWord{15, 0, 163},
- dictWord{8, 10, 194},
- dictWord{136, 10, 756},
- dictWord{134, 0, 1578},
- dictWord{
- 4,
- 0,
- 967,
- },
- dictWord{6, 0, 1820},
- dictWord{6, 0, 1847},
- dictWord{140, 0, 716},
- dictWord{136, 0, 594},
- dictWord{7, 0, 1428},
- dictWord{7, 0, 1640},
- dictWord{
- 7,
- 0,
- 1867,
- },
- dictWord{9, 0, 169},
- dictWord{9, 0, 182},
- dictWord{9, 0, 367},
- dictWord{9, 0, 478},
- dictWord{9, 0, 506},
- dictWord{9, 0, 551},
- dictWord{9, 0, 557},
- dictWord{
- 9,
- 0,
- 648,
- },
- dictWord{9, 0, 697},
- dictWord{9, 0, 705},
- dictWord{9, 0, 725},
- dictWord{9, 0, 787},
- dictWord{9, 0, 794},
- dictWord{10, 0, 198},
- dictWord{10, 0, 214},
- dictWord{10, 0, 267},
- dictWord{10, 0, 275},
- dictWord{10, 0, 456},
- dictWord{10, 0, 551},
- dictWord{10, 0, 561},
- dictWord{10, 0, 613},
- dictWord{10, 0, 627},
- dictWord{
- 10,
- 0,
- 668,
- },
- dictWord{10, 0, 675},
- dictWord{10, 0, 691},
- dictWord{10, 0, 695},
- dictWord{10, 0, 707},
- dictWord{10, 0, 715},
- dictWord{11, 0, 183},
- dictWord{
- 11,
- 0,
- 201,
- },
- dictWord{11, 0, 244},
- dictWord{11, 0, 262},
- dictWord{11, 0, 352},
- dictWord{11, 0, 439},
- dictWord{11, 0, 493},
- dictWord{11, 0, 572},
- dictWord{11, 0, 591},
- dictWord{11, 0, 608},
- dictWord{11, 0, 611},
- dictWord{11, 0, 646},
- dictWord{11, 0, 674},
- dictWord{11, 0, 711},
- dictWord{11, 0, 751},
- dictWord{11, 0, 761},
- dictWord{11, 0, 776},
- dictWord{11, 0, 785},
- dictWord{11, 0, 850},
- dictWord{11, 0, 853},
- dictWord{11, 0, 862},
- dictWord{11, 0, 865},
- dictWord{11, 0, 868},
- dictWord{
- 11,
- 0,
- 875,
- },
- dictWord{11, 0, 898},
- dictWord{11, 0, 902},
- dictWord{11, 0, 903},
- dictWord{11, 0, 910},
- dictWord{11, 0, 932},
- dictWord{11, 0, 942},
- dictWord{
- 11,
- 0,
- 957,
- },
- dictWord{11, 0, 967},
- dictWord{11, 0, 972},
- dictWord{12, 0, 148},
- dictWord{12, 0, 195},
- dictWord{12, 0, 220},
- dictWord{12, 0, 237},
- dictWord{12, 0, 318},
- dictWord{12, 0, 339},
- dictWord{12, 0, 393},
- dictWord{12, 0, 445},
- dictWord{12, 0, 450},
- dictWord{12, 0, 474},
- dictWord{12, 0, 505},
- dictWord{12, 0, 509},
- dictWord{12, 0, 533},
- dictWord{12, 0, 591},
- dictWord{12, 0, 594},
- dictWord{12, 0, 597},
- dictWord{12, 0, 621},
- dictWord{12, 0, 633},
- dictWord{12, 0, 642},
- dictWord{
- 13,
- 0,
- 59,
- },
- dictWord{13, 0, 60},
- dictWord{13, 0, 145},
- dictWord{13, 0, 239},
- dictWord{13, 0, 250},
- dictWord{13, 0, 329},
- dictWord{13, 0, 344},
- dictWord{13, 0, 365},
- dictWord{13, 0, 372},
- dictWord{13, 0, 387},
- dictWord{13, 0, 403},
- dictWord{13, 0, 414},
- dictWord{13, 0, 456},
- dictWord{13, 0, 470},
- dictWord{13, 0, 478},
- dictWord{13, 0, 483},
- dictWord{13, 0, 489},
- dictWord{14, 0, 55},
- dictWord{14, 0, 57},
- dictWord{14, 0, 81},
- dictWord{14, 0, 90},
- dictWord{14, 0, 148},
- dictWord{
- 14,
- 0,
- 239,
- },
- dictWord{14, 0, 266},
- dictWord{14, 0, 321},
- dictWord{14, 0, 326},
- dictWord{14, 0, 327},
- dictWord{14, 0, 330},
- dictWord{14, 0, 347},
- dictWord{14, 0, 355},
- dictWord{14, 0, 401},
- dictWord{14, 0, 404},
- dictWord{14, 0, 411},
- dictWord{14, 0, 414},
- dictWord{14, 0, 416},
- dictWord{14, 0, 420},
- dictWord{15, 0, 61},
- dictWord{15, 0, 74},
- dictWord{15, 0, 87},
- dictWord{15, 0, 88},
- dictWord{15, 0, 94},
- dictWord{15, 0, 96},
- dictWord{15, 0, 116},
- dictWord{15, 0, 149},
- dictWord{15, 0, 154},
- dictWord{16, 0, 50},
- dictWord{16, 0, 63},
- dictWord{16, 0, 73},
- dictWord{17, 0, 2},
- dictWord{17, 0, 66},
- dictWord{17, 0, 92},
- dictWord{17, 0, 103},
- dictWord{
- 17,
- 0,
- 112,
- },
- dictWord{17, 0, 120},
- dictWord{18, 0, 50},
- dictWord{18, 0, 54},
- dictWord{18, 0, 82},
- dictWord{18, 0, 86},
- dictWord{18, 0, 90},
- dictWord{18, 0, 111},
- dictWord{
- 18,
- 0,
- 115,
- },
- dictWord{18, 0, 156},
- dictWord{19, 0, 40},
- dictWord{19, 0, 79},
- dictWord{20, 0, 78},
- dictWord{21, 0, 22},
- dictWord{135, 11, 883},
- dictWord{5, 0, 161},
- dictWord{135, 0, 839},
- dictWord{4, 0, 782},
- dictWord{13, 11, 293},
- dictWord{142, 11, 56},
- dictWord{133, 11, 617},
- dictWord{139, 11, 50},
- dictWord{
- 135,
- 10,
- 22,
- },
- dictWord{145, 0, 64},
- dictWord{5, 10, 639},
- dictWord{7, 10, 1249},
- dictWord{139, 10, 896},
- dictWord{138, 0, 998},
- dictWord{135, 11, 2042},
- dictWord{
- 4,
- 11,
- 546,
- },
- dictWord{142, 11, 233},
- dictWord{6, 0, 1043},
- dictWord{134, 0, 1574},
- dictWord{134, 0, 1496},
- dictWord{4, 10, 102},
- dictWord{7, 10, 815},
- dictWord{7, 10, 1699},
- dictWord{139, 10, 964},
- dictWord{12, 0, 781},
- dictWord{142, 0, 461},
- dictWord{4, 11, 313},
- dictWord{133, 11, 577},
- dictWord{
- 6,
- 0,
- 639,
- },
- dictWord{6, 0, 1114},
- dictWord{137, 0, 817},
- dictWord{8, 11, 184},
- dictWord{141, 11, 433},
- dictWord{7, 0, 1814},
- dictWord{135, 11, 935},
- dictWord{
- 10,
- 0,
- 997,
- },
- dictWord{140, 0, 958},
- dictWord{4, 0, 812},
- dictWord{137, 11, 625},
- dictWord{132, 10, 899},
- dictWord{136, 10, 795},
- dictWord{5, 11, 886},
- dictWord{6, 11, 46},
- dictWord{6, 11, 1790},
- dictWord{7, 11, 14},
- dictWord{7, 11, 732},
- dictWord{7, 11, 1654},
- dictWord{8, 11, 95},
- dictWord{8, 11, 327},
- dictWord{
- 8,
- 11,
- 616,
- },
- dictWord{10, 11, 598},
- dictWord{10, 11, 769},
- dictWord{11, 11, 134},
- dictWord{11, 11, 747},
- dictWord{12, 11, 378},
- dictWord{142, 11, 97},
- dictWord{136, 0, 139},
- dictWord{6, 10, 52},
- dictWord{9, 10, 104},
- dictWord{9, 10, 559},
- dictWord{12, 10, 308},
- dictWord{147, 10, 87},
- dictWord{133, 11, 1021},
- dictWord{132, 10, 604},
- dictWord{132, 10, 301},
- dictWord{136, 10, 779},
- dictWord{7, 0, 643},
- dictWord{136, 0, 236},
- dictWord{132, 11, 153},
- dictWord{
- 134,
- 0,
- 1172,
- },
- dictWord{147, 10, 32},
- dictWord{133, 11, 798},
- dictWord{6, 0, 1338},
- dictWord{132, 11, 587},
- dictWord{6, 11, 598},
- dictWord{7, 11, 42},
- dictWord{
- 8,
- 11,
- 695,
- },
- dictWord{10, 11, 212},
- dictWord{11, 11, 158},
- dictWord{14, 11, 196},
- dictWord{145, 11, 85},
- dictWord{135, 10, 508},
- dictWord{5, 11, 957},
- dictWord{5, 11, 1008},
- dictWord{135, 11, 249},
- dictWord{4, 11, 129},
- dictWord{135, 11, 465},
- dictWord{5, 0, 54},
- dictWord{7, 11, 470},
- dictWord{7, 11, 1057},
- dictWord{7, 11, 1201},
- dictWord{9, 11, 755},
- dictWord{11, 11, 906},
- dictWord{140, 11, 527},
- dictWord{7, 11, 908},
- dictWord{146, 11, 7},
- dictWord{
- 5,
- 11,
- 148,
- },
- dictWord{136, 11, 450},
- dictWord{144, 11, 1},
- dictWord{4, 0, 256},
- dictWord{135, 0, 1488},
- dictWord{9, 0, 351},
- dictWord{6, 10, 310},
- dictWord{
- 7,
- 10,
- 1849,
- },
- dictWord{8, 10, 72},
- dictWord{8, 10, 272},
- dictWord{8, 10, 431},
- dictWord{9, 10, 12},
- dictWord{10, 10, 563},
- dictWord{10, 10, 630},
- dictWord{
- 10,
- 10,
- 796,
- },
- dictWord{10, 10, 810},
- dictWord{11, 10, 367},
- dictWord{11, 10, 599},
- dictWord{11, 10, 686},
- dictWord{140, 10, 672},
- dictWord{6, 0, 1885},
- dictWord{
- 6,
- 0,
- 1898,
- },
- dictWord{6, 0, 1899},
- dictWord{140, 0, 955},
- dictWord{4, 0, 714},
- dictWord{133, 0, 469},
- dictWord{6, 0, 1270},
- dictWord{134, 0, 1456},
- dictWord{132, 0, 744},
- dictWord{6, 0, 313},
- dictWord{7, 10, 537},
- dictWord{8, 10, 64},
- dictWord{9, 10, 127},
- dictWord{10, 10, 496},
- dictWord{12, 10, 510},
- dictWord{141, 10, 384},
- dictWord{4, 11, 217},
- dictWord{4, 10, 244},
- dictWord{5, 11, 710},
- dictWord{7, 10, 233},
- dictWord{7, 11, 1926},
- dictWord{9, 11, 428},
- dictWord{9, 11, 708},
- dictWord{10, 11, 254},
- dictWord{10, 11, 296},
- dictWord{10, 11, 720},
- dictWord{11, 11, 109},
- dictWord{11, 11, 255},
- dictWord{12, 11, 165},
- dictWord{12, 11, 315},
- dictWord{13, 11, 107},
- dictWord{13, 11, 203},
- dictWord{14, 11, 54},
- dictWord{14, 11, 99},
- dictWord{14, 11, 114},
- dictWord{
- 14,
- 11,
- 388,
- },
- dictWord{16, 11, 85},
- dictWord{17, 11, 9},
- dictWord{17, 11, 33},
- dictWord{20, 11, 25},
- dictWord{20, 11, 28},
- dictWord{20, 11, 29},
- dictWord{21, 11, 9},
- dictWord{21, 11, 10},
- dictWord{21, 11, 34},
- dictWord{150, 11, 17},
- dictWord{138, 0, 402},
- dictWord{7, 0, 969},
- dictWord{146, 0, 55},
- dictWord{8, 0, 50},
- dictWord{
- 137,
- 0,
- 624,
- },
- dictWord{134, 0, 1355},
- dictWord{132, 0, 572},
- dictWord{134, 10, 1650},
- dictWord{10, 10, 702},
- dictWord{139, 10, 245},
- dictWord{
- 10,
- 0,
- 847,
- },
- dictWord{142, 0, 445},
- dictWord{6, 0, 43},
- dictWord{7, 0, 38},
- dictWord{8, 0, 248},
- dictWord{138, 0, 513},
- dictWord{133, 0, 369},
- dictWord{137, 10, 338},
- dictWord{133, 0, 766},
- dictWord{133, 0, 363},
- dictWord{133, 10, 896},
- dictWord{8, 11, 392},
- dictWord{11, 11, 54},
- dictWord{13, 11, 173},
- dictWord{
- 13,
- 11,
- 294,
- },
- dictWord{148, 11, 7},
- dictWord{134, 0, 678},
- dictWord{7, 11, 1230},
- dictWord{136, 11, 531},
- dictWord{6, 0, 258},
- dictWord{140, 0, 409},
- dictWord{
- 5,
- 0,
- 249,
- },
- dictWord{148, 0, 82},
- dictWord{7, 10, 1117},
- dictWord{136, 10, 539},
- dictWord{5, 0, 393},
- dictWord{6, 0, 378},
- dictWord{7, 0, 1981},
- dictWord{9, 0, 32},
- dictWord{9, 0, 591},
- dictWord{10, 0, 685},
- dictWord{10, 0, 741},
- dictWord{142, 0, 382},
- dictWord{133, 0, 788},
- dictWord{134, 0, 1281},
- dictWord{
- 134,
- 0,
- 1295,
- },
- dictWord{7, 0, 1968},
- dictWord{141, 0, 509},
- dictWord{4, 0, 61},
- dictWord{5, 0, 58},
- dictWord{5, 0, 171},
- dictWord{5, 0, 683},
- dictWord{6, 0, 291},
- dictWord{
- 6,
- 0,
- 566,
- },
- dictWord{7, 0, 1650},
- dictWord{11, 0, 523},
- dictWord{12, 0, 273},
- dictWord{12, 0, 303},
- dictWord{15, 0, 39},
- dictWord{143, 0, 111},
- dictWord{
- 6,
- 0,
- 706,
- },
- dictWord{134, 0, 1283},
- dictWord{134, 0, 589},
- dictWord{135, 11, 1433},
- dictWord{133, 11, 435},
- dictWord{7, 0, 1059},
- dictWord{13, 0, 54},
- dictWord{
- 5,
- 10,
- 4,
- },
- dictWord{5, 10, 810},
- dictWord{6, 10, 13},
- dictWord{6, 10, 538},
- dictWord{6, 10, 1690},
- dictWord{6, 10, 1726},
- dictWord{7, 10, 1819},
- dictWord{
- 8,
- 10,
- 148,
- },
- dictWord{8, 10, 696},
- dictWord{8, 10, 791},
- dictWord{12, 10, 125},
- dictWord{143, 10, 9},
- dictWord{135, 10, 1268},
- dictWord{5, 11, 85},
- dictWord{
- 6,
- 11,
- 419,
- },
- dictWord{7, 11, 134},
- dictWord{7, 11, 305},
- dictWord{7, 11, 361},
- dictWord{7, 11, 1337},
- dictWord{8, 11, 71},
- dictWord{140, 11, 519},
- dictWord{
- 137,
- 0,
- 824,
- },
- dictWord{140, 11, 688},
- dictWord{5, 11, 691},
- dictWord{7, 11, 345},
- dictWord{7, 10, 1385},
- dictWord{9, 11, 94},
- dictWord{11, 10, 582},
- dictWord{
- 11,
- 10,
- 650,
- },
- dictWord{11, 10, 901},
- dictWord{11, 10, 949},
- dictWord{12, 11, 169},
- dictWord{12, 10, 232},
- dictWord{12, 10, 236},
- dictWord{13, 10, 413},
- dictWord{13, 10, 501},
- dictWord{146, 10, 116},
- dictWord{4, 0, 917},
- dictWord{133, 0, 1005},
- dictWord{7, 0, 1598},
- dictWord{5, 11, 183},
- dictWord{6, 11, 582},
- dictWord{9, 11, 344},
- dictWord{10, 11, 679},
- dictWord{140, 11, 435},
- dictWord{4, 10, 925},
- dictWord{5, 10, 803},
- dictWord{8, 10, 698},
- dictWord{
- 138,
- 10,
- 828,
- },
- dictWord{132, 0, 919},
- dictWord{135, 11, 511},
- dictWord{139, 10, 992},
- dictWord{4, 0, 255},
- dictWord{5, 0, 302},
- dictWord{6, 0, 132},
- dictWord{
- 7,
- 0,
- 128,
- },
- dictWord{7, 0, 283},
- dictWord{7, 0, 1299},
- dictWord{10, 0, 52},
- dictWord{10, 0, 514},
- dictWord{11, 0, 925},
- dictWord{13, 0, 92},
- dictWord{142, 0, 309},
- dictWord{134, 0, 1369},
- dictWord{135, 10, 1847},
- dictWord{134, 0, 328},
- dictWord{7, 11, 1993},
- dictWord{136, 11, 684},
- dictWord{133, 10, 383},
- dictWord{137, 0, 173},
- dictWord{134, 11, 583},
- dictWord{134, 0, 1411},
- dictWord{19, 0, 65},
- dictWord{5, 11, 704},
- dictWord{8, 11, 357},
- dictWord{10, 11, 745},
- dictWord{14, 11, 426},
- dictWord{17, 11, 94},
- dictWord{147, 11, 57},
- dictWord{9, 10, 660},
- dictWord{138, 10, 347},
- dictWord{4, 11, 179},
- dictWord{5, 11, 198},
- dictWord{133, 11, 697},
- dictWord{7, 11, 347},
- dictWord{7, 11, 971},
- dictWord{8, 11, 181},
- dictWord{138, 11, 711},
- dictWord{141, 0, 442},
- dictWord{
- 11,
- 0,
- 842,
- },
- dictWord{11, 0, 924},
- dictWord{13, 0, 317},
- dictWord{13, 0, 370},
- dictWord{13, 0, 469},
- dictWord{13, 0, 471},
- dictWord{14, 0, 397},
- dictWord{18, 0, 69},
- dictWord{18, 0, 145},
- dictWord{7, 10, 572},
- dictWord{9, 10, 592},
- dictWord{11, 10, 680},
- dictWord{12, 10, 356},
- dictWord{140, 10, 550},
- dictWord{14, 11, 19},
- dictWord{14, 11, 28},
- dictWord{144, 11, 29},
- dictWord{136, 0, 534},
- dictWord{4, 11, 243},
- dictWord{5, 11, 203},
- dictWord{7, 11, 19},
- dictWord{7, 11, 71},
- dictWord{7, 11, 113},
- dictWord{10, 11, 405},
- dictWord{11, 11, 357},
- dictWord{142, 11, 240},
- dictWord{6, 0, 210},
- dictWord{10, 0, 845},
- dictWord{138, 0, 862},
- dictWord{7, 11, 1351},
- dictWord{9, 11, 581},
- dictWord{10, 11, 639},
- dictWord{11, 11, 453},
- dictWord{140, 11, 584},
- dictWord{7, 11, 1450},
- dictWord{
- 139,
- 11,
- 99,
- },
- dictWord{10, 0, 892},
- dictWord{12, 0, 719},
- dictWord{144, 0, 105},
- dictWord{4, 0, 284},
- dictWord{6, 0, 223},
- dictWord{134, 11, 492},
- dictWord{5, 11, 134},
- dictWord{6, 11, 408},
- dictWord{6, 11, 495},
- dictWord{135, 11, 1593},
- dictWord{136, 0, 529},
- dictWord{137, 0, 807},
- dictWord{4, 0, 218},
- dictWord{7, 0, 526},
- dictWord{143, 0, 137},
- dictWord{6, 0, 1444},
- dictWord{142, 11, 4},
- dictWord{132, 11, 665},
- dictWord{4, 0, 270},
- dictWord{5, 0, 192},
- dictWord{6, 0, 332},
- dictWord{7, 0, 1322},
- dictWord{4, 11, 248},
- dictWord{7, 11, 137},
- dictWord{137, 11, 349},
- dictWord{140, 0, 661},
- dictWord{7, 0, 1517},
- dictWord{11, 0, 597},
- dictWord{14, 0, 76},
- dictWord{14, 0, 335},
- dictWord{20, 0, 33},
- dictWord{7, 10, 748},
- dictWord{139, 10, 700},
- dictWord{5, 11, 371},
- dictWord{135, 11, 563},
- dictWord{146, 11, 57},
- dictWord{133, 10, 127},
- dictWord{133, 0, 418},
- dictWord{4, 11, 374},
- dictWord{7, 11, 547},
- dictWord{7, 11, 1700},
- dictWord{7, 11, 1833},
- dictWord{139, 11, 858},
- dictWord{6, 10, 198},
- dictWord{140, 10, 83},
- dictWord{7, 11, 1812},
- dictWord{13, 11, 259},
- dictWord{13, 11, 356},
- dictWord{
- 14,
- 11,
- 242,
- },
- dictWord{147, 11, 114},
- dictWord{7, 0, 379},
- dictWord{8, 0, 481},
- dictWord{9, 0, 377},
- dictWord{5, 10, 276},
- dictWord{6, 10, 55},
- dictWord{
- 135,
- 10,
- 1369,
- },
- dictWord{138, 11, 286},
- dictWord{5, 0, 1003},
- dictWord{6, 0, 149},
- dictWord{6, 10, 1752},
- dictWord{136, 10, 726},
- dictWord{8, 0, 262},
- dictWord{
- 9,
- 0,
- 627,
- },
- dictWord{10, 0, 18},
- dictWord{11, 0, 214},
- dictWord{11, 0, 404},
- dictWord{11, 0, 457},
- dictWord{11, 0, 780},
- dictWord{11, 0, 913},
- dictWord{13, 0, 401},
- dictWord{14, 0, 200},
- dictWord{6, 11, 1647},
- dictWord{7, 11, 1552},
- dictWord{7, 11, 2010},
- dictWord{9, 11, 494},
- dictWord{137, 11, 509},
- dictWord{
- 135,
- 0,
- 742,
- },
- dictWord{136, 0, 304},
- dictWord{132, 0, 142},
- dictWord{133, 10, 764},
- dictWord{6, 10, 309},
- dictWord{7, 10, 331},
- dictWord{138, 10, 550},
- dictWord{135, 10, 1062},
- dictWord{6, 11, 123},
- dictWord{7, 11, 214},
- dictWord{7, 10, 986},
- dictWord{9, 11, 728},
- dictWord{10, 11, 157},
- dictWord{11, 11, 346},
- dictWord{11, 11, 662},
- dictWord{143, 11, 106},
- dictWord{135, 10, 1573},
- dictWord{7, 0, 925},
- dictWord{137, 0, 799},
- dictWord{4, 0, 471},
- dictWord{5, 0, 51},
- dictWord{6, 0, 602},
- dictWord{8, 0, 484},
- dictWord{138, 0, 195},
- dictWord{136, 0, 688},
- dictWord{132, 0, 697},
- dictWord{6, 0, 1169},
- dictWord{6, 0, 1241},
- dictWord{6, 10, 194},
- dictWord{7, 10, 133},
- dictWord{10, 10, 493},
- dictWord{10, 10, 570},
- dictWord{139, 10, 664},
- dictWord{140, 0, 751},
- dictWord{7, 0, 929},
- dictWord{10, 0, 452},
- dictWord{11, 0, 878},
- dictWord{16, 0, 33},
- dictWord{5, 10, 24},
- dictWord{5, 10, 569},
- dictWord{6, 10, 3},
- dictWord{6, 10, 119},
- dictWord{
- 6,
- 10,
- 143,
- },
- dictWord{6, 10, 440},
- dictWord{7, 10, 599},
- dictWord{7, 10, 1686},
- dictWord{7, 10, 1854},
- dictWord{8, 10, 424},
- dictWord{9, 10, 43},
- dictWord{
- 9,
- 10,
- 584,
- },
- dictWord{9, 10, 760},
- dictWord{10, 10, 328},
- dictWord{11, 10, 159},
- dictWord{11, 10, 253},
- dictWord{12, 10, 487},
- dictWord{140, 10, 531},
- dictWord{
- 4,
- 11,
- 707,
- },
- dictWord{13, 11, 106},
- dictWord{18, 11, 49},
- dictWord{147, 11, 41},
- dictWord{5, 0, 221},
- dictWord{5, 11, 588},
- dictWord{134, 11, 393},
- dictWord{134, 0, 1437},
- dictWord{6, 11, 211},
- dictWord{7, 11, 1690},
- dictWord{11, 11, 486},
- dictWord{140, 11, 369},
- dictWord{5, 10, 14},
- dictWord{5, 10, 892},
- dictWord{6, 10, 283},
- dictWord{7, 10, 234},
- dictWord{136, 10, 537},
- dictWord{4, 0, 988},
- dictWord{136, 0, 955},
- dictWord{135, 0, 1251},
- dictWord{4, 10, 126},
- dictWord{8, 10, 635},
- dictWord{147, 10, 34},
- dictWord{4, 10, 316},
- dictWord{135, 10, 1561},
- dictWord{137, 10, 861},
- dictWord{4, 10, 64},
- dictWord{
- 5,
- 10,
- 352,
- },
- dictWord{5, 10, 720},
- dictWord{6, 10, 368},
- dictWord{139, 10, 359},
- dictWord{134, 0, 192},
- dictWord{4, 0, 132},
- dictWord{5, 0, 69},
- dictWord{
- 135,
- 0,
- 1242,
- },
- dictWord{7, 10, 1577},
- dictWord{10, 10, 304},
- dictWord{10, 10, 549},
- dictWord{12, 10, 365},
- dictWord{13, 10, 220},
- dictWord{13, 10, 240},
- dictWord{142, 10, 33},
- dictWord{4, 0, 111},
- dictWord{7, 0, 865},
- dictWord{134, 11, 219},
- dictWord{5, 11, 582},
- dictWord{6, 11, 1646},
- dictWord{7, 11, 99},
- dictWord{
- 7,
- 11,
- 1962,
- },
- dictWord{7, 11, 1986},
- dictWord{8, 11, 515},
- dictWord{8, 11, 773},
- dictWord{9, 11, 23},
- dictWord{9, 11, 491},
- dictWord{12, 11, 620},
- dictWord{
- 14,
- 11,
- 52,
- },
- dictWord{145, 11, 50},
- dictWord{132, 0, 767},
- dictWord{7, 11, 568},
- dictWord{148, 11, 21},
- dictWord{6, 0, 42},
- dictWord{7, 0, 1416},
- dictWord{
- 7,
- 0,
- 2005,
- },
- dictWord{8, 0, 131},
- dictWord{8, 0, 466},
- dictWord{9, 0, 672},
- dictWord{13, 0, 252},
- dictWord{20, 0, 103},
- dictWord{133, 11, 851},
- dictWord{
- 135,
- 0,
- 1050,
- },
- dictWord{6, 10, 175},
- dictWord{137, 10, 289},
- dictWord{5, 10, 432},
- dictWord{133, 10, 913},
- dictWord{6, 0, 44},
- dictWord{136, 0, 368},
- dictWord{
- 135,
- 11,
- 784,
- },
- dictWord{132, 0, 570},
- dictWord{133, 0, 120},
- dictWord{139, 10, 595},
- dictWord{140, 0, 29},
- dictWord{6, 0, 227},
- dictWord{135, 0, 1589},
- dictWord{4, 11, 98},
- dictWord{7, 11, 1365},
- dictWord{9, 11, 422},
- dictWord{9, 11, 670},
- dictWord{10, 11, 775},
- dictWord{11, 11, 210},
- dictWord{13, 11, 26},
- dictWord{13, 11, 457},
- dictWord{141, 11, 476},
- dictWord{140, 10, 80},
- dictWord{5, 10, 931},
- dictWord{134, 10, 1698},
- dictWord{133, 0, 522},
- dictWord{
- 134,
- 0,
- 1120,
- },
- dictWord{135, 0, 1529},
- dictWord{12, 0, 739},
- dictWord{14, 0, 448},
- dictWord{142, 0, 467},
- dictWord{11, 10, 526},
- dictWord{11, 10, 939},
- dictWord{141, 10, 290},
- dictWord{5, 10, 774},
- dictWord{6, 10, 1637},
- dictWord{6, 10, 1686},
- dictWord{134, 10, 1751},
- dictWord{6, 0, 1667},
- dictWord{
- 135,
- 0,
- 2036,
- },
- dictWord{7, 10, 1167},
- dictWord{11, 10, 934},
- dictWord{13, 10, 391},
- dictWord{145, 10, 76},
- dictWord{137, 11, 147},
- dictWord{6, 10, 260},
- dictWord{
- 7,
- 10,
- 1484,
- },
- dictWord{11, 11, 821},
- dictWord{12, 11, 110},
- dictWord{12, 11, 153},
- dictWord{18, 11, 41},
- dictWord{150, 11, 19},
- dictWord{6, 0, 511},
- dictWord{12, 0, 132},
- dictWord{134, 10, 573},
- dictWord{5, 0, 568},
- dictWord{6, 0, 138},
- dictWord{135, 0, 1293},
- dictWord{132, 0, 1020},
- dictWord{8, 0, 258},
- dictWord{9, 0, 208},
- dictWord{137, 0, 359},
- dictWord{4, 0, 565},
- dictWord{8, 0, 23},
- dictWord{136, 0, 827},
- dictWord{134, 0, 344},
- dictWord{4, 0, 922},
- dictWord{
- 5,
- 0,
- 1023,
- },
- dictWord{13, 11, 477},
- dictWord{14, 11, 120},
- dictWord{148, 11, 61},
- dictWord{134, 0, 240},
- dictWord{5, 11, 209},
- dictWord{6, 11, 30},
- dictWord{
- 11,
- 11,
- 56,
- },
- dictWord{139, 11, 305},
- dictWord{6, 0, 171},
- dictWord{7, 0, 1002},
- dictWord{7, 0, 1324},
- dictWord{9, 0, 415},
- dictWord{14, 0, 230},
- dictWord{
- 18,
- 0,
- 68,
- },
- dictWord{4, 10, 292},
- dictWord{4, 10, 736},
- dictWord{5, 10, 871},
- dictWord{6, 10, 1689},
- dictWord{7, 10, 1944},
- dictWord{137, 10, 580},
- dictWord{
- 9,
- 11,
- 635,
- },
- dictWord{139, 11, 559},
- dictWord{4, 11, 150},
- dictWord{5, 11, 303},
- dictWord{134, 11, 327},
- dictWord{6, 10, 63},
- dictWord{135, 10, 920},
- dictWord{
- 133,
- 10,
- 793,
- },
- dictWord{8, 11, 192},
- dictWord{10, 11, 78},
- dictWord{10, 11, 555},
- dictWord{11, 11, 308},
- dictWord{13, 11, 359},
- dictWord{147, 11, 95},
- dictWord{135, 11, 786},
- dictWord{135, 11, 1712},
- dictWord{136, 0, 402},
- dictWord{6, 0, 754},
- dictWord{6, 11, 1638},
- dictWord{7, 11, 79},
- dictWord{7, 11, 496},
- dictWord{9, 11, 138},
- dictWord{10, 11, 336},
- dictWord{11, 11, 12},
- dictWord{12, 11, 412},
- dictWord{12, 11, 440},
- dictWord{142, 11, 305},
- dictWord{4, 0, 716},
- dictWord{141, 0, 31},
- dictWord{133, 0, 982},
- dictWord{8, 0, 691},
- dictWord{8, 0, 731},
- dictWord{5, 10, 67},
- dictWord{6, 10, 62},
- dictWord{6, 10, 374},
- dictWord{
- 135,
- 10,
- 1391,
- },
- dictWord{9, 10, 790},
- dictWord{140, 10, 47},
- dictWord{139, 11, 556},
- dictWord{151, 11, 1},
- dictWord{7, 11, 204},
- dictWord{7, 11, 415},
- dictWord{8, 11, 42},
- dictWord{10, 11, 85},
- dictWord{11, 11, 33},
- dictWord{11, 11, 564},
- dictWord{12, 11, 571},
- dictWord{149, 11, 1},
- dictWord{8, 0, 888},
- dictWord{
- 7,
- 11,
- 610,
- },
- dictWord{135, 11, 1501},
- dictWord{4, 10, 391},
- dictWord{135, 10, 1169},
- dictWord{5, 0, 847},
- dictWord{9, 0, 840},
- dictWord{138, 0, 803},
- dictWord{137, 0, 823},
- dictWord{134, 0, 785},
- dictWord{8, 0, 152},
- dictWord{9, 0, 53},
- dictWord{9, 0, 268},
- dictWord{9, 0, 901},
- dictWord{10, 0, 518},
- dictWord{
- 10,
- 0,
- 829,
- },
- dictWord{11, 0, 188},
- dictWord{13, 0, 74},
- dictWord{14, 0, 46},
- dictWord{15, 0, 17},
- dictWord{15, 0, 33},
- dictWord{17, 0, 40},
- dictWord{18, 0, 36},
- dictWord{
- 19,
- 0,
- 20,
- },
- dictWord{22, 0, 1},
- dictWord{152, 0, 2},
- dictWord{4, 11, 3},
- dictWord{5, 11, 247},
- dictWord{5, 11, 644},
- dictWord{7, 11, 744},
- dictWord{7, 11, 1207},
- dictWord{7, 11, 1225},
- dictWord{7, 11, 1909},
- dictWord{146, 11, 147},
- dictWord{136, 0, 532},
- dictWord{135, 0, 681},
- dictWord{132, 10, 271},
- dictWord{
- 140,
- 0,
- 314,
- },
- dictWord{140, 0, 677},
- dictWord{4, 0, 684},
- dictWord{136, 0, 384},
- dictWord{5, 11, 285},
- dictWord{9, 11, 67},
- dictWord{13, 11, 473},
- dictWord{
- 143,
- 11,
- 82,
- },
- dictWord{4, 10, 253},
- dictWord{5, 10, 544},
- dictWord{7, 10, 300},
- dictWord{137, 10, 340},
- dictWord{7, 0, 110},
- dictWord{7, 0, 447},
- dictWord{8, 0, 290},
- dictWord{8, 0, 591},
- dictWord{9, 0, 382},
- dictWord{9, 0, 649},
- dictWord{11, 0, 71},
- dictWord{11, 0, 155},
- dictWord{11, 0, 313},
- dictWord{12, 0, 5},
- dictWord{13, 0, 325},
- dictWord{142, 0, 287},
- dictWord{134, 0, 1818},
- dictWord{136, 0, 1007},
- dictWord{138, 0, 321},
- dictWord{7, 0, 360},
- dictWord{7, 0, 425},
- dictWord{9, 0, 66},
- dictWord{9, 0, 278},
- dictWord{138, 0, 644},
- dictWord{133, 10, 818},
- dictWord{5, 0, 385},
- dictWord{5, 10, 541},
- dictWord{6, 10, 94},
- dictWord{6, 10, 499},
- dictWord{
- 7,
- 10,
- 230,
- },
- dictWord{139, 10, 321},
- dictWord{4, 10, 920},
- dictWord{5, 10, 25},
- dictWord{5, 10, 790},
- dictWord{6, 10, 457},
- dictWord{7, 10, 853},
- dictWord{
- 136,
- 10,
- 788,
- },
- dictWord{4, 0, 900},
- dictWord{133, 0, 861},
- dictWord{5, 0, 254},
- dictWord{7, 0, 985},
- dictWord{136, 0, 73},
- dictWord{7, 0, 1959},
- dictWord{
- 136,
- 0,
- 683,
- },
- dictWord{134, 10, 1765},
- dictWord{133, 10, 822},
- dictWord{132, 10, 634},
- dictWord{4, 11, 29},
- dictWord{6, 11, 532},
- dictWord{7, 11, 1628},
- dictWord{
- 7,
- 11,
- 1648,
- },
- dictWord{9, 11, 303},
- dictWord{9, 11, 350},
- dictWord{10, 11, 433},
- dictWord{11, 11, 97},
- dictWord{11, 11, 557},
- dictWord{11, 11, 745},
- dictWord{12, 11, 289},
- dictWord{12, 11, 335},
- dictWord{12, 11, 348},
- dictWord{12, 11, 606},
- dictWord{13, 11, 116},
- dictWord{13, 11, 233},
- dictWord{
- 13,
- 11,
- 466,
- },
- dictWord{14, 11, 181},
- dictWord{14, 11, 209},
- dictWord{14, 11, 232},
- dictWord{14, 11, 236},
- dictWord{14, 11, 300},
- dictWord{16, 11, 41},
- dictWord{
- 148,
- 11,
- 97,
- },
- dictWord{19, 0, 86},
- dictWord{6, 10, 36},
- dictWord{7, 10, 658},
- dictWord{136, 10, 454},
- dictWord{135, 11, 1692},
- dictWord{132, 0, 725},
- dictWord{
- 5,
- 11,
- 501,
- },
- dictWord{7, 11, 1704},
- dictWord{9, 11, 553},
- dictWord{11, 11, 520},
- dictWord{12, 11, 557},
- dictWord{141, 11, 249},
- dictWord{134, 0, 196},
- dictWord{133, 0, 831},
- dictWord{136, 0, 723},
- dictWord{7, 0, 1897},
- dictWord{13, 0, 80},
- dictWord{13, 0, 437},
- dictWord{145, 0, 74},
- dictWord{4, 0, 992},
- dictWord{
- 6,
- 0,
- 627,
- },
- dictWord{136, 0, 994},
- dictWord{135, 11, 1294},
- dictWord{132, 10, 104},
- dictWord{5, 0, 848},
- dictWord{6, 0, 66},
- dictWord{136, 0, 764},
- dictWord{
- 4,
- 0,
- 36,
- },
- dictWord{7, 0, 1387},
- dictWord{10, 0, 205},
- dictWord{139, 0, 755},
- dictWord{6, 0, 1046},
- dictWord{134, 0, 1485},
- dictWord{134, 0, 950},
- dictWord{132, 0, 887},
- dictWord{14, 0, 450},
- dictWord{148, 0, 111},
- dictWord{7, 0, 620},
- dictWord{7, 0, 831},
- dictWord{9, 10, 542},
- dictWord{9, 10, 566},
- dictWord{
- 138,
- 10,
- 728,
- },
- dictWord{6, 0, 165},
- dictWord{138, 0, 388},
- dictWord{139, 10, 263},
- dictWord{4, 0, 719},
- dictWord{135, 0, 155},
- dictWord{138, 10, 468},
- dictWord{6, 11, 453},
- dictWord{144, 11, 36},
- dictWord{134, 11, 129},
- dictWord{5, 0, 533},
- dictWord{7, 0, 755},
- dictWord{138, 0, 780},
- dictWord{134, 0, 1465},
- dictWord{4, 0, 353},
- dictWord{6, 0, 146},
- dictWord{6, 0, 1789},
- dictWord{7, 0, 427},
- dictWord{7, 0, 990},
- dictWord{7, 0, 1348},
- dictWord{9, 0, 665},
- dictWord{9, 0, 898},
- dictWord{11, 0, 893},
- dictWord{142, 0, 212},
- dictWord{7, 10, 87},
- dictWord{142, 10, 288},
- dictWord{4, 0, 45},
- dictWord{135, 0, 1257},
- dictWord{12, 0, 7},
- dictWord{7, 10, 988},
- dictWord{7, 10, 1939},
- dictWord{9, 10, 64},
- dictWord{9, 10, 502},
- dictWord{12, 10, 34},
- dictWord{13, 10, 12},
- dictWord{13, 10, 234},
- dictWord{147, 10, 77},
- dictWord{4, 0, 607},
- dictWord{5, 11, 60},
- dictWord{6, 11, 504},
- dictWord{7, 11, 614},
- dictWord{7, 11, 1155},
- dictWord{140, 11, 0},
- dictWord{
- 135,
- 10,
- 141,
- },
- dictWord{8, 11, 198},
- dictWord{11, 11, 29},
- dictWord{140, 11, 534},
- dictWord{140, 0, 65},
- dictWord{136, 0, 816},
- dictWord{132, 10, 619},
- dictWord{139, 0, 88},
- dictWord{5, 10, 246},
- dictWord{8, 10, 189},
- dictWord{9, 10, 355},
- dictWord{9, 10, 512},
- dictWord{10, 10, 124},
- dictWord{10, 10, 453},
- dictWord{11, 10, 143},
- dictWord{11, 10, 416},
- dictWord{11, 10, 859},
- dictWord{141, 10, 341},
- dictWord{4, 11, 379},
- dictWord{135, 11, 1397},
- dictWord{
- 4,
- 0,
- 600,
- },
- dictWord{137, 0, 621},
- dictWord{133, 0, 367},
- dictWord{134, 0, 561},
- dictWord{6, 0, 559},
- dictWord{134, 0, 1691},
- dictWord{6, 0, 585},
- dictWord{
- 134,
- 11,
- 585,
- },
- dictWord{135, 11, 1228},
- dictWord{4, 11, 118},
- dictWord{5, 10, 678},
- dictWord{6, 11, 274},
- dictWord{6, 11, 361},
- dictWord{7, 11, 75},
- dictWord{
- 141,
- 11,
- 441,
- },
- dictWord{135, 11, 1818},
- dictWord{137, 11, 841},
- dictWord{5, 0, 573},
- dictWord{6, 0, 287},
- dictWord{7, 10, 862},
- dictWord{7, 10, 1886},
- dictWord{138, 10, 179},
- dictWord{132, 10, 517},
- dictWord{140, 11, 693},
- dictWord{5, 11, 314},
- dictWord{6, 11, 221},
- dictWord{7, 11, 419},
- dictWord{
- 10,
- 11,
- 650,
- },
- dictWord{11, 11, 396},
- dictWord{12, 11, 156},
- dictWord{13, 11, 369},
- dictWord{14, 11, 333},
- dictWord{145, 11, 47},
- dictWord{140, 10, 540},
- dictWord{136, 10, 667},
- dictWord{11, 10, 403},
- dictWord{146, 10, 83},
- dictWord{6, 0, 672},
- dictWord{133, 10, 761},
- dictWord{9, 0, 157},
- dictWord{10, 10, 131},
- dictWord{140, 10, 72},
- dictWord{7, 0, 714},
- dictWord{134, 11, 460},
- dictWord{134, 0, 456},
- dictWord{133, 0, 925},
- dictWord{5, 11, 682},
- dictWord{
- 135,
- 11,
- 1887,
- },
- dictWord{136, 11, 510},
- dictWord{136, 11, 475},
- dictWord{133, 11, 1016},
- dictWord{9, 0, 19},
- dictWord{7, 11, 602},
- dictWord{8, 11, 179},
- dictWord{
- 10,
- 11,
- 781,
- },
- dictWord{140, 11, 126},
- dictWord{6, 11, 329},
- dictWord{138, 11, 111},
- dictWord{6, 0, 822},
- dictWord{134, 0, 1473},
- dictWord{144, 11, 86},
- dictWord{11, 0, 113},
- dictWord{139, 11, 113},
- dictWord{5, 11, 821},
- dictWord{134, 11, 1687},
- dictWord{133, 10, 449},
- dictWord{7, 0, 463},
- dictWord{
- 17,
- 0,
- 69,
- },
- dictWord{136, 10, 103},
- dictWord{7, 10, 2028},
- dictWord{138, 10, 641},
- dictWord{6, 0, 193},
- dictWord{7, 0, 240},
- dictWord{7, 0, 1682},
- dictWord{
- 10,
- 0,
- 51,
- },
- dictWord{10, 0, 640},
- dictWord{11, 0, 410},
- dictWord{13, 0, 82},
- dictWord{14, 0, 247},
- dictWord{14, 0, 331},
- dictWord{142, 0, 377},
- dictWord{6, 0, 471},
- dictWord{11, 0, 411},
- dictWord{142, 0, 2},
- dictWord{5, 11, 71},
- dictWord{7, 11, 1407},
- dictWord{9, 11, 388},
- dictWord{9, 11, 704},
- dictWord{10, 11, 261},
- dictWord{
- 10,
- 11,
- 619,
- },
- dictWord{11, 11, 547},
- dictWord{11, 11, 619},
- dictWord{143, 11, 157},
- dictWord{136, 0, 633},
- dictWord{135, 0, 1148},
- dictWord{6, 0, 554},
- dictWord{7, 0, 1392},
- dictWord{12, 0, 129},
- dictWord{7, 10, 1274},
- dictWord{7, 10, 1386},
- dictWord{7, 11, 2008},
- dictWord{9, 11, 337},
- dictWord{10, 11, 517},
- dictWord{146, 10, 87},
- dictWord{7, 0, 803},
- dictWord{8, 0, 542},
- dictWord{6, 10, 187},
- dictWord{7, 10, 1203},
- dictWord{8, 10, 380},
- dictWord{14, 10, 117},
- dictWord{149, 10, 28},
- dictWord{6, 10, 297},
- dictWord{7, 10, 793},
- dictWord{139, 10, 938},
- dictWord{8, 0, 438},
- dictWord{11, 0, 363},
- dictWord{7, 10, 464},
- dictWord{11, 10, 105},
- dictWord{12, 10, 231},
- dictWord{14, 10, 386},
- dictWord{15, 10, 102},
- dictWord{148, 10, 75},
- dictWord{5, 11, 16},
- dictWord{6, 11, 86},
- dictWord{6, 11, 603},
- dictWord{7, 11, 292},
- dictWord{7, 11, 561},
- dictWord{8, 11, 257},
- dictWord{8, 11, 382},
- dictWord{9, 11, 721},
- dictWord{9, 11, 778},
- dictWord{
- 11,
- 11,
- 581,
- },
- dictWord{140, 11, 466},
- dictWord{6, 0, 717},
- dictWord{4, 11, 486},
- dictWord{133, 11, 491},
- dictWord{132, 0, 875},
- dictWord{132, 11, 72},
- dictWord{6, 11, 265},
- dictWord{135, 11, 847},
- dictWord{4, 0, 237},
- dictWord{135, 0, 514},
- dictWord{6, 0, 392},
- dictWord{7, 0, 65},
- dictWord{135, 0, 2019},
- dictWord{140, 11, 261},
- dictWord{135, 11, 922},
- dictWord{137, 11, 404},
- dictWord{12, 0, 563},
- dictWord{14, 0, 101},
- dictWord{18, 0, 129},
- dictWord{
- 7,
- 10,
- 1010,
- },
- dictWord{11, 10, 733},
- dictWord{11, 10, 759},
- dictWord{13, 10, 34},
- dictWord{146, 10, 45},
- dictWord{7, 10, 1656},
- dictWord{9, 10, 369},
- dictWord{
- 10,
- 10,
- 338,
- },
- dictWord{10, 10, 490},
- dictWord{11, 10, 154},
- dictWord{11, 10, 545},
- dictWord{11, 10, 775},
- dictWord{13, 10, 77},
- dictWord{141, 10, 274},
- dictWord{4, 0, 444},
- dictWord{10, 0, 146},
- dictWord{140, 0, 9},
- dictWord{139, 11, 163},
- dictWord{7, 0, 1260},
- dictWord{135, 0, 1790},
- dictWord{9, 0, 222},
- dictWord{10, 0, 43},
- dictWord{139, 0, 900},
- dictWord{137, 11, 234},
- dictWord{138, 0, 971},
- dictWord{137, 0, 761},
- dictWord{134, 0, 699},
- dictWord{
- 136,
- 11,
- 434,
- },
- dictWord{6, 0, 1116},
- dictWord{7, 0, 1366},
- dictWord{5, 10, 20},
- dictWord{6, 11, 197},
- dictWord{6, 10, 298},
- dictWord{7, 10, 659},
- dictWord{8, 11, 205},
- dictWord{137, 10, 219},
- dictWord{132, 11, 490},
- dictWord{11, 11, 820},
- dictWord{150, 11, 51},
- dictWord{7, 10, 1440},
- dictWord{11, 10, 854},
- dictWord{
- 11,
- 10,
- 872,
- },
- dictWord{11, 10, 921},
- dictWord{12, 10, 551},
- dictWord{13, 10, 472},
- dictWord{142, 10, 367},
- dictWord{140, 11, 13},
- dictWord{132, 0, 829},
- dictWord{12, 0, 242},
- dictWord{132, 10, 439},
- dictWord{136, 10, 669},
- dictWord{6, 0, 593},
- dictWord{6, 11, 452},
- dictWord{7, 11, 312},
- dictWord{
- 138,
- 11,
- 219,
- },
- dictWord{4, 11, 333},
- dictWord{9, 11, 176},
- dictWord{12, 11, 353},
- dictWord{141, 11, 187},
- dictWord{7, 0, 36},
- dictWord{8, 0, 201},
- dictWord{
- 136,
- 0,
- 605,
- },
- dictWord{140, 0, 224},
- dictWord{132, 10, 233},
- dictWord{134, 0, 1430},
- dictWord{134, 0, 1806},
- dictWord{4, 0, 523},
- dictWord{133, 0, 638},
- dictWord{
- 6,
- 0,
- 1889,
- },
- dictWord{9, 0, 958},
- dictWord{9, 0, 971},
- dictWord{9, 0, 976},
- dictWord{12, 0, 796},
- dictWord{12, 0, 799},
- dictWord{12, 0, 808},
- dictWord{
- 12,
- 0,
- 835,
- },
- dictWord{12, 0, 836},
- dictWord{12, 0, 914},
- dictWord{12, 0, 946},
- dictWord{15, 0, 216},
- dictWord{15, 0, 232},
- dictWord{18, 0, 183},
- dictWord{18, 0, 187},
- dictWord{18, 0, 194},
- dictWord{18, 0, 212},
- dictWord{18, 0, 232},
- dictWord{149, 0, 49},
- dictWord{132, 10, 482},
- dictWord{6, 0, 827},
- dictWord{134, 0, 1434},
- dictWord{135, 10, 346},
- dictWord{134, 0, 2043},
- dictWord{6, 0, 242},
- dictWord{7, 0, 227},
- dictWord{7, 0, 1581},
- dictWord{8, 0, 104},
- dictWord{9, 0, 113},
- dictWord{9, 0, 220},
- dictWord{9, 0, 427},
- dictWord{10, 0, 136},
- dictWord{10, 0, 239},
- dictWord{11, 0, 579},
- dictWord{11, 0, 1023},
- dictWord{13, 0, 4},
- dictWord{
- 13,
- 0,
- 204,
- },
- dictWord{13, 0, 316},
- dictWord{148, 0, 86},
- dictWord{134, 11, 1685},
- dictWord{7, 0, 148},
- dictWord{8, 0, 284},
- dictWord{141, 0, 63},
- dictWord{
- 142,
- 0,
- 10,
- },
- dictWord{135, 11, 584},
- dictWord{134, 0, 1249},
- dictWord{7, 0, 861},
- dictWord{135, 10, 334},
- dictWord{5, 10, 795},
- dictWord{6, 10, 1741},
- dictWord{
- 137,
- 11,
- 70,
- },
- dictWord{132, 0, 807},
- dictWord{7, 11, 135},
- dictWord{8, 11, 7},
- dictWord{8, 11, 62},
- dictWord{9, 11, 243},
- dictWord{10, 11, 658},
- dictWord{
- 10,
- 11,
- 697,
- },
- dictWord{11, 11, 456},
- dictWord{139, 11, 756},
- dictWord{9, 11, 395},
- dictWord{138, 11, 79},
- dictWord{137, 11, 108},
- dictWord{147, 0, 94},
- dictWord{136, 0, 494},
- dictWord{135, 11, 631},
- dictWord{135, 10, 622},
- dictWord{7, 0, 1510},
- dictWord{135, 10, 1750},
- dictWord{4, 10, 203},
- dictWord{
- 135,
- 10,
- 1936,
- },
- dictWord{7, 11, 406},
- dictWord{7, 11, 459},
- dictWord{8, 11, 606},
- dictWord{139, 11, 726},
- dictWord{7, 0, 1306},
- dictWord{8, 0, 505},
- dictWord{
- 9,
- 0,
- 482,
- },
- dictWord{10, 0, 126},
- dictWord{11, 0, 225},
- dictWord{12, 0, 347},
- dictWord{12, 0, 449},
- dictWord{13, 0, 19},
- dictWord{14, 0, 218},
- dictWord{142, 0, 435},
- dictWord{5, 0, 268},
- dictWord{10, 0, 764},
- dictWord{12, 0, 120},
- dictWord{13, 0, 39},
- dictWord{145, 0, 127},
- dictWord{142, 11, 68},
- dictWord{11, 10, 678},
- dictWord{140, 10, 307},
- dictWord{12, 11, 268},
- dictWord{12, 11, 640},
- dictWord{142, 11, 119},
- dictWord{135, 10, 2044},
- dictWord{133, 11, 612},
- dictWord{
- 4,
- 11,
- 372,
- },
- dictWord{7, 11, 482},
- dictWord{8, 11, 158},
- dictWord{9, 11, 602},
- dictWord{9, 11, 615},
- dictWord{10, 11, 245},
- dictWord{10, 11, 678},
- dictWord{
- 10,
- 11,
- 744,
- },
- dictWord{11, 11, 248},
- dictWord{139, 11, 806},
- dictWord{7, 10, 311},
- dictWord{9, 10, 308},
- dictWord{140, 10, 255},
- dictWord{4, 0, 384},
- dictWord{135, 0, 1022},
- dictWord{5, 11, 854},
- dictWord{135, 11, 1991},
- dictWord{135, 10, 1266},
- dictWord{4, 10, 400},
- dictWord{5, 10, 267},
- dictWord{
- 135,
- 10,
- 232,
- },
- dictWord{135, 0, 1703},
- dictWord{9, 0, 159},
- dictWord{11, 0, 661},
- dictWord{140, 0, 603},
- dictWord{4, 0, 964},
- dictWord{14, 0, 438},
- dictWord{
- 14,
- 0,
- 444,
- },
- dictWord{14, 0, 456},
- dictWord{22, 0, 60},
- dictWord{22, 0, 63},
- dictWord{9, 11, 106},
- dictWord{9, 11, 163},
- dictWord{9, 11, 296},
- dictWord{10, 11, 167},
- dictWord{10, 11, 172},
- dictWord{10, 11, 777},
- dictWord{139, 11, 16},
- dictWord{136, 0, 583},
- dictWord{132, 0, 515},
- dictWord{8, 0, 632},
- dictWord{8, 0, 697},
- dictWord{137, 0, 854},
- dictWord{5, 11, 195},
- dictWord{135, 11, 1685},
- dictWord{6, 0, 1123},
- dictWord{134, 0, 1365},
- dictWord{134, 11, 328},
- dictWord{
- 7,
- 11,
- 1997,
- },
- dictWord{8, 11, 730},
- dictWord{139, 11, 1006},
- dictWord{4, 0, 136},
- dictWord{133, 0, 551},
- dictWord{134, 0, 1782},
- dictWord{7, 0, 1287},
- dictWord{
- 9,
- 0,
- 44,
- },
- dictWord{10, 0, 552},
- dictWord{10, 0, 642},
- dictWord{11, 0, 839},
- dictWord{12, 0, 274},
- dictWord{12, 0, 275},
- dictWord{12, 0, 372},
- dictWord{
- 13,
- 0,
- 91,
- },
- dictWord{142, 0, 125},
- dictWord{5, 11, 751},
- dictWord{11, 11, 797},
- dictWord{140, 11, 203},
- dictWord{133, 0, 732},
- dictWord{7, 0, 679},
- dictWord{
- 8,
- 0,
- 313,
- },
- dictWord{4, 10, 100},
- dictWord{135, 11, 821},
- dictWord{10, 0, 361},
- dictWord{142, 0, 316},
- dictWord{134, 0, 595},
- dictWord{6, 0, 147},
- dictWord{
- 7,
- 0,
- 886,
- },
- dictWord{9, 0, 753},
- dictWord{138, 0, 268},
- dictWord{5, 10, 362},
- dictWord{5, 10, 443},
- dictWord{6, 10, 318},
- dictWord{7, 10, 1019},
- dictWord{
- 139,
- 10,
- 623,
- },
- dictWord{5, 10, 463},
- dictWord{136, 10, 296},
- dictWord{4, 10, 454},
- dictWord{5, 11, 950},
- dictWord{5, 11, 994},
- dictWord{134, 11, 351},
- dictWord{
- 138,
- 0,
- 137,
- },
- dictWord{5, 10, 48},
- dictWord{5, 10, 404},
- dictWord{6, 10, 557},
- dictWord{7, 10, 458},
- dictWord{8, 10, 597},
- dictWord{10, 10, 455},
- dictWord{
- 10,
- 10,
- 606,
- },
- dictWord{11, 10, 49},
- dictWord{11, 10, 548},
- dictWord{12, 10, 476},
- dictWord{13, 10, 18},
- dictWord{141, 10, 450},
- dictWord{133, 0, 414},
- dictWord{
- 135,
- 0,
- 1762,
- },
- dictWord{5, 11, 421},
- dictWord{135, 11, 47},
- dictWord{5, 10, 442},
- dictWord{135, 10, 1984},
- dictWord{134, 0, 599},
- dictWord{134, 0, 1749},
- dictWord{134, 0, 1627},
- dictWord{4, 0, 488},
- dictWord{132, 11, 350},
- dictWord{137, 11, 751},
- dictWord{132, 0, 83},
- dictWord{140, 0, 676},
- dictWord{
- 133,
- 11,
- 967,
- },
- dictWord{7, 0, 1639},
- dictWord{5, 10, 55},
- dictWord{140, 10, 161},
- dictWord{4, 11, 473},
- dictWord{7, 11, 623},
- dictWord{8, 11, 808},
- dictWord{
- 9,
- 11,
- 871,
- },
- dictWord{9, 11, 893},
- dictWord{11, 11, 38},
- dictWord{11, 11, 431},
- dictWord{12, 11, 112},
- dictWord{12, 11, 217},
- dictWord{12, 11, 243},
- dictWord{
- 12,
- 11,
- 562,
- },
- dictWord{12, 11, 683},
- dictWord{13, 11, 141},
- dictWord{13, 11, 197},
- dictWord{13, 11, 227},
- dictWord{13, 11, 406},
- dictWord{13, 11, 487},
- dictWord{14, 11, 156},
- dictWord{14, 11, 203},
- dictWord{14, 11, 224},
- dictWord{14, 11, 256},
- dictWord{18, 11, 58},
- dictWord{150, 11, 0},
- dictWord{
- 133,
- 10,
- 450,
- },
- dictWord{7, 11, 736},
- dictWord{139, 11, 264},
- dictWord{134, 0, 278},
- dictWord{4, 11, 222},
- dictWord{7, 11, 286},
- dictWord{136, 11, 629},
- dictWord{
- 135,
- 10,
- 869,
- },
- dictWord{140, 0, 97},
- dictWord{144, 0, 14},
- dictWord{134, 0, 1085},
- dictWord{4, 10, 213},
- dictWord{7, 10, 223},
- dictWord{136, 10, 80},
- dictWord{
- 7,
- 0,
- 388,
- },
- dictWord{7, 0, 644},
- dictWord{139, 0, 781},
- dictWord{132, 0, 849},
- dictWord{7, 0, 229},
- dictWord{8, 0, 59},
- dictWord{9, 0, 190},
- dictWord{10, 0, 378},
- dictWord{140, 0, 191},
- dictWord{7, 10, 381},
- dictWord{7, 10, 806},
- dictWord{7, 10, 820},
- dictWord{8, 10, 354},
- dictWord{8, 10, 437},
- dictWord{8, 10, 787},
- dictWord{9, 10, 657},
- dictWord{10, 10, 58},
- dictWord{10, 10, 339},
- dictWord{10, 10, 749},
- dictWord{11, 10, 914},
- dictWord{12, 10, 162},
- dictWord{13, 10, 75},
- dictWord{14, 10, 106},
- dictWord{14, 10, 198},
- dictWord{14, 10, 320},
- dictWord{14, 10, 413},
- dictWord{146, 10, 43},
- dictWord{141, 11, 306},
- dictWord{
- 136,
- 10,
- 747,
- },
- dictWord{134, 0, 1115},
- dictWord{16, 0, 94},
- dictWord{16, 0, 108},
- dictWord{136, 11, 146},
- dictWord{6, 0, 700},
- dictWord{6, 0, 817},
- dictWord{
- 134,
- 0,
- 1002,
- },
- dictWord{133, 10, 692},
- dictWord{4, 11, 465},
- dictWord{135, 11, 1663},
- dictWord{134, 10, 191},
- dictWord{6, 0, 1414},
- dictWord{
- 135,
- 11,
- 913,
- },
- dictWord{132, 0, 660},
- dictWord{7, 0, 1035},
- dictWord{138, 0, 737},
- dictWord{6, 10, 162},
- dictWord{7, 10, 1960},
- dictWord{136, 10, 831},
- dictWord{
- 132,
- 10,
- 706,
- },
- dictWord{7, 0, 690},
- dictWord{9, 0, 217},
- dictWord{9, 0, 587},
- dictWord{140, 0, 521},
- dictWord{138, 10, 426},
- dictWord{135, 10, 1235},
- dictWord{
- 6,
- 11,
- 82,
- },
- dictWord{7, 11, 138},
- dictWord{7, 11, 517},
- dictWord{9, 11, 673},
- dictWord{139, 11, 238},
- dictWord{138, 0, 272},
- dictWord{5, 11, 495},
- dictWord{
- 7,
- 11,
- 834,
- },
- dictWord{9, 11, 733},
- dictWord{139, 11, 378},
- dictWord{134, 0, 1744},
- dictWord{132, 0, 1011},
- dictWord{7, 11, 828},
- dictWord{142, 11, 116},
- dictWord{4, 0, 733},
- dictWord{9, 0, 194},
- dictWord{10, 0, 92},
- dictWord{11, 0, 198},
- dictWord{12, 0, 84},
- dictWord{13, 0, 128},
- dictWord{133, 11, 559},
- dictWord{
- 10,
- 0,
- 57,
- },
- dictWord{10, 0, 277},
- dictWord{6, 11, 21},
- dictWord{6, 11, 1737},
- dictWord{7, 11, 1444},
- dictWord{136, 11, 224},
- dictWord{4, 10, 204},
- dictWord{
- 137,
- 10,
- 902,
- },
- dictWord{136, 10, 833},
- dictWord{11, 0, 348},
- dictWord{12, 0, 99},
- dictWord{18, 0, 1},
- dictWord{18, 0, 11},
- dictWord{19, 0, 4},
- dictWord{7, 10, 366},
- dictWord{9, 10, 287},
- dictWord{12, 10, 199},
- dictWord{12, 10, 556},
- dictWord{140, 10, 577},
- dictWord{6, 0, 1981},
- dictWord{136, 0, 936},
- dictWord{
- 21,
- 0,
- 33,
- },
- dictWord{150, 0, 40},
- dictWord{5, 11, 519},
- dictWord{138, 11, 204},
- dictWord{5, 10, 356},
- dictWord{135, 10, 224},
- dictWord{134, 0, 775},
- dictWord{
- 135,
- 0,
- 306,
- },
- dictWord{7, 10, 630},
- dictWord{9, 10, 567},
- dictWord{11, 10, 150},
- dictWord{11, 10, 444},
- dictWord{141, 10, 119},
- dictWord{5, 0, 979},
- dictWord{
- 134,
- 10,
- 539,
- },
- dictWord{133, 0, 611},
- dictWord{4, 11, 402},
- dictWord{135, 11, 1679},
- dictWord{5, 0, 178},
- dictWord{7, 11, 2},
- dictWord{8, 11, 323},
- dictWord{
- 136,
- 11,
- 479,
- },
- dictWord{5, 11, 59},
- dictWord{135, 11, 672},
- dictWord{4, 0, 1010},
- dictWord{6, 0, 1969},
- dictWord{138, 11, 237},
- dictWord{133, 11, 412},
- dictWord{146, 11, 34},
- dictWord{7, 11, 1740},
- dictWord{146, 11, 48},
- dictWord{134, 0, 664},
- dictWord{139, 10, 814},
- dictWord{4, 11, 85},
- dictWord{
- 135,
- 11,
- 549,
- },
- dictWord{133, 11, 94},
- dictWord{133, 11, 457},
- dictWord{132, 0, 390},
- dictWord{134, 0, 1510},
- dictWord{4, 10, 235},
- dictWord{135, 10, 255},
- dictWord{4, 10, 194},
- dictWord{5, 10, 584},
- dictWord{6, 11, 11},
- dictWord{6, 10, 384},
- dictWord{7, 11, 187},
- dictWord{7, 10, 583},
- dictWord{10, 10, 761},
- dictWord{
- 11,
- 10,
- 760,
- },
- dictWord{139, 10, 851},
- dictWord{4, 11, 522},
- dictWord{139, 11, 802},
- dictWord{135, 0, 493},
- dictWord{10, 11, 776},
- dictWord{13, 11, 345},
- dictWord{142, 11, 425},
- dictWord{146, 0, 37},
- dictWord{4, 11, 52},
- dictWord{135, 11, 661},
- dictWord{134, 0, 724},
- dictWord{134, 0, 829},
- dictWord{
- 133,
- 11,
- 520,
- },
- dictWord{133, 10, 562},
- dictWord{4, 11, 281},
- dictWord{5, 11, 38},
- dictWord{7, 11, 194},
- dictWord{7, 11, 668},
- dictWord{7, 11, 1893},
- dictWord{
- 137,
- 11,
- 397,
- },
- dictWord{5, 10, 191},
- dictWord{137, 10, 271},
- dictWord{7, 0, 1537},
- dictWord{14, 0, 96},
- dictWord{143, 0, 73},
- dictWord{5, 0, 473},
- dictWord{
- 11,
- 0,
- 168,
- },
- dictWord{4, 10, 470},
- dictWord{6, 10, 153},
- dictWord{7, 10, 1503},
- dictWord{7, 10, 1923},
- dictWord{10, 10, 701},
- dictWord{11, 10, 132},
- dictWord{
- 11,
- 10,
- 227,
- },
- dictWord{11, 10, 320},
- dictWord{11, 10, 436},
- dictWord{11, 10, 525},
- dictWord{11, 10, 855},
- dictWord{12, 10, 41},
- dictWord{12, 10, 286},
- dictWord{13, 10, 103},
- dictWord{13, 10, 284},
- dictWord{14, 10, 255},
- dictWord{14, 10, 262},
- dictWord{15, 10, 117},
- dictWord{143, 10, 127},
- dictWord{
- 133,
- 0,
- 105,
- },
- dictWord{5, 0, 438},
- dictWord{9, 0, 694},
- dictWord{12, 0, 627},
- dictWord{141, 0, 210},
- dictWord{133, 10, 327},
- dictWord{6, 10, 552},
- dictWord{
- 7,
- 10,
- 1754,
- },
- dictWord{137, 10, 604},
- dictWord{134, 0, 1256},
- dictWord{152, 0, 11},
- dictWord{5, 11, 448},
- dictWord{11, 11, 98},
- dictWord{139, 11, 524},
- dictWord{
- 7,
- 0,
- 1626,
- },
- dictWord{5, 10, 80},
- dictWord{6, 10, 405},
- dictWord{7, 10, 403},
- dictWord{7, 10, 1502},
- dictWord{8, 10, 456},
- dictWord{9, 10, 487},
- dictWord{
- 9,
- 10,
- 853,
- },
- dictWord{9, 10, 889},
- dictWord{10, 10, 309},
- dictWord{11, 10, 721},
- dictWord{11, 10, 994},
- dictWord{12, 10, 430},
- dictWord{13, 10, 165},
- dictWord{
- 14,
- 11,
- 16,
- },
- dictWord{146, 11, 44},
- dictWord{132, 0, 779},
- dictWord{8, 0, 25},
- dictWord{138, 0, 826},
- dictWord{4, 10, 453},
- dictWord{5, 10, 887},
- dictWord{
- 6,
- 10,
- 535,
- },
- dictWord{8, 10, 6},
- dictWord{8, 10, 543},
- dictWord{136, 10, 826},
- dictWord{137, 11, 461},
- dictWord{140, 11, 632},
- dictWord{132, 0, 308},
- dictWord{135, 0, 741},
- dictWord{132, 0, 671},
- dictWord{7, 0, 150},
- dictWord{8, 0, 649},
- dictWord{136, 0, 1020},
- dictWord{9, 0, 99},
- dictWord{6, 11, 336},
- dictWord{
- 8,
- 11,
- 552,
- },
- dictWord{9, 11, 285},
- dictWord{10, 11, 99},
- dictWord{139, 11, 568},
- dictWord{134, 0, 521},
- dictWord{5, 0, 339},
- dictWord{14, 0, 3},
- dictWord{
- 15,
- 0,
- 41,
- },
- dictWord{15, 0, 166},
- dictWord{147, 0, 66},
- dictWord{6, 11, 423},
- dictWord{7, 11, 665},
- dictWord{7, 11, 1210},
- dictWord{9, 11, 218},
- dictWord{
- 141,
- 11,
- 222,
- },
- dictWord{6, 0, 543},
- dictWord{5, 10, 101},
- dictWord{5, 11, 256},
- dictWord{6, 10, 88},
- dictWord{7, 10, 1677},
- dictWord{9, 10, 100},
- dictWord{10, 10, 677},
- dictWord{14, 10, 169},
- dictWord{14, 10, 302},
- dictWord{14, 10, 313},
- dictWord{15, 10, 48},
- dictWord{143, 10, 84},
- dictWord{4, 10, 310},
- dictWord{
- 7,
- 10,
- 708,
- },
- dictWord{7, 10, 996},
- dictWord{9, 10, 795},
- dictWord{10, 10, 390},
- dictWord{10, 10, 733},
- dictWord{11, 10, 451},
- dictWord{12, 10, 249},
- dictWord{
- 14,
- 10,
- 115,
- },
- dictWord{14, 10, 286},
- dictWord{143, 10, 100},
- dictWord{133, 10, 587},
- dictWord{13, 11, 417},
- dictWord{14, 11, 129},
- dictWord{143, 11, 15},
- dictWord{134, 0, 1358},
- dictWord{136, 11, 554},
- dictWord{132, 10, 498},
- dictWord{7, 10, 217},
- dictWord{8, 10, 140},
- dictWord{138, 10, 610},
- dictWord{
- 135,
- 11,
- 989,
- },
- dictWord{135, 11, 634},
- dictWord{6, 0, 155},
- dictWord{140, 0, 234},
- dictWord{135, 11, 462},
- dictWord{132, 11, 618},
- dictWord{
- 134,
- 0,
- 1628,
- },
- dictWord{132, 0, 766},
- dictWord{4, 11, 339},
- dictWord{5, 10, 905},
- dictWord{135, 11, 259},
- dictWord{135, 0, 829},
- dictWord{4, 11, 759},
- dictWord{
- 141,
- 11,
- 169,
- },
- dictWord{7, 0, 1445},
- dictWord{4, 10, 456},
- dictWord{7, 10, 358},
- dictWord{7, 10, 1637},
- dictWord{8, 10, 643},
- dictWord{139, 10, 483},
- dictWord{
- 5,
- 0,
- 486,
- },
- dictWord{135, 0, 1349},
- dictWord{5, 11, 688},
- dictWord{135, 11, 712},
- dictWord{7, 0, 1635},
- dictWord{8, 0, 17},
- dictWord{10, 0, 217},
- dictWord{
- 10,
- 0,
- 295,
- },
- dictWord{12, 0, 2},
- dictWord{140, 11, 2},
- dictWord{138, 0, 558},
- dictWord{150, 10, 56},
- dictWord{4, 11, 278},
- dictWord{5, 11, 465},
- dictWord{
- 135,
- 11,
- 1367,
- },
- dictWord{136, 11, 482},
- dictWord{133, 10, 535},
- dictWord{6, 0, 1362},
- dictWord{6, 0, 1461},
- dictWord{10, 11, 274},
- dictWord{10, 11, 625},
- dictWord{139, 11, 530},
- dictWord{5, 0, 599},
- dictWord{5, 11, 336},
- dictWord{6, 11, 341},
- dictWord{6, 11, 478},
- dictWord{6, 11, 1763},
- dictWord{136, 11, 386},
- dictWord{7, 10, 1748},
- dictWord{137, 11, 151},
- dictWord{134, 0, 1376},
- dictWord{133, 10, 539},
- dictWord{135, 11, 73},
- dictWord{135, 11, 1971},
- dictWord{139, 11, 283},
- dictWord{9, 0, 93},
- dictWord{139, 0, 474},
- dictWord{6, 10, 91},
- dictWord{135, 10, 435},
- dictWord{6, 0, 447},
- dictWord{5, 11, 396},
- dictWord{134, 11, 501},
- dictWord{4, 10, 16},
- dictWord{5, 10, 316},
- dictWord{5, 10, 842},
- dictWord{6, 10, 370},
- dictWord{6, 10, 1778},
- dictWord{8, 10, 166},
- dictWord{11, 10, 812},
- dictWord{12, 10, 206},
- dictWord{12, 10, 351},
- dictWord{14, 10, 418},
- dictWord{16, 10, 15},
- dictWord{16, 10, 34},
- dictWord{18, 10, 3},
- dictWord{19, 10, 3},
- dictWord{19, 10, 7},
- dictWord{20, 10, 4},
- dictWord{149, 10, 21},
- dictWord{7, 0, 577},
- dictWord{7, 0, 1432},
- dictWord{9, 0, 475},
- dictWord{9, 0, 505},
- dictWord{9, 0, 526},
- dictWord{9, 0, 609},
- dictWord{9, 0, 689},
- dictWord{9, 0, 726},
- dictWord{9, 0, 735},
- dictWord{9, 0, 738},
- dictWord{10, 0, 556},
- dictWord{
- 10,
- 0,
- 674,
- },
- dictWord{10, 0, 684},
- dictWord{11, 0, 89},
- dictWord{11, 0, 202},
- dictWord{11, 0, 272},
- dictWord{11, 0, 380},
- dictWord{11, 0, 415},
- dictWord{11, 0, 505},
- dictWord{11, 0, 537},
- dictWord{11, 0, 550},
- dictWord{11, 0, 562},
- dictWord{11, 0, 640},
- dictWord{11, 0, 667},
- dictWord{11, 0, 688},
- dictWord{11, 0, 847},
- dictWord{11, 0, 927},
- dictWord{11, 0, 930},
- dictWord{11, 0, 940},
- dictWord{12, 0, 144},
- dictWord{12, 0, 325},
- dictWord{12, 0, 329},
- dictWord{12, 0, 389},
- dictWord{
- 12,
- 0,
- 403,
- },
- dictWord{12, 0, 451},
- dictWord{12, 0, 515},
- dictWord{12, 0, 604},
- dictWord{12, 0, 616},
- dictWord{12, 0, 626},
- dictWord{13, 0, 66},
- dictWord{
- 13,
- 0,
- 131,
- },
- dictWord{13, 0, 167},
- dictWord{13, 0, 236},
- dictWord{13, 0, 368},
- dictWord{13, 0, 411},
- dictWord{13, 0, 434},
- dictWord{13, 0, 453},
- dictWord{13, 0, 461},
- dictWord{13, 0, 474},
- dictWord{14, 0, 59},
- dictWord{14, 0, 60},
- dictWord{14, 0, 139},
- dictWord{14, 0, 152},
- dictWord{14, 0, 276},
- dictWord{14, 0, 353},
- dictWord{
- 14,
- 0,
- 402,
- },
- dictWord{15, 0, 28},
- dictWord{15, 0, 81},
- dictWord{15, 0, 123},
- dictWord{15, 0, 152},
- dictWord{18, 0, 136},
- dictWord{148, 0, 88},
- dictWord{
- 4,
- 11,
- 929,
- },
- dictWord{133, 11, 799},
- dictWord{136, 11, 46},
- dictWord{142, 0, 307},
- dictWord{4, 0, 609},
- dictWord{7, 0, 756},
- dictWord{9, 0, 544},
- dictWord{
- 11,
- 0,
- 413,
- },
- dictWord{144, 0, 25},
- dictWord{10, 0, 687},
- dictWord{7, 10, 619},
- dictWord{10, 10, 547},
- dictWord{11, 10, 122},
- dictWord{140, 10, 601},
- dictWord{
- 4,
- 0,
- 930,
- },
- dictWord{133, 0, 947},
- dictWord{133, 0, 939},
- dictWord{142, 0, 21},
- dictWord{4, 11, 892},
- dictWord{133, 11, 770},
- dictWord{133, 0, 962},
- dictWord{
- 5,
- 0,
- 651,
- },
- dictWord{8, 0, 170},
- dictWord{9, 0, 61},
- dictWord{9, 0, 63},
- dictWord{10, 0, 23},
- dictWord{10, 0, 37},
- dictWord{10, 0, 834},
- dictWord{11, 0, 4},
- dictWord{
- 11,
- 0,
- 187,
- },
- dictWord{11, 0, 281},
- dictWord{11, 0, 503},
- dictWord{11, 0, 677},
- dictWord{12, 0, 96},
- dictWord{12, 0, 130},
- dictWord{12, 0, 244},
- dictWord{14, 0, 5},
- dictWord{14, 0, 40},
- dictWord{14, 0, 162},
- dictWord{14, 0, 202},
- dictWord{146, 0, 133},
- dictWord{4, 0, 406},
- dictWord{5, 0, 579},
- dictWord{12, 0, 492},
- dictWord{
- 150,
- 0,
- 15,
- },
- dictWord{135, 11, 158},
- dictWord{135, 0, 597},
- dictWord{132, 0, 981},
- dictWord{132, 10, 888},
- dictWord{4, 10, 149},
- dictWord{138, 10, 368},
- dictWord{132, 0, 545},
- dictWord{4, 10, 154},
- dictWord{7, 10, 1134},
- dictWord{136, 10, 105},
- dictWord{135, 11, 2001},
- dictWord{134, 0, 1558},
- dictWord{
- 4,
- 10,
- 31,
- },
- dictWord{6, 10, 429},
- dictWord{7, 10, 962},
- dictWord{9, 10, 458},
- dictWord{139, 10, 691},
- dictWord{132, 10, 312},
- dictWord{135, 10, 1642},
- dictWord{
- 6,
- 0,
- 17,
- },
- dictWord{6, 0, 1304},
- dictWord{7, 0, 16},
- dictWord{7, 0, 1001},
- dictWord{9, 0, 886},
- dictWord{10, 0, 489},
- dictWord{10, 0, 800},
- dictWord{11, 0, 782},
- dictWord{12, 0, 320},
- dictWord{13, 0, 467},
- dictWord{14, 0, 145},
- dictWord{14, 0, 387},
- dictWord{143, 0, 119},
- dictWord{135, 0, 1982},
- dictWord{17, 0, 17},
- dictWord{7, 11, 1461},
- dictWord{140, 11, 91},
- dictWord{4, 10, 236},
- dictWord{132, 11, 602},
- dictWord{138, 0, 907},
- dictWord{136, 0, 110},
- dictWord{7, 0, 272},
- dictWord{19, 0, 53},
- dictWord{5, 10, 836},
- dictWord{5, 10, 857},
- dictWord{134, 10, 1680},
- dictWord{5, 0, 458},
- dictWord{7, 11, 1218},
- dictWord{136, 11, 303},
- dictWord{7, 0, 1983},
- dictWord{8, 0, 0},
- dictWord{8, 0, 171},
- dictWord{9, 0, 120},
- dictWord{9, 0, 732},
- dictWord{10, 0, 473},
- dictWord{11, 0, 656},
- dictWord{
- 11,
- 0,
- 998,
- },
- dictWord{18, 0, 0},
- dictWord{18, 0, 2},
- dictWord{19, 0, 21},
- dictWord{10, 10, 68},
- dictWord{139, 10, 494},
- dictWord{137, 11, 662},
- dictWord{4, 11, 13},
- dictWord{5, 11, 567},
- dictWord{7, 11, 1498},
- dictWord{9, 11, 124},
- dictWord{11, 11, 521},
- dictWord{140, 11, 405},
- dictWord{4, 10, 81},
- dictWord{139, 10, 867},
- dictWord{135, 11, 1006},
- dictWord{7, 11, 800},
- dictWord{7, 11, 1783},
- dictWord{138, 11, 12},
- dictWord{9, 0, 295},
- dictWord{10, 0, 443},
- dictWord{
- 5,
- 10,
- 282,
- },
- dictWord{8, 10, 650},
- dictWord{137, 10, 907},
- dictWord{132, 11, 735},
- dictWord{4, 11, 170},
- dictWord{4, 10, 775},
- dictWord{135, 11, 323},
- dictWord{
- 6,
- 0,
- 1844,
- },
- dictWord{10, 0, 924},
- dictWord{11, 11, 844},
- dictWord{12, 11, 104},
- dictWord{140, 11, 625},
- dictWord{5, 11, 304},
- dictWord{7, 11, 1403},
- dictWord{140, 11, 498},
- dictWord{134, 0, 1232},
- dictWord{4, 0, 519},
- dictWord{10, 0, 70},
- dictWord{12, 0, 26},
- dictWord{14, 0, 17},
- dictWord{14, 0, 178},
- dictWord{
- 15,
- 0,
- 34,
- },
- dictWord{149, 0, 12},
- dictWord{132, 0, 993},
- dictWord{4, 11, 148},
- dictWord{133, 11, 742},
- dictWord{6, 0, 31},
- dictWord{7, 0, 491},
- dictWord{7, 0, 530},
- dictWord{8, 0, 592},
- dictWord{11, 0, 53},
- dictWord{11, 0, 779},
- dictWord{12, 0, 167},
- dictWord{12, 0, 411},
- dictWord{14, 0, 14},
- dictWord{14, 0, 136},
- dictWord{
- 15,
- 0,
- 72,
- },
- dictWord{16, 0, 17},
- dictWord{144, 0, 72},
- dictWord{133, 0, 907},
- dictWord{134, 0, 733},
- dictWord{133, 11, 111},
- dictWord{4, 10, 71},
- dictWord{
- 5,
- 10,
- 376,
- },
- dictWord{7, 10, 119},
- dictWord{138, 10, 665},
- dictWord{136, 0, 55},
- dictWord{8, 0, 430},
- dictWord{136, 11, 430},
- dictWord{4, 0, 208},
- dictWord{
- 5,
- 0,
- 106,
- },
- dictWord{6, 0, 531},
- dictWord{8, 0, 408},
- dictWord{9, 0, 188},
- dictWord{138, 0, 572},
- dictWord{12, 0, 56},
- dictWord{11, 10, 827},
- dictWord{14, 10, 34},
- dictWord{143, 10, 148},
- dictWord{134, 0, 1693},
- dictWord{133, 11, 444},
- dictWord{132, 10, 479},
- dictWord{140, 0, 441},
- dictWord{9, 0, 449},
- dictWord{
- 10,
- 0,
- 192,
- },
- dictWord{138, 0, 740},
- dictWord{134, 0, 928},
- dictWord{4, 0, 241},
- dictWord{7, 10, 607},
- dictWord{136, 10, 99},
- dictWord{8, 11, 123},
- dictWord{
- 15,
- 11,
- 6,
- },
- dictWord{144, 11, 7},
- dictWord{6, 11, 285},
- dictWord{8, 11, 654},
- dictWord{11, 11, 749},
- dictWord{12, 11, 190},
- dictWord{12, 11, 327},
- dictWord{
- 13,
- 11,
- 120,
- },
- dictWord{13, 11, 121},
- dictWord{13, 11, 327},
- dictWord{15, 11, 47},
- dictWord{146, 11, 40},
- dictWord{4, 10, 41},
- dictWord{5, 10, 74},
- dictWord{
- 7,
- 10,
- 1627,
- },
- dictWord{11, 10, 871},
- dictWord{140, 10, 619},
- dictWord{7, 0, 1525},
- dictWord{11, 10, 329},
- dictWord{11, 10, 965},
- dictWord{12, 10, 241},
- dictWord{14, 10, 354},
- dictWord{15, 10, 22},
- dictWord{148, 10, 63},
- dictWord{132, 0, 259},
- dictWord{135, 11, 183},
- dictWord{9, 10, 209},
- dictWord{
- 137,
- 10,
- 300,
- },
- dictWord{5, 11, 937},
- dictWord{135, 11, 100},
- dictWord{133, 10, 98},
- dictWord{4, 0, 173},
- dictWord{5, 0, 312},
- dictWord{5, 0, 512},
- dictWord{
- 135,
- 0,
- 1285,
- },
- dictWord{141, 0, 185},
- dictWord{7, 0, 1603},
- dictWord{7, 0, 1691},
- dictWord{9, 0, 464},
- dictWord{11, 0, 195},
- dictWord{12, 0, 279},
- dictWord{
- 12,
- 0,
- 448,
- },
- dictWord{14, 0, 11},
- dictWord{147, 0, 102},
- dictWord{135, 0, 1113},
- dictWord{133, 10, 984},
- dictWord{4, 0, 452},
- dictWord{5, 0, 583},
- dictWord{
- 135,
- 0,
- 720,
- },
- dictWord{4, 0, 547},
- dictWord{5, 0, 817},
- dictWord{6, 0, 433},
- dictWord{7, 0, 593},
- dictWord{7, 0, 1378},
- dictWord{8, 0, 161},
- dictWord{9, 0, 284},
- dictWord{
- 10,
- 0,
- 313,
- },
- dictWord{139, 0, 886},
- dictWord{8, 0, 722},
- dictWord{4, 10, 182},
- dictWord{6, 10, 205},
- dictWord{135, 10, 220},
- dictWord{150, 0, 13},
- dictWord{
- 4,
- 10,
- 42,
- },
- dictWord{9, 10, 205},
- dictWord{9, 10, 786},
- dictWord{138, 10, 659},
- dictWord{6, 0, 289},
- dictWord{7, 0, 1670},
- dictWord{12, 0, 57},
- dictWord{151, 0, 4},
- dictWord{132, 10, 635},
- dictWord{14, 0, 43},
- dictWord{146, 0, 21},
- dictWord{139, 10, 533},
- dictWord{135, 0, 1694},
- dictWord{8, 0, 420},
- dictWord{
- 139,
- 0,
- 193,
- },
- dictWord{135, 0, 409},
- dictWord{132, 10, 371},
- dictWord{4, 10, 272},
- dictWord{135, 10, 836},
- dictWord{5, 10, 825},
- dictWord{134, 10, 1640},
- dictWord{5, 11, 251},
- dictWord{5, 11, 956},
- dictWord{8, 11, 268},
- dictWord{9, 11, 214},
- dictWord{146, 11, 142},
- dictWord{138, 0, 308},
- dictWord{6, 0, 1863},
- dictWord{141, 11, 37},
- dictWord{137, 10, 879},
- dictWord{7, 10, 317},
- dictWord{135, 10, 569},
- dictWord{132, 11, 294},
- dictWord{134, 0, 790},
- dictWord{
- 5,
- 0,
- 1002,
- },
- dictWord{136, 0, 745},
- dictWord{5, 11, 346},
- dictWord{5, 11, 711},
- dictWord{136, 11, 390},
- dictWord{135, 0, 289},
- dictWord{5, 0, 504},
- dictWord{
- 11,
- 0,
- 68,
- },
- dictWord{137, 10, 307},
- dictWord{4, 0, 239},
- dictWord{6, 0, 477},
- dictWord{7, 0, 1607},
- dictWord{139, 0, 617},
- dictWord{149, 0, 13},
- dictWord{
- 133,
- 0,
- 609,
- },
- dictWord{133, 11, 624},
- dictWord{5, 11, 783},
- dictWord{7, 11, 1998},
- dictWord{135, 11, 2047},
- dictWord{133, 10, 525},
- dictWord{132, 0, 367},
- dictWord{132, 11, 594},
- dictWord{6, 0, 528},
- dictWord{133, 10, 493},
- dictWord{4, 10, 174},
- dictWord{135, 10, 911},
- dictWord{8, 10, 417},
- dictWord{
- 137,
- 10,
- 782,
- },
- dictWord{132, 0, 694},
- dictWord{7, 0, 548},
- dictWord{137, 0, 58},
- dictWord{4, 10, 32},
- dictWord{5, 10, 215},
- dictWord{6, 10, 269},
- dictWord{7, 10, 1782},
- dictWord{7, 10, 1892},
- dictWord{10, 10, 16},
- dictWord{11, 10, 822},
- dictWord{11, 10, 954},
- dictWord{141, 10, 481},
- dictWord{140, 0, 687},
- dictWord{
- 7,
- 0,
- 1749,
- },
- dictWord{136, 10, 477},
- dictWord{132, 11, 569},
- dictWord{133, 10, 308},
- dictWord{135, 10, 1088},
- dictWord{4, 0, 661},
- dictWord{138, 0, 1004},
- dictWord{5, 11, 37},
- dictWord{6, 11, 39},
- dictWord{6, 11, 451},
- dictWord{7, 11, 218},
- dictWord{7, 11, 667},
- dictWord{7, 11, 1166},
- dictWord{7, 11, 1687},
- dictWord{8, 11, 662},
- dictWord{144, 11, 2},
- dictWord{9, 0, 445},
- dictWord{12, 0, 53},
- dictWord{13, 0, 492},
- dictWord{5, 10, 126},
- dictWord{8, 10, 297},
- dictWord{
- 9,
- 10,
- 366,
- },
- dictWord{140, 10, 374},
- dictWord{7, 10, 1551},
- dictWord{139, 10, 361},
- dictWord{148, 0, 74},
- dictWord{134, 11, 508},
- dictWord{135, 0, 213},
- dictWord{132, 10, 175},
- dictWord{132, 10, 685},
- dictWord{6, 0, 760},
- dictWord{6, 0, 834},
- dictWord{134, 0, 1248},
- dictWord{7, 11, 453},
- dictWord{7, 11, 635},
- dictWord{7, 11, 796},
- dictWord{8, 11, 331},
- dictWord{9, 11, 328},
- dictWord{9, 11, 330},
- dictWord{9, 11, 865},
- dictWord{10, 11, 119},
- dictWord{10, 11, 235},
- dictWord{11, 11, 111},
- dictWord{11, 11, 129},
- dictWord{11, 11, 240},
- dictWord{12, 11, 31},
- dictWord{12, 11, 66},
- dictWord{12, 11, 222},
- dictWord{12, 11, 269},
- dictWord{12, 11, 599},
- dictWord{12, 11, 689},
- dictWord{13, 11, 186},
- dictWord{13, 11, 364},
- dictWord{142, 11, 345},
- dictWord{7, 0, 1672},
- dictWord{
- 139,
- 0,
- 189,
- },
- dictWord{133, 10, 797},
- dictWord{133, 10, 565},
- dictWord{6, 0, 1548},
- dictWord{6, 11, 98},
- dictWord{7, 11, 585},
- dictWord{135, 11, 702},
- dictWord{
- 9,
- 0,
- 968,
- },
- dictWord{15, 0, 192},
- dictWord{149, 0, 56},
- dictWord{4, 10, 252},
- dictWord{6, 11, 37},
- dictWord{7, 11, 299},
- dictWord{7, 10, 1068},
- dictWord{
- 7,
- 11,
- 1666,
- },
- dictWord{8, 11, 195},
- dictWord{8, 11, 316},
- dictWord{9, 11, 178},
- dictWord{9, 11, 276},
- dictWord{9, 11, 339},
- dictWord{9, 11, 536},
- dictWord{
- 10,
- 11,
- 102,
- },
- dictWord{10, 11, 362},
- dictWord{10, 10, 434},
- dictWord{10, 11, 785},
- dictWord{11, 11, 55},
- dictWord{11, 11, 149},
- dictWord{11, 10, 228},
- dictWord{
- 11,
- 10,
- 426,
- },
- dictWord{11, 11, 773},
- dictWord{13, 10, 231},
- dictWord{13, 11, 416},
- dictWord{13, 11, 419},
- dictWord{14, 11, 38},
- dictWord{14, 11, 41},
- dictWord{14, 11, 210},
- dictWord{18, 10, 106},
- dictWord{148, 10, 87},
- dictWord{4, 0, 751},
- dictWord{11, 0, 390},
- dictWord{140, 0, 32},
- dictWord{4, 0, 409},
- dictWord{133, 0, 78},
- dictWord{11, 11, 458},
- dictWord{12, 11, 15},
- dictWord{140, 11, 432},
- dictWord{7, 0, 1602},
- dictWord{10, 0, 257},
- dictWord{10, 0, 698},
- dictWord{11, 0, 544},
- dictWord{11, 0, 585},
- dictWord{12, 0, 212},
- dictWord{13, 0, 307},
- dictWord{5, 10, 231},
- dictWord{7, 10, 601},
- dictWord{9, 10, 277},
- dictWord{
- 9,
- 10,
- 674,
- },
- dictWord{10, 10, 178},
- dictWord{10, 10, 418},
- dictWord{10, 10, 509},
- dictWord{11, 10, 531},
- dictWord{12, 10, 113},
- dictWord{12, 10, 475},
- dictWord{13, 10, 99},
- dictWord{142, 10, 428},
- dictWord{6, 0, 473},
- dictWord{145, 0, 105},
- dictWord{6, 0, 1949},
- dictWord{15, 0, 156},
- dictWord{133, 11, 645},
- dictWord{7, 10, 1591},
- dictWord{144, 10, 43},
- dictWord{135, 0, 1779},
- dictWord{135, 10, 1683},
- dictWord{4, 11, 290},
- dictWord{135, 11, 1356},
- dictWord{134, 0, 763},
- dictWord{6, 11, 70},
- dictWord{7, 11, 1292},
- dictWord{10, 11, 762},
- dictWord{139, 11, 288},
- dictWord{142, 0, 29},
- dictWord{140, 11, 428},
- dictWord{7, 0, 883},
- dictWord{7, 11, 131},
- dictWord{7, 11, 422},
- dictWord{8, 11, 210},
- dictWord{140, 11, 573},
- dictWord{134, 0, 488},
- dictWord{4, 10, 399},
- dictWord{5, 10, 119},
- dictWord{5, 10, 494},
- dictWord{7, 10, 751},
- dictWord{137, 10, 556},
- dictWord{133, 0, 617},
- dictWord{132, 11, 936},
- dictWord{
- 139,
- 0,
- 50,
- },
- dictWord{7, 0, 1518},
- dictWord{139, 0, 694},
- dictWord{137, 0, 785},
- dictWord{4, 0, 546},
- dictWord{135, 0, 2042},
- dictWord{7, 11, 716},
- dictWord{
- 13,
- 11,
- 97,
- },
- dictWord{141, 11, 251},
- dictWord{132, 11, 653},
- dictWord{145, 0, 22},
- dictWord{134, 0, 1016},
- dictWord{4, 0, 313},
- dictWord{133, 0, 577},
- dictWord{
- 136,
- 11,
- 657,
- },
- dictWord{8, 0, 184},
- dictWord{141, 0, 433},
- dictWord{135, 0, 935},
- dictWord{6, 0, 720},
- dictWord{9, 0, 114},
- dictWord{146, 11, 80},
- dictWord{
- 12,
- 0,
- 186,
- },
- dictWord{12, 0, 292},
- dictWord{14, 0, 100},
- dictWord{18, 0, 70},
- dictWord{7, 10, 594},
- dictWord{7, 10, 851},
- dictWord{7, 10, 1858},
- dictWord{
- 9,
- 10,
- 411,
- },
- dictWord{9, 10, 574},
- dictWord{9, 10, 666},
- dictWord{9, 10, 737},
- dictWord{10, 10, 346},
- dictWord{10, 10, 712},
- dictWord{11, 10, 246},
- dictWord{
- 11,
- 10,
- 432,
- },
- dictWord{11, 10, 517},
- dictWord{11, 10, 647},
- dictWord{11, 10, 679},
- dictWord{11, 10, 727},
- dictWord{12, 10, 304},
- dictWord{12, 10, 305},
- dictWord{12, 10, 323},
- dictWord{12, 10, 483},
- dictWord{12, 10, 572},
- dictWord{12, 10, 593},
- dictWord{12, 10, 602},
- dictWord{13, 10, 95},
- dictWord{13, 10, 101},
- dictWord{13, 10, 171},
- dictWord{13, 10, 315},
- dictWord{13, 10, 378},
- dictWord{13, 10, 425},
- dictWord{13, 10, 475},
- dictWord{14, 10, 63},
- dictWord{
- 14,
- 10,
- 380,
- },
- dictWord{14, 10, 384},
- dictWord{15, 10, 133},
- dictWord{18, 10, 112},
- dictWord{148, 10, 72},
- dictWord{135, 10, 1093},
- dictWord{135, 11, 1836},
- dictWord{132, 10, 679},
- dictWord{137, 10, 203},
- dictWord{11, 0, 402},
- dictWord{12, 0, 109},
- dictWord{12, 0, 431},
- dictWord{13, 0, 179},
- dictWord{13, 0, 206},
- dictWord{14, 0, 217},
- dictWord{16, 0, 3},
- dictWord{148, 0, 53},
- dictWord{7, 11, 1368},
- dictWord{8, 11, 232},
- dictWord{8, 11, 361},
- dictWord{10, 11, 682},
- dictWord{138, 11, 742},
- dictWord{137, 10, 714},
- dictWord{5, 0, 886},
- dictWord{6, 0, 46},
- dictWord{6, 0, 1790},
- dictWord{7, 0, 14},
- dictWord{7, 0, 732},
- dictWord{
- 7,
- 0,
- 1654,
- },
- dictWord{8, 0, 95},
- dictWord{8, 0, 327},
- dictWord{8, 0, 616},
- dictWord{9, 0, 892},
- dictWord{10, 0, 598},
- dictWord{10, 0, 769},
- dictWord{11, 0, 134},
- dictWord{11, 0, 747},
- dictWord{12, 0, 378},
- dictWord{14, 0, 97},
- dictWord{137, 11, 534},
- dictWord{4, 0, 969},
- dictWord{136, 10, 825},
- dictWord{137, 11, 27},
- dictWord{6, 0, 727},
- dictWord{142, 11, 12},
- dictWord{133, 0, 1021},
- dictWord{134, 0, 1190},
- dictWord{134, 11, 1657},
- dictWord{5, 10, 143},
- dictWord{
- 5,
- 10,
- 769,
- },
- dictWord{6, 10, 1760},
- dictWord{7, 10, 682},
- dictWord{7, 10, 1992},
- dictWord{136, 10, 736},
- dictWord{132, 0, 153},
- dictWord{135, 11, 127},
- dictWord{133, 0, 798},
- dictWord{132, 0, 587},
- dictWord{6, 0, 598},
- dictWord{7, 0, 42},
- dictWord{8, 0, 695},
- dictWord{10, 0, 212},
- dictWord{11, 0, 158},
- dictWord{
- 14,
- 0,
- 196,
- },
- dictWord{145, 0, 85},
- dictWord{133, 10, 860},
- dictWord{6, 0, 1929},
- dictWord{134, 0, 1933},
- dictWord{5, 0, 957},
- dictWord{5, 0, 1008},
- dictWord{
- 9,
- 0,
- 577,
- },
- dictWord{12, 0, 141},
- dictWord{6, 10, 422},
- dictWord{7, 10, 0},
- dictWord{7, 10, 1544},
- dictWord{8, 11, 364},
- dictWord{11, 10, 990},
- dictWord{
- 12,
- 10,
- 453,
- },
- dictWord{13, 10, 47},
- dictWord{141, 10, 266},
- dictWord{134, 0, 1319},
- dictWord{4, 0, 129},
- dictWord{135, 0, 465},
- dictWord{7, 0, 470},
- dictWord{
- 7,
- 0,
- 1057,
- },
- dictWord{7, 0, 1201},
- dictWord{9, 0, 755},
- dictWord{11, 0, 906},
- dictWord{140, 0, 527},
- dictWord{7, 0, 908},
- dictWord{146, 0, 7},
- dictWord{5, 0, 148},
- dictWord{136, 0, 450},
- dictWord{5, 10, 515},
- dictWord{137, 10, 131},
- dictWord{7, 10, 1605},
- dictWord{11, 10, 962},
- dictWord{146, 10, 139},
- dictWord{
- 132,
- 10,
- 646,
- },
- dictWord{134, 0, 1166},
- dictWord{4, 10, 396},
- dictWord{7, 10, 728},
- dictWord{9, 10, 117},
- dictWord{13, 10, 202},
- dictWord{148, 10, 51},
- dictWord{
- 6,
- 10,
- 121,
- },
- dictWord{6, 10, 124},
- dictWord{6, 10, 357},
- dictWord{7, 10, 1138},
- dictWord{7, 10, 1295},
- dictWord{8, 10, 162},
- dictWord{139, 10, 655},
- dictWord{14, 0, 374},
- dictWord{142, 11, 374},
- dictWord{138, 0, 253},
- dictWord{139, 0, 1003},
- dictWord{5, 11, 909},
- dictWord{9, 11, 849},
- dictWord{
- 138,
- 11,
- 805,
- },
- dictWord{133, 10, 237},
- dictWord{7, 11, 525},
- dictWord{7, 11, 1579},
- dictWord{8, 11, 497},
- dictWord{136, 11, 573},
- dictWord{137, 0, 46},
- dictWord{
- 132,
- 0,
- 879,
- },
- dictWord{134, 0, 806},
- dictWord{135, 0, 1868},
- dictWord{6, 0, 1837},
- dictWord{134, 0, 1846},
- dictWord{6, 0, 730},
- dictWord{134, 0, 881},
- dictWord{7, 0, 965},
- dictWord{7, 0, 1460},
- dictWord{7, 0, 1604},
- dictWord{7, 11, 193},
- dictWord{7, 11, 397},
- dictWord{7, 11, 1105},
- dictWord{8, 11, 124},
- dictWord{
- 8,
- 11,
- 619,
- },
- dictWord{9, 11, 305},
- dictWord{10, 11, 264},
- dictWord{11, 11, 40},
- dictWord{12, 11, 349},
- dictWord{13, 11, 134},
- dictWord{13, 11, 295},
- dictWord{14, 11, 155},
- dictWord{15, 11, 120},
- dictWord{146, 11, 105},
- dictWord{136, 0, 506},
- dictWord{143, 0, 10},
- dictWord{4, 11, 262},
- dictWord{7, 11, 342},
- dictWord{7, 10, 571},
- dictWord{7, 10, 1877},
- dictWord{10, 10, 366},
- dictWord{141, 11, 23},
- dictWord{133, 11, 641},
- dictWord{10, 0, 22},
- dictWord{9, 10, 513},
- dictWord{10, 10, 39},
- dictWord{12, 10, 122},
- dictWord{140, 10, 187},
- dictWord{135, 11, 1431},
- dictWord{150, 11, 49},
- dictWord{4, 11, 99},
- dictWord{
- 6,
- 11,
- 250,
- },
- dictWord{6, 11, 346},
- dictWord{8, 11, 127},
- dictWord{138, 11, 81},
- dictWord{6, 0, 2014},
- dictWord{8, 0, 928},
- dictWord{10, 0, 960},
- dictWord{10, 0, 979},
- dictWord{140, 0, 996},
- dictWord{134, 0, 296},
- dictWord{132, 11, 915},
- dictWord{5, 11, 75},
- dictWord{9, 11, 517},
- dictWord{10, 11, 470},
- dictWord{
- 12,
- 11,
- 155,
- },
- dictWord{141, 11, 224},
- dictWord{137, 10, 873},
- dictWord{4, 0, 854},
- dictWord{140, 11, 18},
- dictWord{134, 0, 587},
- dictWord{7, 10, 107},
- dictWord{
- 7,
- 10,
- 838,
- },
- dictWord{8, 10, 550},
- dictWord{138, 10, 401},
- dictWord{11, 0, 636},
- dictWord{15, 0, 145},
- dictWord{17, 0, 34},
- dictWord{19, 0, 50},
- dictWord{
- 23,
- 0,
- 20,
- },
- dictWord{11, 10, 588},
- dictWord{11, 10, 864},
- dictWord{11, 10, 968},
- dictWord{143, 10, 160},
- dictWord{135, 11, 216},
- dictWord{7, 0, 982},
- dictWord{
- 10,
- 0,
- 32,
- },
- dictWord{143, 0, 56},
- dictWord{133, 10, 768},
- dictWord{133, 11, 954},
- dictWord{6, 11, 304},
- dictWord{7, 11, 1114},
- dictWord{8, 11, 418},
- dictWord{
- 10,
- 11,
- 345,
- },
- dictWord{11, 11, 341},
- dictWord{11, 11, 675},
- dictWord{141, 11, 40},
- dictWord{9, 11, 410},
- dictWord{139, 11, 425},
- dictWord{136, 0, 941},
- dictWord{5, 0, 435},
- dictWord{132, 10, 894},
- dictWord{5, 0, 85},
- dictWord{6, 0, 419},
- dictWord{7, 0, 134},
- dictWord{7, 0, 305},
- dictWord{7, 0, 361},
- dictWord{
- 7,
- 0,
- 1337,
- },
- dictWord{8, 0, 71},
- dictWord{140, 0, 519},
- dictWord{140, 0, 688},
- dictWord{135, 0, 740},
- dictWord{5, 0, 691},
- dictWord{7, 0, 345},
- dictWord{9, 0, 94},
- dictWord{140, 0, 169},
- dictWord{5, 0, 183},
- dictWord{6, 0, 582},
- dictWord{10, 0, 679},
- dictWord{140, 0, 435},
- dictWord{134, 11, 14},
- dictWord{6, 0, 945},
- dictWord{135, 0, 511},
- dictWord{134, 11, 1708},
- dictWord{5, 11, 113},
- dictWord{6, 11, 243},
- dictWord{7, 11, 1865},
- dictWord{11, 11, 161},
- dictWord{16, 11, 37},
- dictWord{145, 11, 99},
- dictWord{132, 11, 274},
- dictWord{137, 0, 539},
- dictWord{7, 0, 1993},
- dictWord{8, 0, 684},
- dictWord{134, 10, 272},
- dictWord{
- 6,
- 0,
- 659,
- },
- dictWord{134, 0, 982},
- dictWord{4, 10, 9},
- dictWord{5, 10, 128},
- dictWord{7, 10, 368},
- dictWord{11, 10, 480},
- dictWord{148, 10, 3},
- dictWord{
- 134,
- 0,
- 583,
- },
- dictWord{132, 0, 803},
- dictWord{133, 0, 704},
- dictWord{4, 0, 179},
- dictWord{5, 0, 198},
- dictWord{133, 0, 697},
- dictWord{7, 0, 347},
- dictWord{7, 0, 971},
- dictWord{8, 0, 181},
- dictWord{10, 0, 711},
- dictWord{135, 11, 166},
- dictWord{136, 10, 682},
- dictWord{4, 10, 2},
- dictWord{7, 10, 545},
- dictWord{7, 10, 894},
- dictWord{136, 11, 521},
- dictWord{135, 0, 481},
- dictWord{132, 0, 243},
- dictWord{5, 0, 203},
- dictWord{7, 0, 19},
- dictWord{7, 0, 71},
- dictWord{7, 0, 113},
- dictWord{
- 10,
- 0,
- 405,
- },
- dictWord{11, 0, 357},
- dictWord{142, 0, 240},
- dictWord{5, 11, 725},
- dictWord{5, 11, 727},
- dictWord{135, 11, 1811},
- dictWord{6, 0, 826},
- dictWord{
- 137,
- 11,
- 304,
- },
- dictWord{7, 0, 1450},
- dictWord{139, 0, 99},
- dictWord{133, 11, 654},
- dictWord{134, 0, 492},
- dictWord{5, 0, 134},
- dictWord{6, 0, 408},
- dictWord{
- 6,
- 0,
- 495,
- },
- dictWord{7, 0, 1593},
- dictWord{6, 11, 273},
- dictWord{10, 11, 188},
- dictWord{13, 11, 377},
- dictWord{146, 11, 77},
- dictWord{9, 10, 769},
- dictWord{
- 140,
- 10,
- 185,
- },
- dictWord{135, 11, 410},
- dictWord{142, 0, 4},
- dictWord{4, 0, 665},
- dictWord{134, 11, 1785},
- dictWord{4, 0, 248},
- dictWord{7, 0, 137},
- dictWord{
- 137,
- 0,
- 349,
- },
- dictWord{5, 10, 530},
- dictWord{142, 10, 113},
- dictWord{7, 0, 1270},
- dictWord{139, 0, 612},
- dictWord{132, 11, 780},
- dictWord{5, 0, 371},
- dictWord{135, 0, 563},
- dictWord{135, 0, 826},
- dictWord{6, 0, 1535},
- dictWord{23, 0, 21},
- dictWord{151, 0, 23},
- dictWord{4, 0, 374},
- dictWord{7, 0, 547},
- dictWord{
- 7,
- 0,
- 1700,
- },
- dictWord{7, 0, 1833},
- dictWord{139, 0, 858},
- dictWord{133, 10, 556},
- dictWord{7, 11, 612},
- dictWord{8, 11, 545},
- dictWord{8, 11, 568},
- dictWord{
- 8,
- 11,
- 642,
- },
- dictWord{9, 11, 717},
- dictWord{10, 11, 541},
- dictWord{10, 11, 763},
- dictWord{11, 11, 449},
- dictWord{12, 11, 489},
- dictWord{13, 11, 153},
- dictWord{
- 13,
- 11,
- 296,
- },
- dictWord{14, 11, 138},
- dictWord{14, 11, 392},
- dictWord{15, 11, 50},
- dictWord{16, 11, 6},
- dictWord{16, 11, 12},
- dictWord{148, 11, 9},
- dictWord{
- 9,
- 0,
- 311,
- },
- dictWord{141, 0, 42},
- dictWord{8, 10, 16},
- dictWord{140, 10, 568},
- dictWord{6, 0, 1968},
- dictWord{6, 0, 2027},
- dictWord{138, 0, 991},
- dictWord{
- 6,
- 0,
- 1647,
- },
- dictWord{7, 0, 1552},
- dictWord{7, 0, 2010},
- dictWord{9, 0, 494},
- dictWord{137, 0, 509},
- dictWord{133, 11, 948},
- dictWord{6, 10, 186},
- dictWord{
- 137,
- 10,
- 426,
- },
- dictWord{134, 0, 769},
- dictWord{134, 0, 642},
- dictWord{132, 10, 585},
- dictWord{6, 0, 123},
- dictWord{7, 0, 214},
- dictWord{9, 0, 728},
- dictWord{
- 10,
- 0,
- 157,
- },
- dictWord{11, 0, 346},
- dictWord{11, 0, 662},
- dictWord{143, 0, 106},
- dictWord{142, 11, 381},
- dictWord{135, 0, 1435},
- dictWord{4, 11, 532},
- dictWord{
- 5,
- 11,
- 706,
- },
- dictWord{135, 11, 662},
- dictWord{5, 11, 837},
- dictWord{134, 11, 1651},
- dictWord{4, 10, 93},
- dictWord{5, 10, 252},
- dictWord{6, 10, 229},
- dictWord{
- 7,
- 10,
- 291,
- },
- dictWord{9, 10, 550},
- dictWord{139, 10, 644},
- dictWord{148, 0, 79},
- dictWord{137, 10, 749},
- dictWord{134, 0, 1425},
- dictWord{
- 137,
- 10,
- 162,
- },
- dictWord{4, 11, 362},
- dictWord{7, 11, 52},
- dictWord{7, 11, 303},
- dictWord{140, 11, 166},
- dictWord{132, 10, 381},
- dictWord{4, 11, 330},
- dictWord{
- 7,
- 11,
- 933,
- },
- dictWord{7, 11, 2012},
- dictWord{136, 11, 292},
- dictWord{135, 11, 767},
- dictWord{4, 0, 707},
- dictWord{5, 0, 588},
- dictWord{6, 0, 393},
- dictWord{
- 13,
- 0,
- 106,
- },
- dictWord{18, 0, 49},
- dictWord{147, 0, 41},
- dictWord{6, 0, 211},
- dictWord{7, 0, 1690},
- dictWord{11, 0, 486},
- dictWord{140, 0, 369},
- dictWord{
- 137,
- 11,
- 883,
- },
- dictWord{4, 11, 703},
- dictWord{135, 11, 207},
- dictWord{4, 0, 187},
- dictWord{5, 0, 184},
- dictWord{5, 0, 690},
- dictWord{7, 0, 1869},
- dictWord{10, 0, 756},
- dictWord{139, 0, 783},
- dictWord{132, 11, 571},
- dictWord{134, 0, 1382},
- dictWord{5, 0, 175},
- dictWord{6, 10, 77},
- dictWord{6, 10, 157},
- dictWord{7, 10, 974},
- dictWord{7, 10, 1301},
- dictWord{7, 10, 1339},
- dictWord{7, 10, 1490},
- dictWord{7, 10, 1873},
- dictWord{137, 10, 628},
- dictWord{134, 0, 1493},
- dictWord{
- 5,
- 11,
- 873,
- },
- dictWord{133, 11, 960},
- dictWord{134, 0, 1007},
- dictWord{12, 11, 93},
- dictWord{12, 11, 501},
- dictWord{13, 11, 362},
- dictWord{14, 11, 151},
- dictWord{15, 11, 40},
- dictWord{15, 11, 59},
- dictWord{16, 11, 46},
- dictWord{17, 11, 25},
- dictWord{18, 11, 14},
- dictWord{18, 11, 134},
- dictWord{19, 11, 25},
- dictWord{
- 19,
- 11,
- 69,
- },
- dictWord{20, 11, 16},
- dictWord{20, 11, 19},
- dictWord{20, 11, 66},
- dictWord{21, 11, 23},
- dictWord{21, 11, 25},
- dictWord{150, 11, 42},
- dictWord{
- 11,
- 10,
- 919,
- },
- dictWord{141, 10, 409},
- dictWord{134, 0, 219},
- dictWord{5, 0, 582},
- dictWord{6, 0, 1646},
- dictWord{7, 0, 99},
- dictWord{7, 0, 1962},
- dictWord{
- 7,
- 0,
- 1986,
- },
- dictWord{8, 0, 515},
- dictWord{8, 0, 773},
- dictWord{9, 0, 23},
- dictWord{9, 0, 491},
- dictWord{12, 0, 620},
- dictWord{142, 0, 93},
- dictWord{133, 0, 851},
- dictWord{5, 11, 33},
- dictWord{134, 11, 470},
- dictWord{135, 11, 1291},
- dictWord{134, 0, 1278},
- dictWord{135, 11, 1882},
- dictWord{135, 10, 1489},
- dictWord{132, 0, 1000},
- dictWord{138, 0, 982},
- dictWord{8, 0, 762},
- dictWord{8, 0, 812},
- dictWord{137, 0, 910},
- dictWord{6, 11, 47},
- dictWord{7, 11, 90},
- dictWord{
- 7,
- 11,
- 664,
- },
- dictWord{7, 11, 830},
- dictWord{7, 11, 1380},
- dictWord{7, 11, 2025},
- dictWord{8, 11, 448},
- dictWord{136, 11, 828},
- dictWord{4, 0, 98},
- dictWord{
- 4,
- 0,
- 940,
- },
- dictWord{6, 0, 1819},
- dictWord{6, 0, 1834},
- dictWord{6, 0, 1841},
- dictWord{7, 0, 1365},
- dictWord{8, 0, 859},
- dictWord{8, 0, 897},
- dictWord{8, 0, 918},
- dictWord{9, 0, 422},
- dictWord{9, 0, 670},
- dictWord{10, 0, 775},
- dictWord{10, 0, 894},
- dictWord{10, 0, 909},
- dictWord{10, 0, 910},
- dictWord{10, 0, 935},
- dictWord{
- 11,
- 0,
- 210,
- },
- dictWord{12, 0, 750},
- dictWord{12, 0, 755},
- dictWord{13, 0, 26},
- dictWord{13, 0, 457},
- dictWord{13, 0, 476},
- dictWord{16, 0, 100},
- dictWord{16, 0, 109},
- dictWord{18, 0, 173},
- dictWord{18, 0, 175},
- dictWord{8, 10, 398},
- dictWord{9, 10, 681},
- dictWord{139, 10, 632},
- dictWord{9, 11, 417},
- dictWord{
- 137,
- 11,
- 493,
- },
- dictWord{136, 10, 645},
- dictWord{138, 0, 906},
- dictWord{134, 0, 1730},
- dictWord{134, 10, 20},
- dictWord{133, 11, 1019},
- dictWord{134, 0, 1185},
- dictWord{10, 0, 40},
- dictWord{136, 10, 769},
- dictWord{9, 0, 147},
- dictWord{134, 11, 208},
- dictWord{140, 0, 650},
- dictWord{5, 0, 209},
- dictWord{6, 0, 30},
- dictWord{11, 0, 56},
- dictWord{139, 0, 305},
- dictWord{132, 0, 553},
- dictWord{138, 11, 344},
- dictWord{6, 11, 68},
- dictWord{7, 11, 398},
- dictWord{7, 11, 448},
- dictWord{
- 7,
- 11,
- 1629,
- },
- dictWord{7, 11, 1813},
- dictWord{8, 11, 387},
- dictWord{8, 11, 442},
- dictWord{9, 11, 710},
- dictWord{10, 11, 282},
- dictWord{138, 11, 722},
- dictWord{5, 0, 597},
- dictWord{14, 0, 20},
- dictWord{142, 11, 20},
- dictWord{135, 0, 1614},
- dictWord{135, 10, 1757},
- dictWord{4, 0, 150},
- dictWord{5, 0, 303},
- dictWord{6, 0, 327},
- dictWord{135, 10, 937},
- dictWord{16, 0, 49},
- dictWord{7, 10, 1652},
- dictWord{144, 11, 49},
- dictWord{8, 0, 192},
- dictWord{10, 0, 78},
- dictWord{
- 141,
- 0,
- 359,
- },
- dictWord{135, 0, 786},
- dictWord{143, 0, 134},
- dictWord{6, 0, 1638},
- dictWord{7, 0, 79},
- dictWord{7, 0, 496},
- dictWord{9, 0, 138},
- dictWord{
- 10,
- 0,
- 336,
- },
- dictWord{11, 0, 12},
- dictWord{12, 0, 412},
- dictWord{12, 0, 440},
- dictWord{142, 0, 305},
- dictWord{136, 11, 491},
- dictWord{4, 10, 579},
- dictWord{
- 5,
- 10,
- 226,
- },
- dictWord{5, 10, 323},
- dictWord{135, 10, 960},
- dictWord{7, 0, 204},
- dictWord{7, 0, 415},
- dictWord{8, 0, 42},
- dictWord{10, 0, 85},
- dictWord{139, 0, 564},
- dictWord{132, 0, 614},
- dictWord{4, 11, 403},
- dictWord{5, 11, 441},
- dictWord{7, 11, 450},
- dictWord{11, 11, 101},
- dictWord{12, 11, 193},
- dictWord{141, 11, 430},
- dictWord{135, 11, 1927},
- dictWord{135, 11, 1330},
- dictWord{4, 0, 3},
- dictWord{5, 0, 247},
- dictWord{5, 0, 644},
- dictWord{7, 0, 744},
- dictWord{7, 0, 1207},
- dictWord{7, 0, 1225},
- dictWord{7, 0, 1909},
- dictWord{146, 0, 147},
- dictWord{136, 0, 942},
- dictWord{4, 0, 1019},
- dictWord{134, 0, 2023},
- dictWord{5, 11, 679},
- dictWord{133, 10, 973},
- dictWord{5, 0, 285},
- dictWord{9, 0, 67},
- dictWord{13, 0, 473},
- dictWord{143, 0, 82},
- dictWord{7, 11, 328},
- dictWord{137, 11, 326},
- dictWord{151, 0, 8},
- dictWord{6, 10, 135},
- dictWord{135, 10, 1176},
- dictWord{135, 11, 1128},
- dictWord{134, 0, 1309},
- dictWord{135, 11, 1796},
- dictWord{
- 135,
- 10,
- 314,
- },
- dictWord{4, 11, 574},
- dictWord{7, 11, 350},
- dictWord{7, 11, 1024},
- dictWord{8, 11, 338},
- dictWord{9, 11, 677},
- dictWord{10, 11, 808},
- dictWord{
- 139,
- 11,
- 508,
- },
- dictWord{7, 11, 818},
- dictWord{17, 11, 14},
- dictWord{17, 11, 45},
- dictWord{18, 11, 75},
- dictWord{148, 11, 18},
- dictWord{146, 10, 4},
- dictWord{
- 135,
- 11,
- 1081,
- },
- dictWord{4, 0, 29},
- dictWord{6, 0, 532},
- dictWord{7, 0, 1628},
- dictWord{7, 0, 1648},
- dictWord{9, 0, 350},
- dictWord{10, 0, 433},
- dictWord{11, 0, 97},
- dictWord{11, 0, 557},
- dictWord{11, 0, 745},
- dictWord{12, 0, 289},
- dictWord{12, 0, 335},
- dictWord{12, 0, 348},
- dictWord{12, 0, 606},
- dictWord{13, 0, 116},
- dictWord{13, 0, 233},
- dictWord{13, 0, 466},
- dictWord{14, 0, 181},
- dictWord{14, 0, 209},
- dictWord{14, 0, 232},
- dictWord{14, 0, 236},
- dictWord{14, 0, 300},
- dictWord{
- 16,
- 0,
- 41,
- },
- dictWord{148, 0, 97},
- dictWord{7, 0, 318},
- dictWord{6, 10, 281},
- dictWord{8, 10, 282},
- dictWord{8, 10, 480},
- dictWord{8, 10, 499},
- dictWord{9, 10, 198},
- dictWord{10, 10, 143},
- dictWord{10, 10, 169},
- dictWord{10, 10, 211},
- dictWord{10, 10, 417},
- dictWord{10, 10, 574},
- dictWord{11, 10, 147},
- dictWord{
- 11,
- 10,
- 395,
- },
- dictWord{12, 10, 75},
- dictWord{12, 10, 407},
- dictWord{12, 10, 608},
- dictWord{13, 10, 500},
- dictWord{142, 10, 251},
- dictWord{135, 11, 1676},
- dictWord{135, 11, 2037},
- dictWord{135, 0, 1692},
- dictWord{5, 0, 501},
- dictWord{7, 0, 1704},
- dictWord{9, 0, 553},
- dictWord{11, 0, 520},
- dictWord{12, 0, 557},
- dictWord{141, 0, 249},
- dictWord{6, 0, 1527},
- dictWord{14, 0, 324},
- dictWord{15, 0, 55},
- dictWord{15, 0, 80},
- dictWord{14, 11, 324},
- dictWord{15, 11, 55},
- dictWord{143, 11, 80},
- dictWord{135, 10, 1776},
- dictWord{8, 0, 988},
- dictWord{137, 11, 297},
- dictWord{132, 10, 419},
- dictWord{142, 0, 223},
- dictWord{
- 139,
- 11,
- 234,
- },
- dictWord{7, 0, 1123},
- dictWord{12, 0, 508},
- dictWord{14, 0, 102},
- dictWord{14, 0, 226},
- dictWord{144, 0, 57},
- dictWord{4, 10, 138},
- dictWord{
- 7,
- 10,
- 1012,
- },
- dictWord{7, 10, 1280},
- dictWord{137, 10, 76},
- dictWord{7, 0, 1764},
- dictWord{5, 10, 29},
- dictWord{140, 10, 638},
- dictWord{134, 0, 2015},
- dictWord{134, 0, 1599},
- dictWord{138, 11, 56},
- dictWord{6, 11, 306},
- dictWord{7, 11, 1140},
- dictWord{7, 11, 1340},
- dictWord{8, 11, 133},
- dictWord{
- 138,
- 11,
- 449,
- },
- dictWord{139, 11, 1011},
- dictWord{6, 10, 1710},
- dictWord{135, 10, 2038},
- dictWord{7, 11, 1763},
- dictWord{140, 11, 310},
- dictWord{6, 0, 129},
- dictWord{4, 10, 17},
- dictWord{5, 10, 23},
- dictWord{7, 10, 995},
- dictWord{11, 10, 383},
- dictWord{11, 10, 437},
- dictWord{12, 10, 460},
- dictWord{140, 10, 532},
- dictWord{5, 11, 329},
- dictWord{136, 11, 260},
- dictWord{133, 10, 862},
- dictWord{132, 0, 534},
- dictWord{6, 0, 811},
- dictWord{135, 0, 626},
- dictWord{
- 132,
- 11,
- 657,
- },
- dictWord{4, 0, 25},
- dictWord{5, 0, 60},
- dictWord{6, 0, 504},
- dictWord{7, 0, 614},
- dictWord{7, 0, 1155},
- dictWord{12, 0, 0},
- dictWord{152, 11, 7},
- dictWord{
- 7,
- 0,
- 1248,
- },
- dictWord{11, 0, 621},
- dictWord{139, 0, 702},
- dictWord{137, 0, 321},
- dictWord{8, 10, 70},
- dictWord{12, 10, 171},
- dictWord{141, 10, 272},
- dictWord{
- 10,
- 10,
- 233,
- },
- dictWord{139, 10, 76},
- dictWord{4, 0, 379},
- dictWord{7, 0, 1397},
- dictWord{134, 10, 442},
- dictWord{5, 11, 66},
- dictWord{7, 11, 1896},
- dictWord{
- 136,
- 11,
- 288,
- },
- dictWord{134, 11, 1643},
- dictWord{134, 10, 1709},
- dictWord{4, 11, 21},
- dictWord{5, 11, 91},
- dictWord{5, 11, 570},
- dictWord{5, 11, 648},
- dictWord{5, 11, 750},
- dictWord{5, 11, 781},
- dictWord{6, 11, 54},
- dictWord{6, 11, 112},
- dictWord{6, 11, 402},
- dictWord{6, 11, 1732},
- dictWord{7, 11, 315},
- dictWord{
- 7,
- 11,
- 749,
- },
- dictWord{7, 11, 1347},
- dictWord{7, 11, 1900},
- dictWord{9, 11, 78},
- dictWord{9, 11, 508},
- dictWord{10, 11, 611},
- dictWord{11, 11, 510},
- dictWord{
- 11,
- 11,
- 728,
- },
- dictWord{13, 11, 36},
- dictWord{14, 11, 39},
- dictWord{16, 11, 83},
- dictWord{17, 11, 124},
- dictWord{148, 11, 30},
- dictWord{4, 0, 118},
- dictWord{
- 6,
- 0,
- 274,
- },
- dictWord{6, 0, 361},
- dictWord{7, 0, 75},
- dictWord{141, 0, 441},
- dictWord{10, 11, 322},
- dictWord{10, 11, 719},
- dictWord{139, 11, 407},
- dictWord{
- 147,
- 10,
- 119,
- },
- dictWord{12, 11, 549},
- dictWord{14, 11, 67},
- dictWord{147, 11, 60},
- dictWord{11, 10, 69},
- dictWord{12, 10, 105},
- dictWord{12, 10, 117},
- dictWord{13, 10, 213},
- dictWord{14, 10, 13},
- dictWord{14, 10, 62},
- dictWord{14, 10, 177},
- dictWord{14, 10, 421},
- dictWord{15, 10, 19},
- dictWord{146, 10, 141},
- dictWord{9, 0, 841},
- dictWord{137, 10, 309},
- dictWord{7, 10, 608},
- dictWord{7, 10, 976},
- dictWord{8, 11, 125},
- dictWord{8, 11, 369},
- dictWord{8, 11, 524},
- dictWord{9, 10, 146},
- dictWord{10, 10, 206},
- dictWord{10, 11, 486},
- dictWord{10, 10, 596},
- dictWord{11, 11, 13},
- dictWord{11, 11, 381},
- dictWord{11, 11, 736},
- dictWord{11, 11, 766},
- dictWord{11, 11, 845},
- dictWord{13, 11, 114},
- dictWord{13, 10, 218},
- dictWord{13, 11, 292},
- dictWord{14, 11, 47},
- dictWord{
- 142,
- 10,
- 153,
- },
- dictWord{12, 0, 693},
- dictWord{135, 11, 759},
- dictWord{5, 0, 314},
- dictWord{6, 0, 221},
- dictWord{7, 0, 419},
- dictWord{10, 0, 650},
- dictWord{11, 0, 396},
- dictWord{12, 0, 156},
- dictWord{13, 0, 369},
- dictWord{14, 0, 333},
- dictWord{145, 0, 47},
- dictWord{6, 11, 1684},
- dictWord{6, 11, 1731},
- dictWord{7, 11, 356},
- dictWord{7, 11, 1932},
- dictWord{8, 11, 54},
- dictWord{8, 11, 221},
- dictWord{9, 11, 225},
- dictWord{9, 11, 356},
- dictWord{10, 11, 77},
- dictWord{10, 11, 446},
- dictWord{10, 11, 731},
- dictWord{12, 11, 404},
- dictWord{141, 11, 491},
- dictWord{132, 11, 375},
- dictWord{4, 10, 518},
- dictWord{135, 10, 1136},
- dictWord{
- 4,
- 0,
- 913,
- },
- dictWord{4, 11, 411},
- dictWord{11, 11, 643},
- dictWord{140, 11, 115},
- dictWord{4, 11, 80},
- dictWord{133, 11, 44},
- dictWord{8, 10, 689},
- dictWord{
- 137,
- 10,
- 863,
- },
- dictWord{138, 0, 880},
- dictWord{4, 10, 18},
- dictWord{7, 10, 145},
- dictWord{7, 10, 444},
- dictWord{7, 10, 1278},
- dictWord{8, 10, 49},
- dictWord{
- 8,
- 10,
- 400,
- },
- dictWord{9, 10, 71},
- dictWord{9, 10, 250},
- dictWord{10, 10, 459},
- dictWord{12, 10, 160},
- dictWord{144, 10, 24},
- dictWord{136, 0, 475},
- dictWord{
- 5,
- 0,
- 1016,
- },
- dictWord{5, 11, 299},
- dictWord{135, 11, 1083},
- dictWord{7, 0, 602},
- dictWord{8, 0, 179},
- dictWord{10, 0, 781},
- dictWord{140, 0, 126},
- dictWord{
- 6,
- 0,
- 329,
- },
- dictWord{138, 0, 111},
- dictWord{135, 0, 1864},
- dictWord{4, 11, 219},
- dictWord{7, 11, 1761},
- dictWord{137, 11, 86},
- dictWord{6, 0, 1888},
- dictWord{
- 6,
- 0,
- 1892,
- },
- dictWord{6, 0, 1901},
- dictWord{6, 0, 1904},
- dictWord{9, 0, 953},
- dictWord{9, 0, 985},
- dictWord{9, 0, 991},
- dictWord{9, 0, 1001},
- dictWord{12, 0, 818},
- dictWord{12, 0, 846},
- dictWord{12, 0, 847},
- dictWord{12, 0, 861},
- dictWord{12, 0, 862},
- dictWord{12, 0, 873},
- dictWord{12, 0, 875},
- dictWord{12, 0, 877},
- dictWord{12, 0, 879},
- dictWord{12, 0, 881},
- dictWord{12, 0, 884},
- dictWord{12, 0, 903},
- dictWord{12, 0, 915},
- dictWord{12, 0, 926},
- dictWord{12, 0, 939},
- dictWord{
- 15,
- 0,
- 182,
- },
- dictWord{15, 0, 219},
- dictWord{15, 0, 255},
- dictWord{18, 0, 191},
- dictWord{18, 0, 209},
- dictWord{18, 0, 211},
- dictWord{149, 0, 41},
- dictWord{
- 5,
- 11,
- 328,
- },
- dictWord{135, 11, 918},
- dictWord{137, 0, 780},
- dictWord{12, 0, 82},
- dictWord{143, 0, 36},
- dictWord{133, 10, 1010},
- dictWord{5, 0, 821},
- dictWord{
- 134,
- 0,
- 1687,
- },
- dictWord{133, 11, 514},
- dictWord{132, 0, 956},
- dictWord{134, 0, 1180},
- dictWord{10, 0, 112},
- dictWord{5, 10, 87},
- dictWord{7, 10, 313},
- dictWord{
- 7,
- 10,
- 1103,
- },
- dictWord{10, 10, 582},
- dictWord{11, 10, 389},
- dictWord{11, 10, 813},
- dictWord{12, 10, 385},
- dictWord{13, 10, 286},
- dictWord{14, 10, 124},
- dictWord{146, 10, 108},
- dictWord{5, 0, 71},
- dictWord{7, 0, 1407},
- dictWord{9, 0, 704},
- dictWord{10, 0, 261},
- dictWord{10, 0, 619},
- dictWord{11, 0, 547},
- dictWord{11, 0, 619},
- dictWord{143, 0, 157},
- dictWord{4, 0, 531},
- dictWord{5, 0, 455},
- dictWord{5, 11, 301},
- dictWord{6, 11, 571},
- dictWord{14, 11, 49},
- dictWord{
- 146,
- 11,
- 102,
- },
- dictWord{132, 10, 267},
- dictWord{6, 0, 385},
- dictWord{7, 0, 2008},
- dictWord{9, 0, 337},
- dictWord{138, 0, 517},
- dictWord{133, 11, 726},
- dictWord{133, 11, 364},
- dictWord{4, 11, 76},
- dictWord{7, 11, 1550},
- dictWord{9, 11, 306},
- dictWord{9, 11, 430},
- dictWord{9, 11, 663},
- dictWord{10, 11, 683},
- dictWord{11, 11, 427},
- dictWord{11, 11, 753},
- dictWord{12, 11, 334},
- dictWord{12, 11, 442},
- dictWord{14, 11, 258},
- dictWord{14, 11, 366},
- dictWord{
- 143,
- 11,
- 131,
- },
- dictWord{6, 0, 1865},
- dictWord{6, 0, 1879},
- dictWord{6, 0, 1881},
- dictWord{6, 0, 1894},
- dictWord{6, 0, 1908},
- dictWord{9, 0, 915},
- dictWord{9, 0, 926},
- dictWord{9, 0, 940},
- dictWord{9, 0, 943},
- dictWord{9, 0, 966},
- dictWord{9, 0, 980},
- dictWord{9, 0, 989},
- dictWord{9, 0, 1005},
- dictWord{9, 0, 1010},
- dictWord{
- 12,
- 0,
- 813,
- },
- dictWord{12, 0, 817},
- dictWord{12, 0, 840},
- dictWord{12, 0, 843},
- dictWord{12, 0, 855},
- dictWord{12, 0, 864},
- dictWord{12, 0, 871},
- dictWord{12, 0, 872},
- dictWord{12, 0, 899},
- dictWord{12, 0, 905},
- dictWord{12, 0, 924},
- dictWord{15, 0, 171},
- dictWord{15, 0, 181},
- dictWord{15, 0, 224},
- dictWord{15, 0, 235},
- dictWord{15, 0, 251},
- dictWord{146, 0, 184},
- dictWord{137, 11, 52},
- dictWord{5, 0, 16},
- dictWord{6, 0, 86},
- dictWord{6, 0, 603},
- dictWord{7, 0, 292},
- dictWord{7, 0, 561},
- dictWord{8, 0, 257},
- dictWord{8, 0, 382},
- dictWord{9, 0, 721},
- dictWord{9, 0, 778},
- dictWord{11, 0, 581},
- dictWord{140, 0, 466},
- dictWord{4, 0, 486},
- dictWord{
- 5,
- 0,
- 491,
- },
- dictWord{135, 10, 1121},
- dictWord{4, 0, 72},
- dictWord{6, 0, 265},
- dictWord{135, 0, 1300},
- dictWord{135, 11, 1183},
- dictWord{10, 10, 249},
- dictWord{139, 10, 209},
- dictWord{132, 10, 561},
- dictWord{137, 11, 519},
- dictWord{4, 11, 656},
- dictWord{4, 10, 760},
- dictWord{135, 11, 779},
- dictWord{
- 9,
- 10,
- 154,
- },
- dictWord{140, 10, 485},
- dictWord{135, 11, 1793},
- dictWord{135, 11, 144},
- dictWord{136, 10, 255},
- dictWord{133, 0, 621},
- dictWord{4, 10, 368},
- dictWord{135, 10, 641},
- dictWord{135, 11, 1373},
- dictWord{7, 11, 554},
- dictWord{7, 11, 605},
- dictWord{141, 11, 10},
- dictWord{137, 0, 234},
- dictWord{
- 5,
- 0,
- 815,
- },
- dictWord{6, 0, 1688},
- dictWord{134, 0, 1755},
- dictWord{5, 11, 838},
- dictWord{5, 11, 841},
- dictWord{134, 11, 1649},
- dictWord{7, 0, 1987},
- dictWord{
- 7,
- 0,
- 2040,
- },
- dictWord{136, 0, 743},
- dictWord{133, 11, 1012},
- dictWord{6, 0, 197},
- dictWord{136, 0, 205},
- dictWord{6, 0, 314},
- dictWord{134, 11, 314},
- dictWord{144, 11, 53},
- dictWord{6, 11, 251},
- dictWord{7, 11, 365},
- dictWord{7, 11, 1357},
- dictWord{7, 11, 1497},
- dictWord{8, 11, 154},
- dictWord{141, 11, 281},
- dictWord{133, 11, 340},
- dictWord{6, 0, 452},
- dictWord{7, 0, 312},
- dictWord{138, 0, 219},
- dictWord{138, 0, 589},
- dictWord{4, 0, 333},
- dictWord{9, 0, 176},
- dictWord{12, 0, 353},
- dictWord{141, 0, 187},
- dictWord{9, 10, 92},
- dictWord{147, 10, 91},
- dictWord{134, 0, 1110},
- dictWord{11, 0, 47},
- dictWord{139, 11, 495},
- dictWord{6, 10, 525},
- dictWord{8, 10, 806},
- dictWord{9, 10, 876},
- dictWord{140, 10, 284},
- dictWord{8, 11, 261},
- dictWord{9, 11, 144},
- dictWord{9, 11, 466},
- dictWord{10, 11, 370},
- dictWord{12, 11, 470},
- dictWord{13, 11, 144},
- dictWord{142, 11, 348},
- dictWord{137, 11, 897},
- dictWord{8, 0, 863},
- dictWord{8, 0, 864},
- dictWord{8, 0, 868},
- dictWord{8, 0, 884},
- dictWord{10, 0, 866},
- dictWord{10, 0, 868},
- dictWord{10, 0, 873},
- dictWord{10, 0, 911},
- dictWord{10, 0, 912},
- dictWord{
- 10,
- 0,
- 944,
- },
- dictWord{12, 0, 727},
- dictWord{6, 11, 248},
- dictWord{9, 11, 546},
- dictWord{10, 11, 535},
- dictWord{11, 11, 681},
- dictWord{141, 11, 135},
- dictWord{
- 6,
- 0,
- 300,
- },
- dictWord{135, 0, 1515},
- dictWord{134, 0, 1237},
- dictWord{139, 10, 958},
- dictWord{133, 10, 594},
- dictWord{140, 11, 250},
- dictWord{
- 134,
- 0,
- 1685,
- },
- dictWord{134, 11, 567},
- dictWord{7, 0, 135},
- dictWord{8, 0, 7},
- dictWord{8, 0, 62},
- dictWord{9, 0, 243},
- dictWord{10, 0, 658},
- dictWord{10, 0, 697},
- dictWord{11, 0, 456},
- dictWord{139, 0, 756},
- dictWord{9, 0, 395},
- dictWord{138, 0, 79},
- dictWord{6, 10, 1641},
- dictWord{136, 10, 820},
- dictWord{4, 10, 302},
- dictWord{135, 10, 1766},
- dictWord{134, 11, 174},
- dictWord{135, 10, 1313},
- dictWord{135, 0, 631},
- dictWord{134, 10, 1674},
- dictWord{134, 11, 395},
- dictWord{138, 0, 835},
- dictWord{7, 0, 406},
- dictWord{7, 0, 459},
- dictWord{8, 0, 606},
- dictWord{139, 0, 726},
- dictWord{134, 11, 617},
- dictWord{134, 0, 979},
- dictWord{
- 6,
- 10,
- 389,
- },
- dictWord{7, 10, 149},
- dictWord{9, 10, 142},
- dictWord{138, 10, 94},
- dictWord{5, 11, 878},
- dictWord{133, 11, 972},
- dictWord{6, 10, 8},
- dictWord{
- 7,
- 10,
- 1881,
- },
- dictWord{8, 10, 91},
- dictWord{136, 11, 511},
- dictWord{133, 0, 612},
- dictWord{132, 11, 351},
- dictWord{4, 0, 372},
- dictWord{7, 0, 482},
- dictWord{
- 8,
- 0,
- 158,
- },
- dictWord{9, 0, 602},
- dictWord{9, 0, 615},
- dictWord{10, 0, 245},
- dictWord{10, 0, 678},
- dictWord{10, 0, 744},
- dictWord{11, 0, 248},
- dictWord{
- 139,
- 0,
- 806,
- },
- dictWord{5, 0, 854},
- dictWord{135, 0, 1991},
- dictWord{132, 11, 286},
- dictWord{135, 11, 344},
- dictWord{7, 11, 438},
- dictWord{7, 11, 627},
- dictWord{
- 7,
- 11,
- 1516,
- },
- dictWord{8, 11, 40},
- dictWord{9, 11, 56},
- dictWord{9, 11, 294},
- dictWord{10, 11, 30},
- dictWord{10, 11, 259},
- dictWord{11, 11, 969},
- dictWord{
- 146,
- 11,
- 148,
- },
- dictWord{135, 0, 1492},
- dictWord{5, 11, 259},
- dictWord{7, 11, 414},
- dictWord{7, 11, 854},
- dictWord{142, 11, 107},
- dictWord{135, 10, 1746},
- dictWord{6, 0, 833},
- dictWord{134, 0, 998},
- dictWord{135, 10, 24},
- dictWord{6, 0, 750},
- dictWord{135, 0, 1739},
- dictWord{4, 10, 503},
- dictWord{
- 135,
- 10,
- 1661,
- },
- dictWord{5, 10, 130},
- dictWord{7, 10, 1314},
- dictWord{9, 10, 610},
- dictWord{10, 10, 718},
- dictWord{11, 10, 601},
- dictWord{11, 10, 819},
- dictWord{
- 11,
- 10,
- 946,
- },
- dictWord{140, 10, 536},
- dictWord{10, 10, 149},
- dictWord{11, 10, 280},
- dictWord{142, 10, 336},
- dictWord{132, 11, 738},
- dictWord{
- 135,
- 10,
- 1946,
- },
- dictWord{5, 0, 195},
- dictWord{135, 0, 1685},
- dictWord{7, 0, 1997},
- dictWord{8, 0, 730},
- dictWord{139, 0, 1006},
- dictWord{151, 11, 17},
- dictWord{
- 133,
- 11,
- 866,
- },
- dictWord{14, 0, 463},
- dictWord{14, 0, 470},
- dictWord{150, 0, 61},
- dictWord{5, 0, 751},
- dictWord{8, 0, 266},
- dictWord{11, 0, 578},
- dictWord{
- 4,
- 10,
- 392,
- },
- dictWord{135, 10, 1597},
- dictWord{5, 10, 433},
- dictWord{9, 10, 633},
- dictWord{139, 10, 629},
- dictWord{135, 0, 821},
- dictWord{6, 0, 715},
- dictWord{
- 134,
- 0,
- 1325,
- },
- dictWord{133, 11, 116},
- dictWord{6, 0, 868},
- dictWord{132, 11, 457},
- dictWord{134, 0, 959},
- dictWord{6, 10, 234},
- dictWord{138, 11, 199},
- dictWord{7, 0, 1053},
- dictWord{7, 10, 1950},
- dictWord{8, 10, 680},
- dictWord{11, 10, 817},
- dictWord{147, 10, 88},
- dictWord{7, 10, 1222},
- dictWord{
- 138,
- 10,
- 386,
- },
- dictWord{5, 0, 950},
- dictWord{5, 0, 994},
- dictWord{6, 0, 351},
- dictWord{134, 0, 1124},
- dictWord{134, 0, 1081},
- dictWord{7, 0, 1595},
- dictWord{6, 10, 5},
- dictWord{11, 10, 249},
- dictWord{12, 10, 313},
- dictWord{16, 10, 66},
- dictWord{145, 10, 26},
- dictWord{148, 0, 59},
- dictWord{5, 11, 527},
- dictWord{6, 11, 189},
- dictWord{135, 11, 859},
- dictWord{5, 10, 963},
- dictWord{6, 10, 1773},
- dictWord{11, 11, 104},
- dictWord{11, 11, 554},
- dictWord{15, 11, 60},
- dictWord{
- 143,
- 11,
- 125,
- },
- dictWord{135, 0, 47},
- dictWord{137, 0, 684},
- dictWord{134, 11, 116},
- dictWord{134, 0, 1606},
- dictWord{134, 0, 777},
- dictWord{7, 0, 1020},
- dictWord{
- 8,
- 10,
- 509,
- },
- dictWord{136, 10, 792},
- dictWord{135, 0, 1094},
- dictWord{132, 0, 350},
- dictWord{133, 11, 487},
- dictWord{4, 11, 86},
- dictWord{5, 11, 667},
- dictWord{5, 11, 753},
- dictWord{6, 11, 316},
- dictWord{6, 11, 455},
- dictWord{135, 11, 946},
- dictWord{7, 0, 1812},
- dictWord{13, 0, 259},
- dictWord{13, 0, 356},
- dictWord{14, 0, 242},
- dictWord{147, 0, 114},
- dictWord{132, 10, 931},
- dictWord{133, 0, 967},
- dictWord{4, 0, 473},
- dictWord{7, 0, 623},
- dictWord{8, 0, 808},
- dictWord{
- 9,
- 0,
- 871,
- },
- dictWord{9, 0, 893},
- dictWord{11, 0, 38},
- dictWord{11, 0, 431},
- dictWord{12, 0, 112},
- dictWord{12, 0, 217},
- dictWord{12, 0, 243},
- dictWord{12, 0, 562},
- dictWord{12, 0, 663},
- dictWord{12, 0, 683},
- dictWord{13, 0, 141},
- dictWord{13, 0, 197},
- dictWord{13, 0, 227},
- dictWord{13, 0, 406},
- dictWord{13, 0, 487},
- dictWord{14, 0, 156},
- dictWord{14, 0, 203},
- dictWord{14, 0, 224},
- dictWord{14, 0, 256},
- dictWord{18, 0, 58},
- dictWord{150, 0, 0},
- dictWord{138, 0, 286},
- dictWord{
- 7,
- 10,
- 943,
- },
- dictWord{139, 10, 614},
- dictWord{135, 10, 1837},
- dictWord{150, 11, 45},
- dictWord{132, 0, 798},
- dictWord{4, 0, 222},
- dictWord{7, 0, 286},
- dictWord{136, 0, 629},
- dictWord{4, 11, 79},
- dictWord{7, 11, 1773},
- dictWord{10, 11, 450},
- dictWord{11, 11, 589},
- dictWord{13, 11, 332},
- dictWord{13, 11, 493},
- dictWord{14, 11, 183},
- dictWord{14, 11, 334},
- dictWord{14, 11, 362},
- dictWord{14, 11, 368},
- dictWord{14, 11, 376},
- dictWord{14, 11, 379},
- dictWord{
- 19,
- 11,
- 90,
- },
- dictWord{19, 11, 103},
- dictWord{19, 11, 127},
- dictWord{148, 11, 90},
- dictWord{5, 0, 337},
- dictWord{11, 0, 513},
- dictWord{11, 0, 889},
- dictWord{
- 11,
- 0,
- 961,
- },
- dictWord{12, 0, 461},
- dictWord{13, 0, 79},
- dictWord{15, 0, 121},
- dictWord{4, 10, 90},
- dictWord{5, 10, 545},
- dictWord{7, 10, 754},
- dictWord{9, 10, 186},
- dictWord{10, 10, 72},
- dictWord{10, 10, 782},
- dictWord{11, 10, 577},
- dictWord{11, 10, 610},
- dictWord{12, 10, 354},
- dictWord{12, 10, 362},
- dictWord{
- 140,
- 10,
- 595,
- },
- dictWord{141, 0, 306},
- dictWord{136, 0, 146},
- dictWord{7, 0, 1646},
- dictWord{9, 10, 329},
- dictWord{11, 10, 254},
- dictWord{141, 11, 124},
- dictWord{
- 4,
- 0,
- 465,
- },
- dictWord{135, 0, 1663},
- dictWord{132, 0, 525},
- dictWord{133, 11, 663},
- dictWord{10, 0, 299},
- dictWord{18, 0, 74},
- dictWord{9, 10, 187},
- dictWord{
- 11,
- 10,
- 1016,
- },
- dictWord{145, 10, 44},
- dictWord{7, 0, 165},
- dictWord{7, 0, 919},
- dictWord{4, 10, 506},
- dictWord{136, 10, 517},
- dictWord{5, 10, 295},
- dictWord{
- 135,
- 10,
- 1680,
- },
- dictWord{133, 11, 846},
- dictWord{134, 0, 1064},
- dictWord{5, 11, 378},
- dictWord{7, 11, 1402},
- dictWord{7, 11, 1414},
- dictWord{8, 11, 465},
- dictWord{9, 11, 286},
- dictWord{10, 11, 185},
- dictWord{10, 11, 562},
- dictWord{10, 11, 635},
- dictWord{11, 11, 31},
- dictWord{11, 11, 393},
- dictWord{
- 12,
- 11,
- 456,
- },
- dictWord{13, 11, 312},
- dictWord{18, 11, 65},
- dictWord{18, 11, 96},
- dictWord{147, 11, 89},
- dictWord{132, 0, 596},
- dictWord{7, 10, 987},
- dictWord{
- 9,
- 10,
- 688,
- },
- dictWord{10, 10, 522},
- dictWord{11, 10, 788},
- dictWord{140, 10, 566},
- dictWord{6, 0, 82},
- dictWord{7, 0, 138},
- dictWord{7, 0, 517},
- dictWord{7, 0, 1741},
- dictWord{11, 0, 238},
- dictWord{4, 11, 648},
- dictWord{134, 10, 1775},
- dictWord{7, 0, 1233},
- dictWord{7, 10, 700},
- dictWord{7, 10, 940},
- dictWord{8, 10, 514},
- dictWord{9, 10, 116},
- dictWord{9, 10, 535},
- dictWord{10, 10, 118},
- dictWord{11, 10, 107},
- dictWord{11, 10, 148},
- dictWord{11, 10, 922},
- dictWord{
- 12,
- 10,
- 254,
- },
- dictWord{12, 10, 421},
- dictWord{142, 10, 238},
- dictWord{4, 0, 962},
- dictWord{6, 0, 1824},
- dictWord{8, 0, 894},
- dictWord{12, 0, 708},
- dictWord{
- 12,
- 0,
- 725,
- },
- dictWord{14, 0, 451},
- dictWord{20, 0, 94},
- dictWord{22, 0, 59},
- dictWord{150, 0, 62},
- dictWord{5, 11, 945},
- dictWord{6, 11, 1656},
- dictWord{6, 11, 1787},
- dictWord{7, 11, 167},
- dictWord{8, 11, 824},
- dictWord{9, 11, 391},
- dictWord{10, 11, 375},
- dictWord{139, 11, 185},
- dictWord{5, 0, 495},
- dictWord{7, 0, 834},
- dictWord{9, 0, 733},
- dictWord{139, 0, 378},
- dictWord{4, 10, 743},
- dictWord{135, 11, 1273},
- dictWord{6, 0, 1204},
- dictWord{7, 11, 1645},
- dictWord{8, 11, 352},
- dictWord{137, 11, 249},
- dictWord{139, 10, 292},
- dictWord{133, 0, 559},
- dictWord{132, 11, 152},
- dictWord{9, 0, 499},
- dictWord{10, 0, 341},
- dictWord{
- 15,
- 0,
- 144,
- },
- dictWord{19, 0, 49},
- dictWord{7, 10, 1283},
- dictWord{9, 10, 227},
- dictWord{11, 10, 325},
- dictWord{11, 10, 408},
- dictWord{14, 10, 180},
- dictWord{
- 146,
- 10,
- 47,
- },
- dictWord{6, 0, 21},
- dictWord{6, 0, 1737},
- dictWord{7, 0, 1444},
- dictWord{136, 0, 224},
- dictWord{133, 11, 1006},
- dictWord{7, 0, 1446},
- dictWord{
- 9,
- 0,
- 97,
- },
- dictWord{17, 0, 15},
- dictWord{5, 10, 81},
- dictWord{7, 10, 146},
- dictWord{7, 10, 1342},
- dictWord{8, 10, 53},
- dictWord{8, 10, 561},
- dictWord{8, 10, 694},
- dictWord{8, 10, 754},
- dictWord{9, 10, 115},
- dictWord{9, 10, 894},
- dictWord{10, 10, 462},
- dictWord{10, 10, 813},
- dictWord{11, 10, 230},
- dictWord{11, 10, 657},
- dictWord{11, 10, 699},
- dictWord{11, 10, 748},
- dictWord{12, 10, 119},
- dictWord{12, 10, 200},
- dictWord{12, 10, 283},
- dictWord{142, 10, 273},
- dictWord{
- 5,
- 10,
- 408,
- },
- dictWord{137, 10, 747},
- dictWord{135, 11, 431},
- dictWord{135, 11, 832},
- dictWord{6, 0, 729},
- dictWord{134, 0, 953},
- dictWord{4, 0, 727},
- dictWord{
- 8,
- 0,
- 565,
- },
- dictWord{5, 11, 351},
- dictWord{7, 11, 264},
- dictWord{136, 11, 565},
- dictWord{134, 0, 1948},
- dictWord{5, 0, 519},
- dictWord{5, 11, 40},
- dictWord{
- 7,
- 11,
- 598,
- },
- dictWord{7, 11, 1638},
- dictWord{8, 11, 78},
- dictWord{9, 11, 166},
- dictWord{9, 11, 640},
- dictWord{9, 11, 685},
- dictWord{9, 11, 773},
- dictWord{
- 11,
- 11,
- 215,
- },
- dictWord{13, 11, 65},
- dictWord{14, 11, 172},
- dictWord{14, 11, 317},
- dictWord{145, 11, 6},
- dictWord{8, 11, 60},
- dictWord{9, 11, 343},
- dictWord{
- 139,
- 11,
- 769,
- },
- dictWord{137, 11, 455},
- dictWord{134, 0, 1193},
- dictWord{140, 0, 790},
- dictWord{7, 11, 1951},
- dictWord{8, 11, 765},
- dictWord{8, 11, 772},
- dictWord{140, 11, 671},
- dictWord{7, 11, 108},
- dictWord{8, 11, 219},
- dictWord{8, 11, 388},
- dictWord{9, 11, 639},
- dictWord{9, 11, 775},
- dictWord{11, 11, 275},
- dictWord{140, 11, 464},
- dictWord{132, 11, 468},
- dictWord{7, 10, 30},
- dictWord{8, 10, 86},
- dictWord{8, 10, 315},
- dictWord{8, 10, 700},
- dictWord{9, 10, 576},
- dictWord{
- 9,
- 10,
- 858,
- },
- dictWord{11, 10, 310},
- dictWord{11, 10, 888},
- dictWord{11, 10, 904},
- dictWord{12, 10, 361},
- dictWord{141, 10, 248},
- dictWord{5, 11, 15},
- dictWord{6, 11, 56},
- dictWord{7, 11, 1758},
- dictWord{8, 11, 500},
- dictWord{9, 11, 730},
- dictWord{11, 11, 331},
- dictWord{13, 11, 150},
- dictWord{142, 11, 282},
- dictWord{4, 0, 402},
- dictWord{7, 0, 2},
- dictWord{8, 0, 323},
- dictWord{136, 0, 479},
- dictWord{138, 10, 839},
- dictWord{11, 0, 580},
- dictWord{142, 0, 201},
- dictWord{
- 5,
- 0,
- 59,
- },
- dictWord{135, 0, 672},
- dictWord{137, 10, 617},
- dictWord{146, 0, 34},
- dictWord{134, 11, 1886},
- dictWord{4, 0, 961},
- dictWord{136, 0, 896},
- dictWord{
- 6,
- 0,
- 1285,
- },
- dictWord{5, 11, 205},
- dictWord{6, 11, 438},
- dictWord{137, 11, 711},
- dictWord{134, 10, 428},
- dictWord{7, 10, 524},
- dictWord{8, 10, 169},
- dictWord{8, 10, 234},
- dictWord{9, 10, 480},
- dictWord{138, 10, 646},
- dictWord{148, 0, 46},
- dictWord{141, 0, 479},
- dictWord{133, 11, 534},
- dictWord{6, 0, 2019},
- dictWord{134, 10, 1648},
- dictWord{4, 0, 85},
- dictWord{7, 0, 549},
- dictWord{7, 10, 1205},
- dictWord{138, 10, 637},
- dictWord{4, 0, 663},
- dictWord{5, 0, 94},
- dictWord{
- 7,
- 11,
- 235,
- },
- dictWord{7, 11, 1475},
- dictWord{15, 11, 68},
- dictWord{146, 11, 120},
- dictWord{6, 11, 443},
- dictWord{9, 11, 237},
- dictWord{9, 11, 571},
- dictWord{
- 9,
- 11,
- 695,
- },
- dictWord{10, 11, 139},
- dictWord{11, 11, 715},
- dictWord{12, 11, 417},
- dictWord{141, 11, 421},
- dictWord{132, 0, 783},
- dictWord{4, 0, 682},
- dictWord{8, 0, 65},
- dictWord{9, 10, 39},
- dictWord{10, 10, 166},
- dictWord{11, 10, 918},
- dictWord{12, 10, 635},
- dictWord{20, 10, 10},
- dictWord{22, 10, 27},
- dictWord{
- 22,
- 10,
- 43,
- },
- dictWord{150, 10, 52},
- dictWord{6, 0, 11},
- dictWord{135, 0, 187},
- dictWord{132, 0, 522},
- dictWord{4, 0, 52},
- dictWord{135, 0, 661},
- dictWord{
- 4,
- 0,
- 383,
- },
- dictWord{133, 0, 520},
- dictWord{135, 11, 546},
- dictWord{11, 0, 343},
- dictWord{142, 0, 127},
- dictWord{4, 11, 578},
- dictWord{7, 10, 157},
- dictWord{
- 7,
- 11,
- 624,
- },
- dictWord{7, 11, 916},
- dictWord{8, 10, 279},
- dictWord{10, 11, 256},
- dictWord{11, 11, 87},
- dictWord{139, 11, 703},
- dictWord{134, 10, 604},
- dictWord{
- 4,
- 0,
- 281,
- },
- dictWord{5, 0, 38},
- dictWord{7, 0, 194},
- dictWord{7, 0, 668},
- dictWord{7, 0, 1893},
- dictWord{137, 0, 397},
- dictWord{7, 10, 945},
- dictWord{11, 10, 713},
- dictWord{139, 10, 744},
- dictWord{139, 10, 1022},
- dictWord{9, 0, 635},
- dictWord{139, 0, 559},
- dictWord{5, 11, 923},
- dictWord{7, 11, 490},
- dictWord{
- 12,
- 11,
- 553,
- },
- dictWord{13, 11, 100},
- dictWord{14, 11, 118},
- dictWord{143, 11, 75},
- dictWord{132, 0, 975},
- dictWord{132, 10, 567},
- dictWord{137, 10, 859},
- dictWord{7, 10, 1846},
- dictWord{7, 11, 1846},
- dictWord{8, 10, 628},
- dictWord{136, 11, 628},
- dictWord{148, 0, 116},
- dictWord{138, 11, 750},
- dictWord{14, 0, 51},
- dictWord{14, 11, 51},
- dictWord{15, 11, 7},
- dictWord{148, 11, 20},
- dictWord{132, 0, 858},
- dictWord{134, 0, 1075},
- dictWord{4, 11, 924},
- dictWord{
- 133,
- 10,
- 762,
- },
- dictWord{136, 0, 535},
- dictWord{133, 0, 448},
- dictWord{10, 10, 784},
- dictWord{141, 10, 191},
- dictWord{133, 10, 298},
- dictWord{7, 0, 610},
- dictWord{135, 0, 1501},
- dictWord{7, 10, 633},
- dictWord{7, 10, 905},
- dictWord{7, 10, 909},
- dictWord{7, 10, 1538},
- dictWord{9, 10, 767},
- dictWord{140, 10, 636},
- dictWord{4, 11, 265},
- dictWord{7, 11, 807},
- dictWord{135, 11, 950},
- dictWord{5, 11, 93},
- dictWord{12, 11, 267},
- dictWord{144, 11, 26},
- dictWord{136, 0, 191},
- dictWord{139, 10, 301},
- dictWord{135, 10, 1970},
- dictWord{135, 0, 267},
- dictWord{4, 0, 319},
- dictWord{5, 0, 699},
- dictWord{138, 0, 673},
- dictWord{
- 6,
- 0,
- 336,
- },
- dictWord{7, 0, 92},
- dictWord{7, 0, 182},
- dictWord{8, 0, 453},
- dictWord{8, 0, 552},
- dictWord{9, 0, 204},
- dictWord{9, 0, 285},
- dictWord{10, 0, 99},
- dictWord{
- 11,
- 0,
- 568,
- },
- dictWord{11, 0, 950},
- dictWord{12, 0, 94},
- dictWord{16, 0, 20},
- dictWord{16, 0, 70},
- dictWord{19, 0, 55},
- dictWord{12, 10, 644},
- dictWord{144, 10, 90},
- dictWord{6, 0, 551},
- dictWord{7, 0, 1308},
- dictWord{7, 10, 845},
- dictWord{7, 11, 994},
- dictWord{8, 10, 160},
- dictWord{137, 10, 318},
- dictWord{19, 11, 1},
- dictWord{
- 19,
- 11,
- 26,
- },
- dictWord{150, 11, 9},
- dictWord{7, 0, 1406},
- dictWord{9, 0, 218},
- dictWord{141, 0, 222},
- dictWord{5, 0, 256},
- dictWord{138, 0, 69},
- dictWord{
- 5,
- 11,
- 233,
- },
- dictWord{5, 11, 320},
- dictWord{6, 11, 140},
- dictWord{7, 11, 330},
- dictWord{136, 11, 295},
- dictWord{6, 0, 1980},
- dictWord{136, 0, 952},
- dictWord{
- 4,
- 0,
- 833,
- },
- dictWord{137, 11, 678},
- dictWord{133, 11, 978},
- dictWord{4, 11, 905},
- dictWord{6, 11, 1701},
- dictWord{137, 11, 843},
- dictWord{138, 10, 735},
- dictWord{136, 10, 76},
- dictWord{17, 0, 39},
- dictWord{148, 0, 36},
- dictWord{18, 0, 81},
- dictWord{146, 11, 81},
- dictWord{14, 0, 352},
- dictWord{17, 0, 53},
- dictWord{
- 18,
- 0,
- 146,
- },
- dictWord{18, 0, 152},
- dictWord{19, 0, 11},
- dictWord{150, 0, 54},
- dictWord{135, 0, 634},
- dictWord{138, 10, 841},
- dictWord{132, 0, 618},
- dictWord{
- 4,
- 0,
- 339,
- },
- dictWord{7, 0, 259},
- dictWord{17, 0, 73},
- dictWord{4, 11, 275},
- dictWord{140, 11, 376},
- dictWord{132, 11, 509},
- dictWord{7, 11, 273},
- dictWord{
- 139,
- 11,
- 377,
- },
- dictWord{4, 0, 759},
- dictWord{13, 0, 169},
- dictWord{137, 10, 804},
- dictWord{6, 10, 96},
- dictWord{135, 10, 1426},
- dictWord{4, 10, 651},
- dictWord{133, 10, 289},
- dictWord{7, 0, 1075},
- dictWord{8, 10, 35},
- dictWord{9, 10, 511},
- dictWord{10, 10, 767},
- dictWord{147, 10, 118},
- dictWord{6, 0, 649},
- dictWord{6, 0, 670},
- dictWord{136, 0, 482},
- dictWord{5, 0, 336},
- dictWord{6, 0, 341},
- dictWord{6, 0, 478},
- dictWord{6, 0, 1763},
- dictWord{136, 0, 386},
- dictWord{
- 5,
- 11,
- 802,
- },
- dictWord{7, 11, 2021},
- dictWord{8, 11, 805},
- dictWord{14, 11, 94},
- dictWord{15, 11, 65},
- dictWord{16, 11, 4},
- dictWord{16, 11, 77},
- dictWord{16, 11, 80},
- dictWord{145, 11, 5},
- dictWord{6, 0, 1035},
- dictWord{5, 11, 167},
- dictWord{5, 11, 899},
- dictWord{6, 11, 410},
- dictWord{137, 11, 777},
- dictWord{
- 134,
- 11,
- 1705,
- },
- dictWord{5, 0, 924},
- dictWord{133, 0, 969},
- dictWord{132, 10, 704},
- dictWord{135, 0, 73},
- dictWord{135, 11, 10},
- dictWord{135, 10, 1078},
- dictWord{
- 5,
- 11,
- 11,
- },
- dictWord{6, 11, 117},
- dictWord{6, 11, 485},
- dictWord{7, 11, 1133},
- dictWord{9, 11, 582},
- dictWord{9, 11, 594},
- dictWord{11, 11, 21},
- dictWord{
- 11,
- 11,
- 818,
- },
- dictWord{12, 11, 535},
- dictWord{141, 11, 86},
- dictWord{135, 0, 1971},
- dictWord{4, 11, 264},
- dictWord{7, 11, 1067},
- dictWord{8, 11, 204},
- dictWord{8, 11, 385},
- dictWord{139, 11, 953},
- dictWord{6, 0, 1458},
- dictWord{135, 0, 1344},
- dictWord{5, 0, 396},
- dictWord{134, 0, 501},
- dictWord{4, 10, 720},
- dictWord{133, 10, 306},
- dictWord{4, 0, 929},
- dictWord{5, 0, 799},
- dictWord{8, 0, 46},
- dictWord{8, 0, 740},
- dictWord{133, 10, 431},
- dictWord{7, 11, 646},
- dictWord{
- 7,
- 11,
- 1730,
- },
- dictWord{11, 11, 446},
- dictWord{141, 11, 178},
- dictWord{7, 0, 276},
- dictWord{5, 10, 464},
- dictWord{6, 10, 236},
- dictWord{7, 10, 696},
- dictWord{
- 7,
- 10,
- 914,
- },
- dictWord{7, 10, 1108},
- dictWord{7, 10, 1448},
- dictWord{9, 10, 15},
- dictWord{9, 10, 564},
- dictWord{10, 10, 14},
- dictWord{12, 10, 565},
- dictWord{
- 13,
- 10,
- 449,
- },
- dictWord{14, 10, 53},
- dictWord{15, 10, 13},
- dictWord{16, 10, 64},
- dictWord{145, 10, 41},
- dictWord{4, 0, 892},
- dictWord{133, 0, 770},
- dictWord{
- 6,
- 10,
- 1767,
- },
- dictWord{12, 10, 194},
- dictWord{145, 10, 107},
- dictWord{135, 0, 158},
- dictWord{5, 10, 840},
- dictWord{138, 11, 608},
- dictWord{134, 0, 1432},
- dictWord{138, 11, 250},
- dictWord{8, 11, 794},
- dictWord{9, 11, 400},
- dictWord{10, 11, 298},
- dictWord{142, 11, 228},
- dictWord{151, 0, 25},
- dictWord{
- 7,
- 11,
- 1131,
- },
- dictWord{135, 11, 1468},
- dictWord{135, 0, 2001},
- dictWord{9, 10, 642},
- dictWord{11, 10, 236},
- dictWord{142, 10, 193},
- dictWord{4, 10, 68},
- dictWord{5, 10, 634},
- dictWord{6, 10, 386},
- dictWord{7, 10, 794},
- dictWord{8, 10, 273},
- dictWord{9, 10, 563},
- dictWord{10, 10, 105},
- dictWord{10, 10, 171},
- dictWord{11, 10, 94},
- dictWord{139, 10, 354},
- dictWord{136, 11, 724},
- dictWord{132, 0, 478},
- dictWord{11, 11, 512},
- dictWord{13, 11, 205},
- dictWord{
- 19,
- 11,
- 30,
- },
- dictWord{22, 11, 36},
- dictWord{151, 11, 19},
- dictWord{7, 0, 1461},
- dictWord{140, 0, 91},
- dictWord{6, 11, 190},
- dictWord{7, 11, 768},
- dictWord{
- 135,
- 11,
- 1170,
- },
- dictWord{4, 0, 602},
- dictWord{8, 0, 211},
- dictWord{4, 10, 95},
- dictWord{7, 10, 416},
- dictWord{139, 10, 830},
- dictWord{7, 10, 731},
- dictWord{13, 10, 20},
- dictWord{143, 10, 11},
- dictWord{6, 0, 1068},
- dictWord{135, 0, 1872},
- dictWord{4, 0, 13},
- dictWord{5, 0, 567},
- dictWord{7, 0, 1498},
- dictWord{9, 0, 124},
- dictWord{11, 0, 521},
- dictWord{12, 0, 405},
- dictWord{135, 11, 1023},
- dictWord{135, 0, 1006},
- dictWord{132, 0, 735},
- dictWord{138, 0, 812},
- dictWord{4, 0, 170},
- dictWord{135, 0, 323},
- dictWord{6, 11, 137},
- dictWord{9, 11, 75},
- dictWord{9, 11, 253},
- dictWord{10, 11, 194},
- dictWord{138, 11, 444},
- dictWord{5, 0, 304},
- dictWord{7, 0, 1403},
- dictWord{5, 10, 864},
- dictWord{10, 10, 648},
- dictWord{11, 10, 671},
- dictWord{143, 10, 46},
- dictWord{135, 11, 1180},
- dictWord{
- 133,
- 10,
- 928,
- },
- dictWord{4, 0, 148},
- dictWord{133, 0, 742},
- dictWord{11, 10, 986},
- dictWord{140, 10, 682},
- dictWord{133, 0, 523},
- dictWord{135, 11, 1743},
- dictWord{7, 0, 730},
- dictWord{18, 0, 144},
- dictWord{19, 0, 61},
- dictWord{8, 10, 44},
- dictWord{9, 10, 884},
- dictWord{10, 10, 580},
- dictWord{11, 10, 399},
- dictWord{
- 11,
- 10,
- 894,
- },
- dictWord{143, 10, 122},
- dictWord{5, 11, 760},
- dictWord{7, 11, 542},
- dictWord{8, 11, 135},
- dictWord{136, 11, 496},
- dictWord{136, 0, 981},
- dictWord{133, 0, 111},
- dictWord{10, 0, 132},
- dictWord{11, 0, 191},
- dictWord{11, 0, 358},
- dictWord{139, 0, 460},
- dictWord{7, 11, 319},
- dictWord{7, 11, 355},
- dictWord{
- 7,
- 11,
- 763,
- },
- dictWord{10, 11, 389},
- dictWord{145, 11, 43},
- dictWord{134, 0, 890},
- dictWord{134, 0, 1420},
- dictWord{136, 11, 557},
- dictWord{
- 133,
- 10,
- 518,
- },
- dictWord{133, 0, 444},
- dictWord{135, 0, 1787},
- dictWord{135, 10, 1852},
- dictWord{8, 0, 123},
- dictWord{15, 0, 6},
- dictWord{144, 0, 7},
- dictWord{
- 6,
- 0,
- 2041,
- },
- dictWord{10, 11, 38},
- dictWord{139, 11, 784},
- dictWord{136, 0, 932},
- dictWord{5, 0, 937},
- dictWord{135, 0, 100},
- dictWord{6, 0, 995},
- dictWord{
- 4,
- 11,
- 58,
- },
- dictWord{5, 11, 286},
- dictWord{6, 11, 319},
- dictWord{7, 11, 402},
- dictWord{7, 11, 1254},
- dictWord{7, 11, 1903},
- dictWord{8, 11, 356},
- dictWord{
- 140,
- 11,
- 408,
- },
- dictWord{4, 11, 389},
- dictWord{9, 11, 181},
- dictWord{9, 11, 255},
- dictWord{10, 11, 8},
- dictWord{10, 11, 29},
- dictWord{10, 11, 816},
- dictWord{
- 11,
- 11,
- 311,
- },
- dictWord{11, 11, 561},
- dictWord{12, 11, 67},
- dictWord{141, 11, 181},
- dictWord{138, 0, 255},
- dictWord{5, 0, 138},
- dictWord{4, 10, 934},
- dictWord{
- 136,
- 10,
- 610,
- },
- dictWord{4, 0, 965},
- dictWord{10, 0, 863},
- dictWord{138, 0, 898},
- dictWord{10, 10, 804},
- dictWord{138, 10, 832},
- dictWord{12, 0, 631},
- dictWord{
- 8,
- 10,
- 96,
- },
- dictWord{9, 10, 36},
- dictWord{10, 10, 607},
- dictWord{11, 10, 423},
- dictWord{11, 10, 442},
- dictWord{12, 10, 309},
- dictWord{14, 10, 199},
- dictWord{
- 15,
- 10,
- 90,
- },
- dictWord{145, 10, 110},
- dictWord{134, 0, 1394},
- dictWord{4, 0, 652},
- dictWord{8, 0, 320},
- dictWord{22, 0, 6},
- dictWord{22, 0, 16},
- dictWord{
- 9,
- 10,
- 13,
- },
- dictWord{9, 10, 398},
- dictWord{9, 10, 727},
- dictWord{10, 10, 75},
- dictWord{10, 10, 184},
- dictWord{10, 10, 230},
- dictWord{10, 10, 564},
- dictWord{
- 10,
- 10,
- 569,
- },
- dictWord{11, 10, 973},
- dictWord{12, 10, 70},
- dictWord{12, 10, 189},
- dictWord{13, 10, 57},
- dictWord{141, 10, 257},
- dictWord{6, 0, 897},
- dictWord{
- 134,
- 0,
- 1333,
- },
- dictWord{4, 0, 692},
- dictWord{133, 0, 321},
- dictWord{133, 11, 373},
- dictWord{135, 0, 922},
- dictWord{5, 0, 619},
- dictWord{133, 0, 698},
- dictWord{
- 137,
- 10,
- 631,
- },
- dictWord{5, 10, 345},
- dictWord{135, 10, 1016},
- dictWord{9, 0, 957},
- dictWord{9, 0, 1018},
- dictWord{12, 0, 828},
- dictWord{12, 0, 844},
- dictWord{
- 12,
- 0,
- 897,
- },
- dictWord{12, 0, 901},
- dictWord{12, 0, 943},
- dictWord{15, 0, 180},
- dictWord{18, 0, 197},
- dictWord{18, 0, 200},
- dictWord{18, 0, 213},
- dictWord{
- 18,
- 0,
- 214,
- },
- dictWord{146, 0, 226},
- dictWord{5, 0, 917},
- dictWord{134, 0, 1659},
- dictWord{135, 0, 1100},
- dictWord{134, 0, 1173},
- dictWord{134, 0, 1930},
- dictWord{5, 0, 251},
- dictWord{5, 0, 956},
- dictWord{8, 0, 268},
- dictWord{9, 0, 214},
- dictWord{146, 0, 142},
- dictWord{133, 10, 673},
- dictWord{137, 10, 850},
- dictWord{
- 4,
- 10,
- 287,
- },
- dictWord{133, 10, 1018},
- dictWord{132, 11, 672},
- dictWord{5, 0, 346},
- dictWord{5, 0, 711},
- dictWord{8, 0, 390},
- dictWord{11, 11, 752},
- dictWord{139, 11, 885},
- dictWord{5, 10, 34},
- dictWord{10, 10, 724},
- dictWord{12, 10, 444},
- dictWord{13, 10, 354},
- dictWord{18, 10, 32},
- dictWord{23, 10, 24},
- dictWord{23, 10, 31},
- dictWord{152, 10, 5},
- dictWord{4, 11, 710},
- dictWord{134, 11, 606},
- dictWord{134, 0, 744},
- dictWord{134, 10, 382},
- dictWord{
- 133,
- 11,
- 145,
- },
- dictWord{4, 10, 329},
- dictWord{7, 11, 884},
- dictWord{140, 11, 124},
- dictWord{4, 11, 467},
- dictWord{5, 11, 405},
- dictWord{134, 11, 544},
- dictWord{
- 9,
- 10,
- 846,
- },
- dictWord{138, 10, 827},
- dictWord{133, 0, 624},
- dictWord{9, 11, 372},
- dictWord{15, 11, 2},
- dictWord{19, 11, 10},
- dictWord{147, 11, 18},
- dictWord{
- 4,
- 11,
- 387,
- },
- dictWord{135, 11, 1288},
- dictWord{5, 0, 783},
- dictWord{7, 0, 1998},
- dictWord{135, 0, 2047},
- dictWord{132, 10, 906},
- dictWord{136, 10, 366},
- dictWord{135, 11, 550},
- dictWord{4, 10, 123},
- dictWord{4, 10, 649},
- dictWord{5, 10, 605},
- dictWord{7, 10, 1509},
- dictWord{136, 10, 36},
- dictWord{
- 134,
- 0,
- 1125,
- },
- dictWord{132, 0, 594},
- dictWord{133, 10, 767},
- dictWord{135, 11, 1227},
- dictWord{136, 11, 467},
- dictWord{4, 11, 576},
- dictWord{
- 135,
- 11,
- 1263,
- },
- dictWord{4, 0, 268},
- dictWord{7, 0, 1534},
- dictWord{135, 11, 1534},
- dictWord{4, 10, 273},
- dictWord{5, 10, 658},
- dictWord{5, 11, 919},
- dictWord{
- 5,
- 10,
- 995,
- },
- dictWord{134, 11, 1673},
- dictWord{133, 0, 563},
- dictWord{134, 10, 72},
- dictWord{135, 10, 1345},
- dictWord{4, 11, 82},
- dictWord{5, 11, 333},
- dictWord{
- 5,
- 11,
- 904,
- },
- dictWord{6, 11, 207},
- dictWord{7, 11, 325},
- dictWord{7, 11, 1726},
- dictWord{8, 11, 101},
- dictWord{10, 11, 778},
- dictWord{139, 11, 220},
- dictWord{5, 0, 37},
- dictWord{6, 0, 39},
- dictWord{6, 0, 451},
- dictWord{7, 0, 218},
- dictWord{7, 0, 667},
- dictWord{7, 0, 1166},
- dictWord{7, 0, 1687},
- dictWord{8, 0, 662},
- dictWord{16, 0, 2},
- dictWord{133, 10, 589},
- dictWord{134, 0, 1332},
- dictWord{133, 11, 903},
- dictWord{134, 0, 508},
- dictWord{5, 10, 117},
- dictWord{6, 10, 514},
- dictWord{6, 10, 541},
- dictWord{7, 10, 1164},
- dictWord{7, 10, 1436},
- dictWord{8, 10, 220},
- dictWord{8, 10, 648},
- dictWord{10, 10, 688},
- dictWord{11, 10, 560},
- dictWord{140, 11, 147},
- dictWord{6, 11, 555},
- dictWord{135, 11, 485},
- dictWord{133, 10, 686},
- dictWord{7, 0, 453},
- dictWord{7, 0, 635},
- dictWord{7, 0, 796},
- dictWord{8, 0, 331},
- dictWord{9, 0, 330},
- dictWord{9, 0, 865},
- dictWord{10, 0, 119},
- dictWord{10, 0, 235},
- dictWord{11, 0, 111},
- dictWord{11, 0, 129},
- dictWord{
- 11,
- 0,
- 240,
- },
- dictWord{12, 0, 31},
- dictWord{12, 0, 66},
- dictWord{12, 0, 222},
- dictWord{12, 0, 269},
- dictWord{12, 0, 599},
- dictWord{12, 0, 684},
- dictWord{12, 0, 689},
- dictWord{12, 0, 691},
- dictWord{142, 0, 345},
- dictWord{135, 0, 1834},
- dictWord{4, 11, 705},
- dictWord{7, 11, 615},
- dictWord{138, 11, 251},
- dictWord{
- 136,
- 11,
- 345,
- },
- dictWord{137, 0, 527},
- dictWord{6, 0, 98},
- dictWord{7, 0, 702},
- dictWord{135, 0, 991},
- dictWord{11, 0, 576},
- dictWord{14, 0, 74},
- dictWord{7, 10, 196},
- dictWord{10, 10, 765},
- dictWord{11, 10, 347},
- dictWord{11, 10, 552},
- dictWord{11, 10, 790},
- dictWord{12, 10, 263},
- dictWord{13, 10, 246},
- dictWord{
- 13,
- 10,
- 270,
- },
- dictWord{13, 10, 395},
- dictWord{14, 10, 176},
- dictWord{14, 10, 190},
- dictWord{14, 10, 398},
- dictWord{14, 10, 412},
- dictWord{15, 10, 32},
- dictWord{
- 15,
- 10,
- 63,
- },
- dictWord{16, 10, 88},
- dictWord{147, 10, 105},
- dictWord{134, 11, 90},
- dictWord{13, 0, 84},
- dictWord{141, 0, 122},
- dictWord{6, 0, 37},
- dictWord{
- 7,
- 0,
- 299,
- },
- dictWord{7, 0, 1666},
- dictWord{8, 0, 195},
- dictWord{8, 0, 316},
- dictWord{9, 0, 178},
- dictWord{9, 0, 276},
- dictWord{9, 0, 339},
- dictWord{9, 0, 536},
- dictWord{
- 10,
- 0,
- 102,
- },
- dictWord{10, 0, 362},
- dictWord{10, 0, 785},
- dictWord{11, 0, 55},
- dictWord{11, 0, 149},
- dictWord{11, 0, 773},
- dictWord{13, 0, 416},
- dictWord{
- 13,
- 0,
- 419,
- },
- dictWord{14, 0, 38},
- dictWord{14, 0, 41},
- dictWord{142, 0, 210},
- dictWord{5, 10, 381},
- dictWord{135, 10, 1792},
- dictWord{7, 11, 813},
- dictWord{
- 12,
- 11,
- 497,
- },
- dictWord{141, 11, 56},
- dictWord{7, 10, 616},
- dictWord{138, 10, 413},
- dictWord{133, 0, 645},
- dictWord{6, 11, 125},
- dictWord{135, 11, 1277},
- dictWord{132, 0, 290},
- dictWord{6, 0, 70},
- dictWord{7, 0, 1292},
- dictWord{10, 0, 762},
- dictWord{139, 0, 288},
- dictWord{6, 10, 120},
- dictWord{7, 10, 1188},
- dictWord{
- 7,
- 10,
- 1710,
- },
- dictWord{8, 10, 286},
- dictWord{9, 10, 667},
- dictWord{11, 10, 592},
- dictWord{139, 10, 730},
- dictWord{135, 11, 1784},
- dictWord{7, 0, 1315},
- dictWord{135, 11, 1315},
- dictWord{134, 0, 1955},
- dictWord{135, 10, 1146},
- dictWord{7, 0, 131},
- dictWord{7, 0, 422},
- dictWord{8, 0, 210},
- dictWord{
- 140,
- 0,
- 573,
- },
- dictWord{4, 10, 352},
- dictWord{135, 10, 687},
- dictWord{139, 0, 797},
- dictWord{143, 0, 38},
- dictWord{14, 0, 179},
- dictWord{15, 0, 151},
- dictWord{
- 150,
- 0,
- 11,
- },
- dictWord{7, 0, 488},
- dictWord{4, 10, 192},
- dictWord{5, 10, 49},
- dictWord{6, 10, 200},
- dictWord{6, 10, 293},
- dictWord{134, 10, 1696},
- dictWord{
- 132,
- 0,
- 936,
- },
- dictWord{135, 11, 703},
- dictWord{6, 11, 160},
- dictWord{7, 11, 1106},
- dictWord{9, 11, 770},
- dictWord{10, 11, 618},
- dictWord{11, 11, 112},
- dictWord{
- 140,
- 11,
- 413,
- },
- dictWord{5, 0, 453},
- dictWord{134, 0, 441},
- dictWord{135, 0, 595},
- dictWord{132, 10, 650},
- dictWord{132, 10, 147},
- dictWord{6, 0, 991},
- dictWord{6, 0, 1182},
- dictWord{12, 11, 271},
- dictWord{145, 11, 109},
- dictWord{133, 10, 934},
- dictWord{140, 11, 221},
- dictWord{132, 0, 653},
- dictWord{
- 7,
- 0,
- 505,
- },
- dictWord{135, 0, 523},
- dictWord{134, 0, 903},
- dictWord{135, 11, 479},
- dictWord{7, 11, 304},
- dictWord{9, 11, 646},
- dictWord{9, 11, 862},
- dictWord{
- 10,
- 11,
- 262,
- },
- dictWord{11, 11, 696},
- dictWord{12, 11, 208},
- dictWord{15, 11, 79},
- dictWord{147, 11, 108},
- dictWord{146, 0, 80},
- dictWord{135, 11, 981},
- dictWord{142, 0, 432},
- dictWord{132, 0, 314},
- dictWord{137, 11, 152},
- dictWord{7, 0, 1368},
- dictWord{8, 0, 232},
- dictWord{8, 0, 361},
- dictWord{10, 0, 682},
- dictWord{138, 0, 742},
- dictWord{135, 11, 1586},
- dictWord{9, 0, 534},
- dictWord{4, 11, 434},
- dictWord{11, 11, 663},
- dictWord{12, 11, 210},
- dictWord{13, 11, 166},
- dictWord{13, 11, 310},
- dictWord{14, 11, 373},
- dictWord{147, 11, 43},
- dictWord{7, 11, 1091},
- dictWord{135, 11, 1765},
- dictWord{6, 11, 550},
- dictWord{
- 135,
- 11,
- 652,
- },
- dictWord{137, 0, 27},
- dictWord{142, 0, 12},
- dictWord{4, 10, 637},
- dictWord{5, 11, 553},
- dictWord{7, 11, 766},
- dictWord{138, 11, 824},
- dictWord{
- 7,
- 11,
- 737,
- },
- dictWord{8, 11, 298},
- dictWord{136, 11, 452},
- dictWord{7, 0, 736},
- dictWord{139, 0, 264},
- dictWord{134, 0, 1657},
- dictWord{133, 11, 292},
- dictWord{138, 11, 135},
- dictWord{6, 0, 844},
- dictWord{134, 0, 1117},
- dictWord{135, 0, 127},
- dictWord{9, 10, 867},
- dictWord{138, 10, 837},
- dictWord{
- 6,
- 0,
- 1184,
- },
- dictWord{134, 0, 1208},
- dictWord{134, 0, 1294},
- dictWord{136, 0, 364},
- dictWord{6, 0, 1415},
- dictWord{7, 0, 1334},
- dictWord{11, 0, 125},
- dictWord{
- 6,
- 10,
- 170,
- },
- dictWord{7, 11, 393},
- dictWord{8, 10, 395},
- dictWord{8, 10, 487},
- dictWord{10, 11, 603},
- dictWord{11, 11, 206},
- dictWord{141, 10, 147},
- dictWord{137, 11, 748},
- dictWord{4, 11, 912},
- dictWord{137, 11, 232},
- dictWord{4, 10, 535},
- dictWord{136, 10, 618},
- dictWord{137, 0, 792},
- dictWord{
- 7,
- 11,
- 1973,
- },
- dictWord{136, 11, 716},
- dictWord{135, 11, 98},
- dictWord{5, 0, 909},
- dictWord{9, 0, 849},
- dictWord{138, 0, 805},
- dictWord{4, 0, 630},
- dictWord{
- 132,
- 0,
- 699,
- },
- dictWord{5, 11, 733},
- dictWord{14, 11, 103},
- dictWord{150, 10, 23},
- dictWord{12, 11, 158},
- dictWord{18, 11, 8},
- dictWord{19, 11, 62},
- dictWord{
- 20,
- 11,
- 6,
- },
- dictWord{22, 11, 4},
- dictWord{23, 11, 2},
- dictWord{151, 11, 9},
- dictWord{132, 0, 968},
- dictWord{132, 10, 778},
- dictWord{132, 10, 46},
- dictWord{5, 10, 811},
- dictWord{6, 10, 1679},
- dictWord{6, 10, 1714},
- dictWord{135, 10, 2032},
- dictWord{6, 0, 1446},
- dictWord{7, 10, 1458},
- dictWord{9, 10, 407},
- dictWord{
- 139,
- 10,
- 15,
- },
- dictWord{7, 0, 206},
- dictWord{7, 0, 397},
- dictWord{7, 0, 621},
- dictWord{7, 0, 640},
- dictWord{8, 0, 124},
- dictWord{8, 0, 619},
- dictWord{9, 0, 305},
- dictWord{
- 9,
- 0,
- 643,
- },
- dictWord{10, 0, 264},
- dictWord{10, 0, 628},
- dictWord{11, 0, 40},
- dictWord{12, 0, 349},
- dictWord{13, 0, 134},
- dictWord{13, 0, 295},
- dictWord{
- 14,
- 0,
- 155,
- },
- dictWord{15, 0, 120},
- dictWord{18, 0, 105},
- dictWord{6, 10, 34},
- dictWord{7, 10, 1089},
- dictWord{8, 10, 708},
- dictWord{8, 10, 721},
- dictWord{9, 10, 363},
- dictWord{148, 10, 98},
- dictWord{4, 0, 262},
- dictWord{5, 0, 641},
- dictWord{135, 0, 342},
- dictWord{137, 11, 72},
- dictWord{4, 0, 99},
- dictWord{6, 0, 250},
- dictWord{
- 6,
- 0,
- 346,
- },
- dictWord{8, 0, 127},
- dictWord{138, 0, 81},
- dictWord{132, 0, 915},
- dictWord{5, 0, 75},
- dictWord{9, 0, 517},
- dictWord{10, 0, 470},
- dictWord{12, 0, 155},
- dictWord{141, 0, 224},
- dictWord{132, 10, 462},
- dictWord{11, 11, 600},
- dictWord{11, 11, 670},
- dictWord{141, 11, 245},
- dictWord{142, 0, 83},
- dictWord{
- 5,
- 10,
- 73,
- },
- dictWord{6, 10, 23},
- dictWord{134, 10, 338},
- dictWord{6, 0, 1031},
- dictWord{139, 11, 923},
- dictWord{7, 11, 164},
- dictWord{7, 11, 1571},
- dictWord{
- 9,
- 11,
- 107,
- },
- dictWord{140, 11, 225},
- dictWord{134, 0, 1470},
- dictWord{133, 0, 954},
- dictWord{6, 0, 304},
- dictWord{8, 0, 418},
- dictWord{10, 0, 345},
- dictWord{
- 11,
- 0,
- 341,
- },
- dictWord{139, 0, 675},
- dictWord{9, 0, 410},
- dictWord{139, 0, 425},
- dictWord{4, 11, 27},
- dictWord{5, 11, 484},
- dictWord{5, 11, 510},
- dictWord{6, 11, 434},
- dictWord{7, 11, 1000},
- dictWord{7, 11, 1098},
- dictWord{8, 11, 2},
- dictWord{136, 11, 200},
- dictWord{134, 0, 734},
- dictWord{140, 11, 257},
- dictWord{
- 7,
- 10,
- 725,
- },
- dictWord{8, 10, 498},
- dictWord{139, 10, 268},
- dictWord{134, 0, 1822},
- dictWord{135, 0, 1798},
- dictWord{135, 10, 773},
- dictWord{132, 11, 460},
- dictWord{4, 11, 932},
- dictWord{133, 11, 891},
- dictWord{134, 0, 14},
- dictWord{132, 10, 583},
- dictWord{7, 10, 1462},
- dictWord{8, 11, 625},
- dictWord{
- 139,
- 10,
- 659,
- },
- dictWord{5, 0, 113},
- dictWord{6, 0, 243},
- dictWord{6, 0, 1708},
- dictWord{7, 0, 1865},
- dictWord{11, 0, 161},
- dictWord{16, 0, 37},
- dictWord{17, 0, 99},
- dictWord{133, 10, 220},
- dictWord{134, 11, 76},
- dictWord{5, 11, 461},
- dictWord{135, 11, 1925},
- dictWord{140, 0, 69},
- dictWord{8, 11, 92},
- dictWord{
- 137,
- 11,
- 221,
- },
- dictWord{139, 10, 803},
- dictWord{132, 10, 544},
- dictWord{4, 0, 274},
- dictWord{134, 0, 922},
- dictWord{132, 0, 541},
- dictWord{5, 0, 627},
- dictWord{
- 6,
- 10,
- 437,
- },
- dictWord{6, 10, 564},
- dictWord{11, 10, 181},
- dictWord{141, 10, 183},
- dictWord{135, 10, 1192},
- dictWord{7, 0, 166},
- dictWord{132, 11, 763},
- dictWord{133, 11, 253},
- dictWord{134, 0, 849},
- dictWord{9, 11, 73},
- dictWord{10, 11, 110},
- dictWord{14, 11, 185},
- dictWord{145, 11, 119},
- dictWord{5, 11, 212},
- dictWord{12, 11, 35},
- dictWord{141, 11, 382},
- dictWord{133, 0, 717},
- dictWord{137, 0, 304},
- dictWord{136, 0, 600},
- dictWord{133, 0, 654},
- dictWord{
- 6,
- 0,
- 273,
- },
- dictWord{10, 0, 188},
- dictWord{13, 0, 377},
- dictWord{146, 0, 77},
- dictWord{4, 10, 790},
- dictWord{5, 10, 273},
- dictWord{134, 10, 394},
- dictWord{
- 132,
- 0,
- 543,
- },
- dictWord{135, 0, 410},
- dictWord{11, 0, 98},
- dictWord{11, 0, 524},
- dictWord{141, 0, 87},
- dictWord{132, 0, 941},
- dictWord{135, 11, 1175},
- dictWord{
- 4,
- 0,
- 250,
- },
- dictWord{7, 0, 1612},
- dictWord{11, 0, 186},
- dictWord{12, 0, 133},
- dictWord{6, 10, 127},
- dictWord{7, 10, 1511},
- dictWord{8, 10, 613},
- dictWord{
- 12,
- 10,
- 495,
- },
- dictWord{12, 10, 586},
- dictWord{12, 10, 660},
- dictWord{12, 10, 668},
- dictWord{14, 10, 385},
- dictWord{15, 10, 118},
- dictWord{17, 10, 20},
- dictWord{
- 146,
- 10,
- 98,
- },
- dictWord{6, 0, 1785},
- dictWord{133, 11, 816},
- dictWord{134, 0, 1339},
- dictWord{7, 0, 961},
- dictWord{7, 0, 1085},
- dictWord{7, 0, 1727},
- dictWord{
- 8,
- 0,
- 462,
- },
- dictWord{6, 10, 230},
- dictWord{135, 11, 1727},
- dictWord{9, 0, 636},
- dictWord{135, 10, 1954},
- dictWord{132, 0, 780},
- dictWord{5, 11, 869},
- dictWord{5, 11, 968},
- dictWord{6, 11, 1626},
- dictWord{8, 11, 734},
- dictWord{136, 11, 784},
- dictWord{4, 11, 542},
- dictWord{6, 11, 1716},
- dictWord{6, 11, 1727},
- dictWord{7, 11, 1082},
- dictWord{7, 11, 1545},
- dictWord{8, 11, 56},
- dictWord{8, 11, 118},
- dictWord{8, 11, 412},
- dictWord{8, 11, 564},
- dictWord{9, 11, 888},
- dictWord{9, 11, 908},
- dictWord{10, 11, 50},
- dictWord{10, 11, 423},
- dictWord{11, 11, 685},
- dictWord{11, 11, 697},
- dictWord{11, 11, 933},
- dictWord{12, 11, 299},
- dictWord{13, 11, 126},
- dictWord{13, 11, 136},
- dictWord{13, 11, 170},
- dictWord{141, 11, 190},
- dictWord{134, 11, 226},
- dictWord{4, 11, 232},
- dictWord{
- 9,
- 11,
- 202,
- },
- dictWord{10, 11, 474},
- dictWord{140, 11, 433},
- dictWord{137, 11, 500},
- dictWord{5, 0, 529},
- dictWord{136, 10, 68},
- dictWord{132, 10, 654},
- dictWord{
- 4,
- 10,
- 156,
- },
- dictWord{7, 10, 998},
- dictWord{7, 10, 1045},
- dictWord{7, 10, 1860},
- dictWord{9, 10, 48},
- dictWord{9, 10, 692},
- dictWord{11, 10, 419},
- dictWord{139, 10, 602},
- dictWord{7, 0, 1276},
- dictWord{8, 0, 474},
- dictWord{9, 0, 652},
- dictWord{6, 11, 108},
- dictWord{7, 11, 1003},
- dictWord{7, 11, 1181},
- dictWord{136, 11, 343},
- dictWord{7, 11, 1264},
- dictWord{7, 11, 1678},
- dictWord{11, 11, 945},
- dictWord{12, 11, 341},
- dictWord{12, 11, 471},
- dictWord{
- 140,
- 11,
- 569,
- },
- dictWord{134, 11, 1712},
- dictWord{5, 0, 948},
- dictWord{12, 0, 468},
- dictWord{19, 0, 96},
- dictWord{148, 0, 24},
- dictWord{4, 11, 133},
- dictWord{
- 7,
- 11,
- 711,
- },
- dictWord{7, 11, 1298},
- dictWord{7, 11, 1585},
- dictWord{135, 11, 1929},
- dictWord{6, 0, 753},
- dictWord{140, 0, 657},
- dictWord{139, 0, 941},
- dictWord{
- 6,
- 11,
- 99,
- },
- dictWord{7, 11, 1808},
- dictWord{145, 11, 57},
- dictWord{6, 11, 574},
- dictWord{7, 11, 428},
- dictWord{7, 11, 1250},
- dictWord{10, 11, 669},
- dictWord{
- 11,
- 11,
- 485,
- },
- dictWord{11, 11, 840},
- dictWord{12, 11, 300},
- dictWord{142, 11, 250},
- dictWord{4, 0, 532},
- dictWord{5, 0, 706},
- dictWord{135, 0, 662},
- dictWord{
- 5,
- 0,
- 837,
- },
- dictWord{6, 0, 1651},
- dictWord{139, 0, 985},
- dictWord{7, 0, 1861},
- dictWord{9, 10, 197},
- dictWord{10, 10, 300},
- dictWord{12, 10, 473},
- dictWord{
- 13,
- 10,
- 90,
- },
- dictWord{141, 10, 405},
- dictWord{137, 11, 252},
- dictWord{6, 11, 323},
- dictWord{135, 11, 1564},
- dictWord{4, 0, 330},
- dictWord{4, 0, 863},
- dictWord{7, 0, 933},
- dictWord{7, 0, 2012},
- dictWord{8, 0, 292},
- dictWord{7, 11, 461},
- dictWord{8, 11, 775},
- dictWord{138, 11, 435},
- dictWord{132, 10, 606},
- dictWord{
- 4,
- 11,
- 655,
- },
- dictWord{7, 11, 850},
- dictWord{17, 11, 75},
- dictWord{146, 11, 137},
- dictWord{135, 0, 767},
- dictWord{7, 10, 1978},
- dictWord{136, 10, 676},
- dictWord{132, 0, 641},
- dictWord{135, 11, 1559},
- dictWord{134, 0, 1233},
- dictWord{137, 0, 242},
- dictWord{17, 0, 114},
- dictWord{4, 10, 361},
- dictWord{
- 133,
- 10,
- 315,
- },
- dictWord{137, 0, 883},
- dictWord{132, 10, 461},
- dictWord{138, 0, 274},
- dictWord{134, 0, 2008},
- dictWord{134, 0, 1794},
- dictWord{4, 0, 703},
- dictWord{135, 0, 207},
- dictWord{12, 0, 285},
- dictWord{132, 10, 472},
- dictWord{132, 0, 571},
- dictWord{5, 0, 873},
- dictWord{5, 0, 960},
- dictWord{8, 0, 823},
- dictWord{9, 0, 881},
- dictWord{136, 11, 577},
- dictWord{7, 0, 617},
- dictWord{10, 0, 498},
- dictWord{11, 0, 501},
- dictWord{12, 0, 16},
- dictWord{140, 0, 150},
- dictWord{
- 138,
- 10,
- 747,
- },
- dictWord{132, 0, 431},
- dictWord{133, 10, 155},
- dictWord{11, 0, 283},
- dictWord{11, 0, 567},
- dictWord{7, 10, 163},
- dictWord{8, 10, 319},
- dictWord{
- 9,
- 10,
- 402,
- },
- dictWord{10, 10, 24},
- dictWord{10, 10, 681},
- dictWord{11, 10, 200},
- dictWord{12, 10, 253},
- dictWord{12, 10, 410},
- dictWord{142, 10, 219},
- dictWord{4, 11, 413},
- dictWord{5, 11, 677},
- dictWord{8, 11, 432},
- dictWord{140, 11, 280},
- dictWord{9, 0, 401},
- dictWord{5, 10, 475},
- dictWord{7, 10, 1780},
- dictWord{11, 10, 297},
- dictWord{11, 10, 558},
- dictWord{14, 10, 322},
- dictWord{147, 10, 76},
- dictWord{6, 0, 781},
- dictWord{9, 0, 134},
- dictWord{10, 0, 2},
- dictWord{
- 10,
- 0,
- 27,
- },
- dictWord{10, 0, 333},
- dictWord{11, 0, 722},
- dictWord{143, 0, 1},
- dictWord{5, 0, 33},
- dictWord{6, 0, 470},
- dictWord{139, 0, 424},
- dictWord{
- 135,
- 0,
- 2006,
- },
- dictWord{12, 0, 783},
- dictWord{135, 10, 1956},
- dictWord{136, 0, 274},
- dictWord{135, 0, 1882},
- dictWord{132, 0, 794},
- dictWord{135, 0, 1848},
- dictWord{5, 10, 944},
- dictWord{134, 10, 1769},
- dictWord{6, 0, 47},
- dictWord{7, 0, 90},
- dictWord{7, 0, 664},
- dictWord{7, 0, 830},
- dictWord{7, 0, 1380},
- dictWord{
- 7,
- 0,
- 2025,
- },
- dictWord{8, 0, 448},
- dictWord{136, 0, 828},
- dictWord{132, 10, 144},
- dictWord{134, 0, 1199},
- dictWord{4, 11, 395},
- dictWord{139, 11, 762},
- dictWord{135, 11, 1504},
- dictWord{9, 0, 417},
- dictWord{137, 0, 493},
- dictWord{9, 11, 174},
- dictWord{10, 11, 164},
- dictWord{11, 11, 440},
- dictWord{11, 11, 841},
- dictWord{143, 11, 98},
- dictWord{134, 11, 426},
- dictWord{139, 11, 1002},
- dictWord{134, 0, 295},
- dictWord{134, 0, 816},
- dictWord{6, 10, 247},
- dictWord{
- 137,
- 10,
- 555,
- },
- dictWord{133, 0, 1019},
- dictWord{4, 0, 620},
- dictWord{5, 11, 476},
- dictWord{10, 10, 280},
- dictWord{138, 10, 797},
- dictWord{139, 0, 464},
- dictWord{5, 11, 76},
- dictWord{6, 11, 458},
- dictWord{6, 11, 497},
- dictWord{7, 11, 764},
- dictWord{7, 11, 868},
- dictWord{9, 11, 658},
- dictWord{10, 11, 594},
- dictWord{
- 11,
- 11,
- 173,
- },
- dictWord{11, 11, 566},
- dictWord{12, 11, 20},
- dictWord{12, 11, 338},
- dictWord{141, 11, 200},
- dictWord{134, 0, 208},
- dictWord{4, 11, 526},
- dictWord{7, 11, 1029},
- dictWord{135, 11, 1054},
- dictWord{132, 11, 636},
- dictWord{6, 11, 233},
- dictWord{7, 11, 660},
- dictWord{7, 11, 1124},
- dictWord{
- 17,
- 11,
- 31,
- },
- dictWord{19, 11, 22},
- dictWord{151, 11, 14},
- dictWord{10, 0, 442},
- dictWord{133, 10, 428},
- dictWord{10, 0, 930},
- dictWord{140, 0, 778},
- dictWord{
- 6,
- 0,
- 68,
- },
- dictWord{7, 0, 448},
- dictWord{7, 0, 1629},
- dictWord{7, 0, 1769},
- dictWord{7, 0, 1813},
- dictWord{8, 0, 442},
- dictWord{8, 0, 516},
- dictWord{9, 0, 710},
- dictWord{
- 10,
- 0,
- 282,
- },
- dictWord{10, 0, 722},
- dictWord{7, 10, 1717},
- dictWord{138, 10, 546},
- dictWord{134, 0, 1128},
- dictWord{11, 0, 844},
- dictWord{12, 0, 104},
- dictWord{140, 0, 625},
- dictWord{4, 11, 432},
- dictWord{135, 11, 824},
- dictWord{138, 10, 189},
- dictWord{133, 0, 787},
- dictWord{133, 10, 99},
- dictWord{
- 4,
- 11,
- 279,
- },
- dictWord{7, 11, 301},
- dictWord{137, 11, 362},
- dictWord{8, 0, 491},
- dictWord{4, 10, 397},
- dictWord{136, 10, 555},
- dictWord{4, 11, 178},
- dictWord{
- 133,
- 11,
- 399,
- },
- dictWord{134, 0, 711},
- dictWord{144, 0, 9},
- dictWord{4, 0, 403},
- dictWord{5, 0, 441},
- dictWord{7, 0, 450},
- dictWord{10, 0, 840},
- dictWord{11, 0, 101},
- dictWord{12, 0, 193},
- dictWord{141, 0, 430},
- dictWord{135, 11, 1246},
- dictWord{12, 10, 398},
- dictWord{20, 10, 39},
- dictWord{21, 10, 11},
- dictWord{
- 150,
- 10,
- 41,
- },
- dictWord{4, 10, 485},
- dictWord{7, 10, 353},
- dictWord{135, 10, 1523},
- dictWord{6, 10, 366},
- dictWord{7, 10, 1384},
- dictWord{7, 10, 1601},
- dictWord{
- 135,
- 11,
- 1912,
- },
- dictWord{7, 0, 396},
- dictWord{10, 0, 160},
- dictWord{135, 11, 396},
- dictWord{137, 10, 282},
- dictWord{134, 11, 1692},
- dictWord{4, 10, 157},
- dictWord{5, 10, 471},
- dictWord{6, 11, 202},
- dictWord{10, 11, 448},
- dictWord{11, 11, 208},
- dictWord{12, 11, 360},
- dictWord{17, 11, 117},
- dictWord{
- 17,
- 11,
- 118,
- },
- dictWord{18, 11, 27},
- dictWord{148, 11, 67},
- dictWord{133, 0, 679},
- dictWord{137, 0, 326},
- dictWord{136, 10, 116},
- dictWord{7, 11, 872},
- dictWord{
- 10,
- 11,
- 516,
- },
- dictWord{139, 11, 167},
- dictWord{132, 11, 224},
- dictWord{5, 11, 546},
- dictWord{7, 11, 35},
- dictWord{8, 11, 11},
- dictWord{8, 11, 12},
- dictWord{
- 9,
- 11,
- 315,
- },
- dictWord{9, 11, 533},
- dictWord{10, 11, 802},
- dictWord{11, 11, 166},
- dictWord{12, 11, 525},
- dictWord{142, 11, 243},
- dictWord{7, 0, 1128},
- dictWord{135, 11, 1920},
- dictWord{5, 11, 241},
- dictWord{8, 11, 242},
- dictWord{9, 11, 451},
- dictWord{10, 11, 667},
- dictWord{11, 11, 598},
- dictWord{
- 140,
- 11,
- 429,
- },
- dictWord{6, 0, 737},
- dictWord{5, 10, 160},
- dictWord{7, 10, 363},
- dictWord{7, 10, 589},
- dictWord{10, 10, 170},
- dictWord{141, 10, 55},
- dictWord{
- 135,
- 0,
- 1796,
- },
- dictWord{142, 11, 254},
- dictWord{4, 0, 574},
- dictWord{7, 0, 350},
- dictWord{7, 0, 1024},
- dictWord{8, 0, 338},
- dictWord{9, 0, 677},
- dictWord{138, 0, 808},
- dictWord{134, 0, 1096},
- dictWord{137, 11, 516},
- dictWord{7, 0, 405},
- dictWord{10, 0, 491},
- dictWord{4, 10, 108},
- dictWord{4, 11, 366},
- dictWord{
- 139,
- 10,
- 498,
- },
- dictWord{11, 11, 337},
- dictWord{142, 11, 303},
- dictWord{134, 11, 1736},
- dictWord{7, 0, 1081},
- dictWord{140, 11, 364},
- dictWord{7, 10, 1005},
- dictWord{140, 10, 609},
- dictWord{7, 0, 1676},
- dictWord{4, 10, 895},
- dictWord{133, 10, 772},
- dictWord{135, 0, 2037},
- dictWord{6, 0, 1207},
- dictWord{
- 11,
- 11,
- 916,
- },
- dictWord{142, 11, 419},
- dictWord{14, 11, 140},
- dictWord{148, 11, 41},
- dictWord{6, 11, 331},
- dictWord{136, 11, 623},
- dictWord{9, 0, 944},
- dictWord{
- 9,
- 0,
- 969,
- },
- dictWord{9, 0, 1022},
- dictWord{12, 0, 913},
- dictWord{12, 0, 936},
- dictWord{15, 0, 177},
- dictWord{15, 0, 193},
- dictWord{4, 10, 926},
- dictWord{
- 133,
- 10,
- 983,
- },
- dictWord{5, 0, 354},
- dictWord{135, 11, 506},
- dictWord{8, 0, 598},
- dictWord{9, 0, 664},
- dictWord{138, 0, 441},
- dictWord{4, 11, 640},
- dictWord{
- 133,
- 11,
- 513,
- },
- dictWord{137, 0, 297},
- dictWord{132, 10, 538},
- dictWord{6, 10, 294},
- dictWord{7, 10, 1267},
- dictWord{136, 10, 624},
- dictWord{7, 0, 1772},
- dictWord{
- 7,
- 11,
- 1888,
- },
- dictWord{8, 11, 289},
- dictWord{11, 11, 45},
- dictWord{12, 11, 278},
- dictWord{140, 11, 537},
- dictWord{135, 10, 1325},
- dictWord{138, 0, 751},
- dictWord{141, 0, 37},
- dictWord{134, 0, 1828},
- dictWord{132, 10, 757},
- dictWord{132, 11, 394},
- dictWord{6, 0, 257},
- dictWord{135, 0, 1522},
- dictWord{
- 4,
- 0,
- 582,
- },
- dictWord{9, 0, 191},
- dictWord{135, 11, 1931},
- dictWord{7, 11, 574},
- dictWord{7, 11, 1719},
- dictWord{137, 11, 145},
- dictWord{132, 11, 658},
- dictWord{10, 0, 790},
- dictWord{132, 11, 369},
- dictWord{9, 11, 781},
- dictWord{10, 11, 144},
- dictWord{11, 11, 385},
- dictWord{13, 11, 161},
- dictWord{13, 11, 228},
- dictWord{13, 11, 268},
- dictWord{148, 11, 107},
- dictWord{8, 0, 469},
- dictWord{10, 0, 47},
- dictWord{136, 11, 374},
- dictWord{6, 0, 306},
- dictWord{7, 0, 1140},
- dictWord{7, 0, 1340},
- dictWord{8, 0, 133},
- dictWord{138, 0, 449},
- dictWord{139, 0, 1011},
- dictWord{7, 10, 1875},
- dictWord{139, 10, 124},
- dictWord{
- 4,
- 11,
- 344,
- },
- dictWord{6, 11, 498},
- dictWord{139, 11, 323},
- dictWord{137, 0, 299},
- dictWord{132, 0, 837},
- dictWord{133, 11, 906},
- dictWord{5, 0, 329},
- dictWord{
- 8,
- 0,
- 260,
- },
- dictWord{138, 0, 10},
- dictWord{134, 0, 1320},
- dictWord{4, 0, 657},
- dictWord{146, 0, 158},
- dictWord{135, 0, 1191},
- dictWord{152, 0, 7},
- dictWord{
- 6,
- 0,
- 1939,
- },
- dictWord{8, 0, 974},
- dictWord{138, 0, 996},
- dictWord{135, 0, 1665},
- dictWord{11, 11, 126},
- dictWord{139, 11, 287},
- dictWord{143, 0, 8},
- dictWord{
- 14,
- 11,
- 149,
- },
- dictWord{14, 11, 399},
- dictWord{143, 11, 57},
- dictWord{5, 0, 66},
- dictWord{7, 0, 1896},
- dictWord{136, 0, 288},
- dictWord{7, 0, 175},
- dictWord{
- 10,
- 0,
- 494,
- },
- dictWord{5, 10, 150},
- dictWord{8, 10, 603},
- dictWord{9, 10, 593},
- dictWord{9, 10, 634},
- dictWord{10, 10, 173},
- dictWord{11, 10, 462},
- dictWord{
- 11,
- 10,
- 515,
- },
- dictWord{13, 10, 216},
- dictWord{13, 10, 288},
- dictWord{142, 10, 400},
- dictWord{134, 0, 1643},
- dictWord{136, 11, 21},
- dictWord{4, 0, 21},
- dictWord{
- 5,
- 0,
- 91,
- },
- dictWord{5, 0, 648},
- dictWord{5, 0, 750},
- dictWord{5, 0, 781},
- dictWord{6, 0, 54},
- dictWord{6, 0, 112},
- dictWord{6, 0, 402},
- dictWord{6, 0, 1732},
- dictWord{
- 7,
- 0,
- 315,
- },
- dictWord{7, 0, 749},
- dictWord{7, 0, 1427},
- dictWord{7, 0, 1900},
- dictWord{9, 0, 78},
- dictWord{9, 0, 508},
- dictWord{10, 0, 611},
- dictWord{10, 0, 811},
- dictWord{11, 0, 510},
- dictWord{11, 0, 728},
- dictWord{13, 0, 36},
- dictWord{14, 0, 39},
- dictWord{16, 0, 83},
- dictWord{17, 0, 124},
- dictWord{148, 0, 30},
- dictWord{
- 4,
- 0,
- 668,
- },
- dictWord{136, 0, 570},
- dictWord{10, 0, 322},
- dictWord{10, 0, 719},
- dictWord{139, 0, 407},
- dictWord{135, 11, 1381},
- dictWord{136, 11, 193},
- dictWord{12, 10, 108},
- dictWord{141, 10, 291},
- dictWord{132, 11, 616},
- dictWord{136, 11, 692},
- dictWord{8, 0, 125},
- dictWord{8, 0, 369},
- dictWord{8, 0, 524},
- dictWord{10, 0, 486},
- dictWord{11, 0, 13},
- dictWord{11, 0, 381},
- dictWord{11, 0, 736},
- dictWord{11, 0, 766},
- dictWord{11, 0, 845},
- dictWord{13, 0, 114},
- dictWord{
- 13,
- 0,
- 292,
- },
- dictWord{142, 0, 47},
- dictWord{134, 0, 1247},
- dictWord{6, 0, 1684},
- dictWord{6, 0, 1731},
- dictWord{7, 0, 356},
- dictWord{8, 0, 54},
- dictWord{8, 0, 221},
- dictWord{9, 0, 225},
- dictWord{9, 0, 356},
- dictWord{10, 0, 77},
- dictWord{10, 0, 446},
- dictWord{10, 0, 731},
- dictWord{12, 0, 404},
- dictWord{141, 0, 491},
- dictWord{135, 10, 1777},
- dictWord{4, 11, 305},
- dictWord{4, 10, 493},
- dictWord{144, 10, 55},
- dictWord{4, 0, 951},
- dictWord{6, 0, 1809},
- dictWord{6, 0, 1849},
- dictWord{8, 0, 846},
- dictWord{8, 0, 866},
- dictWord{8, 0, 899},
- dictWord{10, 0, 896},
- dictWord{12, 0, 694},
- dictWord{142, 0, 468},
- dictWord{5, 11, 214},
- dictWord{
- 7,
- 11,
- 603,
- },
- dictWord{8, 11, 611},
- dictWord{9, 11, 686},
- dictWord{10, 11, 88},
- dictWord{11, 11, 459},
- dictWord{11, 11, 496},
- dictWord{12, 11, 463},
- dictWord{
- 12,
- 11,
- 590,
- },
- dictWord{13, 11, 0},
- dictWord{142, 11, 214},
- dictWord{132, 0, 411},
- dictWord{4, 0, 80},
- dictWord{133, 0, 44},
- dictWord{140, 11, 74},
- dictWord{
- 143,
- 0,
- 31,
- },
- dictWord{7, 0, 669},
- dictWord{6, 10, 568},
- dictWord{7, 10, 1804},
- dictWord{8, 10, 362},
- dictWord{8, 10, 410},
- dictWord{8, 10, 830},
- dictWord{9, 10, 514},
- dictWord{11, 10, 649},
- dictWord{142, 10, 157},
- dictWord{7, 0, 673},
- dictWord{134, 11, 1703},
- dictWord{132, 10, 625},
- dictWord{134, 0, 1303},
- dictWord{
- 5,
- 0,
- 299,
- },
- dictWord{135, 0, 1083},
- dictWord{138, 0, 704},
- dictWord{6, 0, 275},
- dictWord{7, 0, 408},
- dictWord{6, 10, 158},
- dictWord{7, 10, 129},
- dictWord{
- 7,
- 10,
- 181,
- },
- dictWord{8, 10, 276},
- dictWord{8, 10, 377},
- dictWord{10, 10, 523},
- dictWord{11, 10, 816},
- dictWord{12, 10, 455},
- dictWord{13, 10, 303},
- dictWord{
- 142,
- 10,
- 135,
- },
- dictWord{4, 0, 219},
- dictWord{7, 0, 367},
- dictWord{7, 0, 1713},
- dictWord{7, 0, 1761},
- dictWord{9, 0, 86},
- dictWord{9, 0, 537},
- dictWord{10, 0, 165},
- dictWord{12, 0, 219},
- dictWord{140, 0, 561},
- dictWord{8, 0, 216},
- dictWord{4, 10, 1},
- dictWord{4, 11, 737},
- dictWord{6, 11, 317},
- dictWord{7, 10, 1143},
- dictWord{
- 7,
- 10,
- 1463,
- },
- dictWord{9, 10, 207},
- dictWord{9, 10, 390},
- dictWord{9, 10, 467},
- dictWord{10, 11, 98},
- dictWord{11, 11, 294},
- dictWord{11, 10, 836},
- dictWord{
- 12,
- 11,
- 60,
- },
- dictWord{12, 11, 437},
- dictWord{13, 11, 64},
- dictWord{13, 11, 380},
- dictWord{142, 11, 430},
- dictWord{6, 11, 1758},
- dictWord{8, 11, 520},
- dictWord{9, 11, 345},
- dictWord{9, 11, 403},
- dictWord{142, 11, 350},
- dictWord{5, 11, 47},
- dictWord{10, 11, 242},
- dictWord{138, 11, 579},
- dictWord{5, 11, 139},
- dictWord{7, 11, 1168},
- dictWord{138, 11, 539},
- dictWord{135, 0, 1319},
- dictWord{4, 10, 295},
- dictWord{4, 10, 723},
- dictWord{5, 10, 895},
- dictWord{
- 7,
- 10,
- 1031,
- },
- dictWord{8, 10, 199},
- dictWord{8, 10, 340},
- dictWord{9, 10, 153},
- dictWord{9, 10, 215},
- dictWord{10, 10, 21},
- dictWord{10, 10, 59},
- dictWord{
- 10,
- 10,
- 80,
- },
- dictWord{10, 10, 224},
- dictWord{10, 10, 838},
- dictWord{11, 10, 229},
- dictWord{11, 10, 652},
- dictWord{12, 10, 192},
- dictWord{13, 10, 146},
- dictWord{
- 142,
- 10,
- 91,
- },
- dictWord{140, 0, 428},
- dictWord{137, 10, 51},
- dictWord{133, 0, 514},
- dictWord{5, 10, 309},
- dictWord{140, 10, 211},
- dictWord{6, 0, 1010},
- dictWord{5, 10, 125},
- dictWord{8, 10, 77},
- dictWord{138, 10, 15},
- dictWord{4, 0, 55},
- dictWord{5, 0, 301},
- dictWord{6, 0, 571},
- dictWord{142, 0, 49},
- dictWord{
- 146,
- 0,
- 102,
- },
- dictWord{136, 11, 370},
- dictWord{4, 11, 107},
- dictWord{7, 11, 613},
- dictWord{8, 11, 358},
- dictWord{8, 11, 439},
- dictWord{8, 11, 504},
- dictWord{
- 9,
- 11,
- 501,
- },
- dictWord{10, 11, 383},
- dictWord{139, 11, 477},
- dictWord{132, 11, 229},
- dictWord{133, 0, 364},
- dictWord{133, 10, 439},
- dictWord{4, 11, 903},
- dictWord{135, 11, 1816},
- dictWord{11, 0, 379},
- dictWord{140, 10, 76},
- dictWord{4, 0, 76},
- dictWord{4, 0, 971},
- dictWord{7, 0, 1550},
- dictWord{9, 0, 306},
- dictWord{
- 9,
- 0,
- 430,
- },
- dictWord{9, 0, 663},
- dictWord{10, 0, 683},
- dictWord{10, 0, 921},
- dictWord{11, 0, 427},
- dictWord{11, 0, 753},
- dictWord{12, 0, 334},
- dictWord{12, 0, 442},
- dictWord{14, 0, 258},
- dictWord{14, 0, 366},
- dictWord{143, 0, 131},
- dictWord{137, 0, 52},
- dictWord{4, 11, 47},
- dictWord{6, 11, 373},
- dictWord{7, 11, 452},
- dictWord{7, 11, 543},
- dictWord{7, 11, 1714},
- dictWord{7, 11, 1856},
- dictWord{9, 11, 6},
- dictWord{11, 11, 257},
- dictWord{139, 11, 391},
- dictWord{4, 10, 8},
- dictWord{
- 7,
- 10,
- 1152,
- },
- dictWord{7, 10, 1153},
- dictWord{7, 10, 1715},
- dictWord{9, 10, 374},
- dictWord{10, 10, 478},
- dictWord{139, 10, 648},
- dictWord{4, 11, 785},
- dictWord{133, 11, 368},
- dictWord{135, 10, 1099},
- dictWord{135, 11, 860},
- dictWord{5, 11, 980},
- dictWord{134, 11, 1754},
- dictWord{134, 0, 1258},
- dictWord{
- 6,
- 0,
- 1058,
- },
- dictWord{6, 0, 1359},
- dictWord{7, 11, 536},
- dictWord{7, 11, 1331},
- dictWord{136, 11, 143},
- dictWord{4, 0, 656},
- dictWord{135, 0, 779},
- dictWord{136, 10, 87},
- dictWord{5, 11, 19},
- dictWord{6, 11, 533},
- dictWord{146, 11, 126},
- dictWord{7, 0, 144},
- dictWord{138, 10, 438},
- dictWord{5, 11, 395},
- dictWord{5, 11, 951},
- dictWord{134, 11, 1776},
- dictWord{135, 0, 1373},
- dictWord{7, 0, 554},
- dictWord{7, 0, 605},
- dictWord{141, 0, 10},
- dictWord{4, 10, 69},
- dictWord{
- 5,
- 10,
- 122,
- },
- dictWord{9, 10, 656},
- dictWord{138, 10, 464},
- dictWord{5, 10, 849},
- dictWord{134, 10, 1633},
- dictWord{5, 0, 838},
- dictWord{5, 0, 841},
- dictWord{134, 0, 1649},
- dictWord{133, 0, 1012},
- dictWord{139, 10, 499},
- dictWord{7, 10, 476},
- dictWord{7, 10, 1592},
- dictWord{138, 10, 87},
- dictWord{
- 6,
- 0,
- 251,
- },
- dictWord{7, 0, 365},
- dictWord{7, 0, 1357},
- dictWord{7, 0, 1497},
- dictWord{8, 0, 154},
- dictWord{141, 0, 281},
- dictWord{132, 11, 441},
- dictWord{
- 132,
- 11,
- 695,
- },
- dictWord{7, 11, 497},
- dictWord{9, 11, 387},
- dictWord{147, 11, 81},
- dictWord{133, 0, 340},
- dictWord{14, 10, 283},
- dictWord{142, 11, 283},
- dictWord{
- 134,
- 0,
- 810,
- },
- dictWord{135, 11, 1894},
- dictWord{139, 0, 495},
- dictWord{5, 11, 284},
- dictWord{6, 11, 49},
- dictWord{6, 11, 350},
- dictWord{7, 11, 1},
- dictWord{
- 7,
- 11,
- 377,
- },
- dictWord{7, 11, 1693},
- dictWord{8, 11, 18},
- dictWord{8, 11, 678},
- dictWord{9, 11, 161},
- dictWord{9, 11, 585},
- dictWord{9, 11, 671},
- dictWord{
- 9,
- 11,
- 839,
- },
- dictWord{11, 11, 912},
- dictWord{141, 11, 427},
- dictWord{5, 10, 859},
- dictWord{7, 10, 1160},
- dictWord{8, 10, 107},
- dictWord{9, 10, 291},
- dictWord{
- 9,
- 10,
- 439,
- },
- dictWord{10, 10, 663},
- dictWord{11, 10, 609},
- dictWord{140, 10, 197},
- dictWord{8, 0, 261},
- dictWord{9, 0, 144},
- dictWord{9, 0, 466},
- dictWord{
- 10,
- 0,
- 370,
- },
- dictWord{12, 0, 470},
- dictWord{13, 0, 144},
- dictWord{142, 0, 348},
- dictWord{137, 0, 897},
- dictWord{6, 0, 248},
- dictWord{9, 0, 546},
- dictWord{10, 0, 535},
- dictWord{11, 0, 681},
- dictWord{141, 0, 135},
- dictWord{4, 0, 358},
- dictWord{135, 0, 1496},
- dictWord{134, 0, 567},
- dictWord{136, 0, 445},
- dictWord{
- 4,
- 10,
- 117,
- },
- dictWord{6, 10, 372},
- dictWord{7, 10, 1905},
- dictWord{142, 10, 323},
- dictWord{4, 10, 722},
- dictWord{139, 10, 471},
- dictWord{6, 0, 697},
- dictWord{
- 134,
- 0,
- 996,
- },
- dictWord{7, 11, 2007},
- dictWord{9, 11, 101},
- dictWord{9, 11, 450},
- dictWord{10, 11, 66},
- dictWord{10, 11, 842},
- dictWord{11, 11, 536},
- dictWord{
- 140,
- 11,
- 587,
- },
- dictWord{132, 0, 577},
- dictWord{134, 0, 1336},
- dictWord{9, 10, 5},
- dictWord{12, 10, 216},
- dictWord{12, 10, 294},
- dictWord{12, 10, 298},
- dictWord{12, 10, 400},
- dictWord{12, 10, 518},
- dictWord{13, 10, 229},
- dictWord{143, 10, 139},
- dictWord{6, 0, 174},
- dictWord{138, 0, 917},
- dictWord{
- 134,
- 10,
- 1774,
- },
- dictWord{5, 10, 12},
- dictWord{7, 10, 375},
- dictWord{9, 10, 88},
- dictWord{9, 10, 438},
- dictWord{11, 11, 62},
- dictWord{139, 10, 270},
- dictWord{
- 134,
- 11,
- 1766,
- },
- dictWord{6, 11, 0},
- dictWord{7, 11, 84},
- dictWord{7, 10, 816},
- dictWord{7, 10, 1241},
- dictWord{9, 10, 283},
- dictWord{9, 10, 520},
- dictWord{10, 10, 213},
- dictWord{10, 10, 307},
- dictWord{10, 10, 463},
- dictWord{10, 10, 671},
- dictWord{10, 10, 746},
- dictWord{11, 10, 401},
- dictWord{11, 10, 794},
- dictWord{
- 11,
- 11,
- 895,
- },
- dictWord{12, 10, 517},
- dictWord{17, 11, 11},
- dictWord{18, 10, 107},
- dictWord{147, 10, 115},
- dictWord{5, 0, 878},
- dictWord{133, 0, 972},
- dictWord{
- 6,
- 11,
- 1665,
- },
- dictWord{7, 11, 256},
- dictWord{7, 11, 1388},
- dictWord{138, 11, 499},
- dictWord{4, 10, 258},
- dictWord{136, 10, 639},
- dictWord{4, 11, 22},
- dictWord{5, 11, 10},
- dictWord{6, 10, 22},
- dictWord{7, 11, 848},
- dictWord{7, 10, 903},
- dictWord{7, 10, 1963},
- dictWord{8, 11, 97},
- dictWord{138, 10, 577},
- dictWord{
- 5,
- 10,
- 681,
- },
- dictWord{136, 10, 782},
- dictWord{133, 11, 481},
- dictWord{132, 0, 351},
- dictWord{4, 10, 664},
- dictWord{5, 10, 804},
- dictWord{139, 10, 1013},
- dictWord{6, 11, 134},
- dictWord{7, 11, 437},
- dictWord{7, 11, 959},
- dictWord{9, 11, 37},
- dictWord{14, 11, 285},
- dictWord{14, 11, 371},
- dictWord{144, 11, 60},
- dictWord{7, 11, 486},
- dictWord{8, 11, 155},
- dictWord{11, 11, 93},
- dictWord{140, 11, 164},
- dictWord{132, 0, 286},
- dictWord{7, 0, 438},
- dictWord{7, 0, 627},
- dictWord{7, 0, 1516},
- dictWord{8, 0, 40},
- dictWord{9, 0, 56},
- dictWord{9, 0, 294},
- dictWord{10, 0, 30},
- dictWord{11, 0, 969},
- dictWord{11, 0, 995},
- dictWord{146, 0, 148},
- dictWord{5, 11, 591},
- dictWord{135, 11, 337},
- dictWord{134, 0, 1950},
- dictWord{133, 10, 32},
- dictWord{138, 11, 500},
- dictWord{5, 11, 380},
- dictWord{
- 5,
- 11,
- 650,
- },
- dictWord{136, 11, 310},
- dictWord{4, 11, 364},
- dictWord{7, 11, 1156},
- dictWord{7, 11, 1187},
- dictWord{137, 11, 409},
- dictWord{4, 0, 738},
- dictWord{134, 11, 482},
- dictWord{4, 11, 781},
- dictWord{6, 11, 487},
- dictWord{7, 11, 926},
- dictWord{8, 11, 263},
- dictWord{139, 11, 500},
- dictWord{135, 11, 418},
- dictWord{6, 0, 2047},
- dictWord{10, 0, 969},
- dictWord{4, 10, 289},
- dictWord{7, 10, 629},
- dictWord{7, 10, 1698},
- dictWord{7, 10, 1711},
- dictWord{
- 140,
- 10,
- 215,
- },
- dictWord{6, 10, 450},
- dictWord{136, 10, 109},
- dictWord{134, 0, 818},
- dictWord{136, 10, 705},
- dictWord{133, 0, 866},
- dictWord{4, 11, 94},
- dictWord{
- 135,
- 11,
- 1265,
- },
- dictWord{132, 11, 417},
- dictWord{134, 0, 1467},
- dictWord{135, 10, 1238},
- dictWord{4, 0, 972},
- dictWord{6, 0, 1851},
- dictWord{
- 134,
- 0,
- 1857,
- },
- dictWord{134, 0, 355},
- dictWord{133, 0, 116},
- dictWord{132, 0, 457},
- dictWord{135, 11, 1411},
- dictWord{4, 11, 408},
- dictWord{4, 11, 741},
- dictWord{135, 11, 500},
- dictWord{134, 10, 26},
- dictWord{142, 11, 137},
- dictWord{5, 0, 527},
- dictWord{6, 0, 189},
- dictWord{7, 0, 859},
- dictWord{136, 0, 267},
- dictWord{11, 0, 104},
- dictWord{11, 0, 554},
- dictWord{15, 0, 60},
- dictWord{143, 0, 125},
- dictWord{134, 0, 1613},
- dictWord{4, 10, 414},
- dictWord{5, 10, 467},
- dictWord{
- 9,
- 10,
- 654,
- },
- dictWord{10, 10, 451},
- dictWord{12, 10, 59},
- dictWord{141, 10, 375},
- dictWord{135, 10, 17},
- dictWord{134, 0, 116},
- dictWord{135, 11, 541},
- dictWord{135, 10, 955},
- dictWord{6, 11, 73},
- dictWord{135, 11, 177},
- dictWord{133, 11, 576},
- dictWord{134, 0, 886},
- dictWord{133, 0, 487},
- dictWord{
- 4,
- 0,
- 86,
- },
- dictWord{5, 0, 667},
- dictWord{5, 0, 753},
- dictWord{6, 0, 316},
- dictWord{6, 0, 455},
- dictWord{135, 0, 946},
- dictWord{142, 11, 231},
- dictWord{150, 0, 45},
- dictWord{134, 0, 863},
- dictWord{134, 0, 1953},
- dictWord{6, 10, 280},
- dictWord{10, 10, 502},
- dictWord{11, 10, 344},
- dictWord{140, 10, 38},
- dictWord{4, 0, 79},
- dictWord{7, 0, 1773},
- dictWord{10, 0, 450},
- dictWord{11, 0, 589},
- dictWord{13, 0, 332},
- dictWord{13, 0, 493},
- dictWord{14, 0, 183},
- dictWord{14, 0, 334},
- dictWord{14, 0, 362},
- dictWord{14, 0, 368},
- dictWord{14, 0, 376},
- dictWord{14, 0, 379},
- dictWord{19, 0, 90},
- dictWord{19, 0, 103},
- dictWord{19, 0, 127},
- dictWord{
- 148,
- 0,
- 90,
- },
- dictWord{5, 10, 45},
- dictWord{7, 10, 1161},
- dictWord{11, 10, 448},
- dictWord{11, 10, 880},
- dictWord{13, 10, 139},
- dictWord{13, 10, 407},
- dictWord{
- 15,
- 10,
- 16,
- },
- dictWord{17, 10, 95},
- dictWord{18, 10, 66},
- dictWord{18, 10, 88},
- dictWord{18, 10, 123},
- dictWord{149, 10, 7},
- dictWord{136, 10, 777},
- dictWord{
- 4,
- 10,
- 410,
- },
- dictWord{135, 10, 521},
- dictWord{135, 10, 1778},
- dictWord{135, 11, 538},
- dictWord{142, 0, 381},
- dictWord{133, 11, 413},
- dictWord{
- 134,
- 0,
- 1142,
- },
- dictWord{6, 0, 1189},
- dictWord{136, 11, 495},
- dictWord{5, 0, 663},
- dictWord{6, 0, 1962},
- dictWord{134, 0, 2003},
- dictWord{7, 11, 54},
- dictWord{
- 8,
- 11,
- 312,
- },
- dictWord{10, 11, 191},
- dictWord{10, 11, 614},
- dictWord{140, 11, 567},
- dictWord{132, 10, 436},
- dictWord{133, 0, 846},
- dictWord{10, 0, 528},
- dictWord{11, 0, 504},
- dictWord{7, 10, 1587},
- dictWord{135, 10, 1707},
- dictWord{5, 0, 378},
- dictWord{8, 0, 465},
- dictWord{9, 0, 286},
- dictWord{10, 0, 185},
- dictWord{
- 10,
- 0,
- 562,
- },
- dictWord{10, 0, 635},
- dictWord{11, 0, 31},
- dictWord{11, 0, 393},
- dictWord{13, 0, 312},
- dictWord{18, 0, 65},
- dictWord{18, 0, 96},
- dictWord{147, 0, 89},
- dictWord{7, 0, 899},
- dictWord{14, 0, 325},
- dictWord{6, 11, 468},
- dictWord{7, 11, 567},
- dictWord{7, 11, 1478},
- dictWord{8, 11, 530},
- dictWord{142, 11, 290},
- dictWord{7, 0, 1880},
- dictWord{9, 0, 680},
- dictWord{139, 0, 798},
- dictWord{134, 0, 1770},
- dictWord{132, 0, 648},
- dictWord{150, 11, 35},
- dictWord{5, 0, 945},
- dictWord{6, 0, 1656},
- dictWord{6, 0, 1787},
- dictWord{7, 0, 167},
- dictWord{8, 0, 824},
- dictWord{9, 0, 391},
- dictWord{10, 0, 375},
- dictWord{139, 0, 185},
- dictWord{
- 6,
- 11,
- 484,
- },
- dictWord{135, 11, 822},
- dictWord{134, 0, 2046},
- dictWord{7, 0, 1645},
- dictWord{8, 0, 352},
- dictWord{137, 0, 249},
- dictWord{132, 0, 152},
- dictWord{6, 0, 611},
- dictWord{135, 0, 1733},
- dictWord{6, 11, 1724},
- dictWord{135, 11, 2022},
- dictWord{133, 0, 1006},
- dictWord{141, 11, 96},
- dictWord{
- 5,
- 0,
- 420,
- },
- dictWord{135, 0, 1449},
- dictWord{146, 11, 149},
- dictWord{135, 0, 832},
- dictWord{135, 10, 663},
- dictWord{133, 0, 351},
- dictWord{5, 0, 40},
- dictWord{
- 7,
- 0,
- 598,
- },
- dictWord{7, 0, 1638},
- dictWord{8, 0, 78},
- dictWord{9, 0, 166},
- dictWord{9, 0, 640},
- dictWord{9, 0, 685},
- dictWord{9, 0, 773},
- dictWord{11, 0, 215},
- dictWord{13, 0, 65},
- dictWord{14, 0, 172},
- dictWord{14, 0, 317},
- dictWord{145, 0, 6},
- dictWord{8, 0, 60},
- dictWord{9, 0, 343},
- dictWord{139, 0, 769},
- dictWord{
- 134,
- 0,
- 1354,
- },
- dictWord{132, 0, 724},
- dictWord{137, 0, 745},
- dictWord{132, 11, 474},
- dictWord{7, 0, 1951},
- dictWord{8, 0, 765},
- dictWord{8, 0, 772},
- dictWord{
- 140,
- 0,
- 671,
- },
- dictWord{7, 0, 108},
- dictWord{8, 0, 219},
- dictWord{8, 0, 388},
- dictWord{9, 0, 775},
- dictWord{11, 0, 275},
- dictWord{140, 0, 464},
- dictWord{137, 0, 639},
- dictWord{135, 10, 503},
- dictWord{133, 11, 366},
- dictWord{5, 0, 15},
- dictWord{6, 0, 56},
- dictWord{7, 0, 1758},
- dictWord{8, 0, 500},
- dictWord{9, 0, 730},
- dictWord{
- 11,
- 0,
- 331,
- },
- dictWord{13, 0, 150},
- dictWord{14, 0, 282},
- dictWord{5, 11, 305},
- dictWord{9, 11, 560},
- dictWord{141, 11, 208},
- dictWord{4, 10, 113},
- dictWord{
- 5,
- 10,
- 163,
- },
- dictWord{5, 10, 735},
- dictWord{7, 10, 1009},
- dictWord{9, 10, 9},
- dictWord{9, 10, 771},
- dictWord{12, 10, 90},
- dictWord{13, 10, 138},
- dictWord{
- 13,
- 10,
- 410,
- },
- dictWord{143, 10, 128},
- dictWord{4, 10, 324},
- dictWord{138, 10, 104},
- dictWord{135, 11, 466},
- dictWord{142, 11, 27},
- dictWord{134, 0, 1886},
- dictWord{5, 0, 205},
- dictWord{6, 0, 438},
- dictWord{9, 0, 711},
- dictWord{4, 11, 480},
- dictWord{6, 11, 167},
- dictWord{6, 11, 302},
- dictWord{6, 11, 1642},
- dictWord{
- 7,
- 11,
- 130,
- },
- dictWord{7, 11, 656},
- dictWord{7, 11, 837},
- dictWord{7, 11, 1547},
- dictWord{7, 11, 1657},
- dictWord{8, 11, 429},
- dictWord{9, 11, 228},
- dictWord{
- 10,
- 11,
- 643,
- },
- dictWord{13, 11, 289},
- dictWord{13, 11, 343},
- dictWord{147, 11, 101},
- dictWord{134, 0, 865},
- dictWord{6, 0, 2025},
- dictWord{136, 0, 965},
- dictWord{
- 7,
- 11,
- 278,
- },
- dictWord{10, 11, 739},
- dictWord{11, 11, 708},
- dictWord{141, 11, 348},
- dictWord{133, 0, 534},
- dictWord{135, 11, 1922},
- dictWord{
- 137,
- 0,
- 691,
- },
- dictWord{4, 10, 935},
- dictWord{133, 10, 823},
- dictWord{6, 0, 443},
- dictWord{9, 0, 237},
- dictWord{9, 0, 571},
- dictWord{9, 0, 695},
- dictWord{10, 0, 139},
- dictWord{11, 0, 715},
- dictWord{12, 0, 417},
- dictWord{141, 0, 421},
- dictWord{5, 10, 269},
- dictWord{7, 10, 434},
- dictWord{7, 10, 891},
- dictWord{8, 10, 339},
- dictWord{
- 9,
- 10,
- 702,
- },
- dictWord{11, 10, 594},
- dictWord{11, 10, 718},
- dictWord{145, 10, 100},
- dictWord{6, 0, 1555},
- dictWord{7, 0, 878},
- dictWord{9, 10, 485},
- dictWord{141, 10, 264},
- dictWord{134, 10, 1713},
- dictWord{7, 10, 1810},
- dictWord{11, 10, 866},
- dictWord{12, 10, 103},
- dictWord{141, 10, 495},
- dictWord{
- 135,
- 10,
- 900,
- },
- dictWord{6, 0, 1410},
- dictWord{9, 11, 316},
- dictWord{139, 11, 256},
- dictWord{4, 0, 995},
- dictWord{135, 0, 1033},
- dictWord{132, 0, 578},
- dictWord{10, 0, 881},
- dictWord{12, 0, 740},
- dictWord{12, 0, 743},
- dictWord{140, 0, 759},
- dictWord{132, 0, 822},
- dictWord{133, 0, 923},
- dictWord{142, 10, 143},
- dictWord{135, 11, 1696},
- dictWord{6, 11, 363},
- dictWord{7, 11, 1955},
- dictWord{136, 11, 725},
- dictWord{132, 0, 924},
- dictWord{133, 0, 665},
- dictWord{
- 135,
- 10,
- 2029,
- },
- dictWord{135, 0, 1901},
- dictWord{4, 0, 265},
- dictWord{6, 0, 1092},
- dictWord{6, 0, 1417},
- dictWord{7, 0, 807},
- dictWord{135, 0, 950},
- dictWord{
- 5,
- 0,
- 93,
- },
- dictWord{12, 0, 267},
- dictWord{141, 0, 498},
- dictWord{135, 0, 1451},
- dictWord{5, 11, 813},
- dictWord{135, 11, 2046},
- dictWord{5, 10, 625},
- dictWord{135, 10, 1617},
- dictWord{135, 0, 747},
- dictWord{6, 0, 788},
- dictWord{137, 0, 828},
- dictWord{7, 0, 184},
- dictWord{11, 0, 307},
- dictWord{11, 0, 400},
- dictWord{15, 0, 130},
- dictWord{5, 11, 712},
- dictWord{7, 11, 1855},
- dictWord{8, 10, 425},
- dictWord{8, 10, 693},
- dictWord{9, 10, 720},
- dictWord{10, 10, 380},
- dictWord{10, 10, 638},
- dictWord{11, 11, 17},
- dictWord{11, 10, 473},
- dictWord{12, 10, 61},
- dictWord{13, 11, 321},
- dictWord{144, 11, 67},
- dictWord{135, 0, 198},
- dictWord{6, 11, 320},
- dictWord{7, 11, 781},
- dictWord{7, 11, 1921},
- dictWord{9, 11, 55},
- dictWord{10, 11, 186},
- dictWord{10, 11, 273},
- dictWord{10, 11, 664},
- dictWord{10, 11, 801},
- dictWord{11, 11, 996},
- dictWord{11, 11, 997},
- dictWord{13, 11, 157},
- dictWord{142, 11, 170},
- dictWord{136, 11, 271},
- dictWord{
- 135,
- 0,
- 994,
- },
- dictWord{7, 11, 103},
- dictWord{7, 11, 863},
- dictWord{11, 11, 184},
- dictWord{14, 11, 299},
- dictWord{145, 11, 62},
- dictWord{11, 10, 551},
- dictWord{142, 10, 159},
- dictWord{5, 0, 233},
- dictWord{5, 0, 320},
- dictWord{6, 0, 140},
- dictWord{8, 0, 295},
- dictWord{8, 0, 615},
- dictWord{136, 11, 615},
- dictWord{
- 133,
- 0,
- 978,
- },
- dictWord{4, 0, 905},
- dictWord{6, 0, 1701},
- dictWord{137, 0, 843},
- dictWord{132, 10, 168},
- dictWord{4, 0, 974},
- dictWord{8, 0, 850},
- dictWord{
- 12,
- 0,
- 709,
- },
- dictWord{12, 0, 768},
- dictWord{140, 0, 786},
- dictWord{135, 10, 91},
- dictWord{152, 0, 6},
- dictWord{138, 10, 532},
- dictWord{135, 10, 1884},
- dictWord{132, 0, 509},
- dictWord{6, 0, 1307},
- dictWord{135, 0, 273},
- dictWord{5, 11, 77},
- dictWord{7, 11, 1455},
- dictWord{10, 11, 843},
- dictWord{19, 11, 73},
- dictWord{150, 11, 5},
- dictWord{132, 11, 458},
- dictWord{135, 11, 1420},
- dictWord{6, 11, 109},
- dictWord{138, 11, 382},
- dictWord{6, 0, 201},
- dictWord{6, 11, 330},
- dictWord{7, 10, 70},
- dictWord{7, 11, 1084},
- dictWord{10, 10, 240},
- dictWord{11, 11, 142},
- dictWord{147, 10, 93},
- dictWord{7, 0, 1041},
- dictWord{
- 140,
- 11,
- 328,
- },
- dictWord{133, 11, 354},
- dictWord{134, 0, 1040},
- dictWord{133, 0, 693},
- dictWord{134, 0, 774},
- dictWord{139, 0, 234},
- dictWord{132, 0, 336},
- dictWord{7, 0, 1399},
- dictWord{139, 10, 392},
- dictWord{20, 0, 22},
- dictWord{148, 11, 22},
- dictWord{5, 0, 802},
- dictWord{7, 0, 2021},
- dictWord{136, 0, 805},
- dictWord{
- 5,
- 0,
- 167,
- },
- dictWord{5, 0, 899},
- dictWord{6, 0, 410},
- dictWord{137, 0, 777},
- dictWord{137, 0, 789},
- dictWord{134, 0, 1705},
- dictWord{7, 10, 655},
- dictWord{
- 135,
- 10,
- 1844,
- },
- dictWord{4, 10, 145},
- dictWord{6, 10, 176},
- dictWord{7, 10, 395},
- dictWord{137, 10, 562},
- dictWord{132, 10, 501},
- dictWord{135, 0, 10},
- dictWord{5, 0, 11},
- dictWord{6, 0, 117},
- dictWord{6, 0, 485},
- dictWord{7, 0, 1133},
- dictWord{9, 0, 582},
- dictWord{9, 0, 594},
- dictWord{10, 0, 82},
- dictWord{11, 0, 21},
- dictWord{11, 0, 818},
- dictWord{12, 0, 535},
- dictWord{13, 0, 86},
- dictWord{20, 0, 91},
- dictWord{23, 0, 13},
- dictWord{134, 10, 509},
- dictWord{4, 0, 264},
- dictWord{
- 7,
- 0,
- 1067,
- },
- dictWord{8, 0, 204},
- dictWord{8, 0, 385},
- dictWord{139, 0, 953},
- dictWord{139, 11, 737},
- dictWord{138, 0, 56},
- dictWord{134, 0, 1917},
- dictWord{
- 133,
- 0,
- 470,
- },
- dictWord{10, 11, 657},
- dictWord{14, 11, 297},
- dictWord{142, 11, 361},
- dictWord{135, 11, 412},
- dictWord{7, 0, 1198},
- dictWord{7, 11, 1198},
- dictWord{8, 11, 556},
- dictWord{14, 11, 123},
- dictWord{14, 11, 192},
- dictWord{143, 11, 27},
- dictWord{7, 11, 1985},
- dictWord{14, 11, 146},
- dictWord{15, 11, 42},
- dictWord{16, 11, 23},
- dictWord{17, 11, 86},
- dictWord{146, 11, 17},
- dictWord{11, 0, 1015},
- dictWord{136, 11, 122},
- dictWord{4, 10, 114},
- dictWord{
- 9,
- 10,
- 492,
- },
- dictWord{13, 10, 462},
- dictWord{142, 10, 215},
- dictWord{4, 10, 77},
- dictWord{5, 10, 361},
- dictWord{6, 10, 139},
- dictWord{6, 10, 401},
- dictWord{
- 6,
- 10,
- 404,
- },
- dictWord{7, 10, 413},
- dictWord{7, 10, 715},
- dictWord{7, 10, 1716},
- dictWord{11, 10, 279},
- dictWord{12, 10, 179},
- dictWord{12, 10, 258},
- dictWord{
- 13,
- 10,
- 244,
- },
- dictWord{142, 10, 358},
- dictWord{134, 10, 1717},
- dictWord{7, 10, 1061},
- dictWord{8, 10, 82},
- dictWord{11, 10, 250},
- dictWord{12, 10, 420},
- dictWord{141, 10, 184},
- dictWord{133, 0, 715},
- dictWord{135, 10, 724},
- dictWord{9, 0, 919},
- dictWord{9, 0, 922},
- dictWord{9, 0, 927},
- dictWord{9, 0, 933},
- dictWord{9, 0, 962},
- dictWord{9, 0, 1000},
- dictWord{9, 0, 1002},
- dictWord{9, 0, 1021},
- dictWord{12, 0, 890},
- dictWord{12, 0, 907},
- dictWord{12, 0, 930},
- dictWord{
- 15,
- 0,
- 207,
- },
- dictWord{15, 0, 228},
- dictWord{15, 0, 238},
- dictWord{149, 0, 61},
- dictWord{8, 0, 794},
- dictWord{9, 0, 400},
- dictWord{10, 0, 298},
- dictWord{142, 0, 228},
- dictWord{5, 11, 430},
- dictWord{5, 11, 932},
- dictWord{6, 11, 131},
- dictWord{7, 11, 417},
- dictWord{9, 11, 522},
- dictWord{11, 11, 314},
- dictWord{141, 11, 390},
- dictWord{132, 0, 867},
- dictWord{8, 0, 724},
- dictWord{132, 11, 507},
- dictWord{137, 11, 261},
- dictWord{4, 11, 343},
- dictWord{133, 11, 511},
- dictWord{
- 6,
- 0,
- 190,
- },
- dictWord{7, 0, 768},
- dictWord{135, 0, 1170},
- dictWord{6, 10, 513},
- dictWord{135, 10, 1052},
- dictWord{7, 11, 455},
- dictWord{138, 11, 591},
- dictWord{134, 0, 1066},
- dictWord{137, 10, 899},
- dictWord{14, 0, 67},
- dictWord{147, 0, 60},
- dictWord{4, 0, 948},
- dictWord{18, 0, 174},
- dictWord{146, 0, 176},
- dictWord{135, 0, 1023},
- dictWord{7, 10, 1417},
- dictWord{12, 10, 382},
- dictWord{17, 10, 48},
- dictWord{152, 10, 12},
- dictWord{134, 11, 575},
- dictWord{
- 132,
- 0,
- 764,
- },
- dictWord{6, 10, 545},
- dictWord{7, 10, 565},
- dictWord{7, 10, 1669},
- dictWord{10, 10, 114},
- dictWord{11, 10, 642},
- dictWord{140, 10, 618},
- dictWord{
- 6,
- 0,
- 137,
- },
- dictWord{9, 0, 75},
- dictWord{9, 0, 253},
- dictWord{10, 0, 194},
- dictWord{138, 0, 444},
- dictWord{4, 0, 756},
- dictWord{133, 10, 5},
- dictWord{8, 0, 1008},
- dictWord{135, 10, 192},
- dictWord{132, 0, 842},
- dictWord{11, 0, 643},
- dictWord{12, 0, 115},
- dictWord{136, 10, 763},
- dictWord{139, 0, 67},
- dictWord{
- 133,
- 10,
- 759,
- },
- dictWord{4, 0, 821},
- dictWord{5, 0, 760},
- dictWord{7, 0, 542},
- dictWord{8, 0, 135},
- dictWord{8, 0, 496},
- dictWord{135, 11, 580},
- dictWord{7, 10, 370},
- dictWord{7, 10, 1007},
- dictWord{7, 10, 1177},
- dictWord{135, 10, 1565},
- dictWord{135, 10, 1237},
- dictWord{140, 0, 736},
- dictWord{7, 0, 319},
- dictWord{
- 7,
- 0,
- 355,
- },
- dictWord{7, 0, 763},
- dictWord{10, 0, 389},
- dictWord{145, 0, 43},
- dictWord{8, 11, 333},
- dictWord{138, 11, 182},
- dictWord{4, 10, 87},
- dictWord{5, 10, 250},
- dictWord{141, 10, 298},
- dictWord{138, 0, 786},
- dictWord{134, 0, 2044},
- dictWord{8, 11, 330},
- dictWord{140, 11, 477},
- dictWord{135, 11, 1338},
- dictWord{132, 11, 125},
- dictWord{134, 0, 1030},
- dictWord{134, 0, 1083},
- dictWord{132, 11, 721},
- dictWord{135, 10, 814},
- dictWord{7, 11, 776},
- dictWord{
- 8,
- 11,
- 145,
- },
- dictWord{147, 11, 56},
- dictWord{134, 0, 1226},
- dictWord{4, 10, 57},
- dictWord{7, 10, 1195},
- dictWord{7, 10, 1438},
- dictWord{7, 10, 1548},
- dictWord{
- 7,
- 10,
- 1835,
- },
- dictWord{7, 10, 1904},
- dictWord{9, 10, 757},
- dictWord{10, 10, 604},
- dictWord{139, 10, 519},
- dictWord{7, 11, 792},
- dictWord{8, 11, 147},
- dictWord{10, 11, 821},
- dictWord{139, 11, 1021},
- dictWord{137, 11, 797},
- dictWord{4, 0, 58},
- dictWord{5, 0, 286},
- dictWord{6, 0, 319},
- dictWord{7, 0, 402},
- dictWord{
- 7,
- 0,
- 1254,
- },
- dictWord{7, 0, 1903},
- dictWord{8, 0, 356},
- dictWord{140, 0, 408},
- dictWord{4, 0, 389},
- dictWord{4, 0, 815},
- dictWord{9, 0, 181},
- dictWord{9, 0, 255},
- dictWord{10, 0, 8},
- dictWord{10, 0, 29},
- dictWord{10, 0, 816},
- dictWord{11, 0, 311},
- dictWord{11, 0, 561},
- dictWord{12, 0, 67},
- dictWord{141, 0, 181},
- dictWord{
- 7,
- 11,
- 1472,
- },
- dictWord{135, 11, 1554},
- dictWord{7, 11, 1071},
- dictWord{7, 11, 1541},
- dictWord{7, 11, 1767},
- dictWord{7, 11, 1806},
- dictWord{7, 11, 1999},
- dictWord{9, 11, 248},
- dictWord{10, 11, 400},
- dictWord{11, 11, 162},
- dictWord{11, 11, 178},
- dictWord{11, 11, 242},
- dictWord{12, 11, 605},
- dictWord{
- 15,
- 11,
- 26,
- },
- dictWord{144, 11, 44},
- dictWord{5, 11, 168},
- dictWord{5, 11, 930},
- dictWord{8, 11, 74},
- dictWord{9, 11, 623},
- dictWord{12, 11, 500},
- dictWord{
- 12,
- 11,
- 579,
- },
- dictWord{13, 11, 41},
- dictWord{143, 11, 93},
- dictWord{6, 11, 220},
- dictWord{7, 11, 1101},
- dictWord{141, 11, 105},
- dictWord{5, 0, 474},
- dictWord{
- 7,
- 0,
- 507,
- },
- dictWord{4, 10, 209},
- dictWord{7, 11, 507},
- dictWord{135, 10, 902},
- dictWord{132, 0, 427},
- dictWord{6, 0, 413},
- dictWord{7, 10, 335},
- dictWord{
- 7,
- 10,
- 1437,
- },
- dictWord{7, 10, 1668},
- dictWord{8, 10, 553},
- dictWord{8, 10, 652},
- dictWord{8, 10, 656},
- dictWord{9, 10, 558},
- dictWord{11, 10, 743},
- dictWord{
- 149,
- 10,
- 18,
- },
- dictWord{132, 0, 730},
- dictWord{6, 11, 19},
- dictWord{7, 11, 1413},
- dictWord{139, 11, 428},
- dictWord{133, 0, 373},
- dictWord{132, 10, 559},
- dictWord{7, 11, 96},
- dictWord{8, 11, 401},
- dictWord{137, 11, 896},
- dictWord{7, 0, 799},
- dictWord{7, 0, 1972},
- dictWord{5, 10, 1017},
- dictWord{138, 10, 511},
- dictWord{135, 0, 1793},
- dictWord{7, 11, 1961},
- dictWord{7, 11, 1965},
- dictWord{8, 11, 702},
- dictWord{136, 11, 750},
- dictWord{8, 11, 150},
- dictWord{8, 11, 737},
- dictWord{140, 11, 366},
- dictWord{132, 0, 322},
- dictWord{133, 10, 709},
- dictWord{8, 11, 800},
- dictWord{9, 11, 148},
- dictWord{9, 11, 872},
- dictWord{
- 9,
- 11,
- 890,
- },
- dictWord{11, 11, 309},
- dictWord{11, 11, 1001},
- dictWord{13, 11, 267},
- dictWord{141, 11, 323},
- dictWord{134, 10, 1745},
- dictWord{7, 0, 290},
- dictWord{136, 10, 206},
- dictWord{7, 0, 1651},
- dictWord{145, 0, 89},
- dictWord{139, 0, 2},
- dictWord{132, 0, 672},
- dictWord{6, 0, 1860},
- dictWord{8, 0, 905},
- dictWord{
- 10,
- 0,
- 844,
- },
- dictWord{10, 0, 846},
- dictWord{10, 0, 858},
- dictWord{12, 0, 699},
- dictWord{12, 0, 746},
- dictWord{140, 0, 772},
- dictWord{135, 11, 424},
- dictWord{133, 11, 547},
- dictWord{133, 0, 737},
- dictWord{5, 11, 490},
- dictWord{6, 11, 615},
- dictWord{6, 11, 620},
- dictWord{135, 11, 683},
- dictWord{6, 0, 746},
- dictWord{134, 0, 1612},
- dictWord{132, 10, 776},
- dictWord{9, 11, 385},
- dictWord{149, 11, 17},
- dictWord{133, 0, 145},
- dictWord{135, 10, 1272},
- dictWord{
- 7,
- 0,
- 884,
- },
- dictWord{140, 0, 124},
- dictWord{4, 0, 387},
- dictWord{135, 0, 1288},
- dictWord{5, 11, 133},
- dictWord{136, 10, 406},
- dictWord{136, 11, 187},
- dictWord{
- 6,
- 0,
- 679,
- },
- dictWord{8, 11, 8},
- dictWord{138, 11, 0},
- dictWord{135, 0, 550},
- dictWord{135, 11, 798},
- dictWord{136, 11, 685},
- dictWord{7, 11, 1086},
- dictWord{145, 11, 46},
- dictWord{8, 10, 175},
- dictWord{10, 10, 168},
- dictWord{138, 10, 573},
- dictWord{135, 0, 1305},
- dictWord{4, 0, 576},
- dictWord{
- 135,
- 0,
- 1263,
- },
- dictWord{6, 0, 686},
- dictWord{134, 0, 1563},
- dictWord{134, 0, 607},
- dictWord{5, 0, 919},
- dictWord{134, 0, 1673},
- dictWord{148, 0, 37},
- dictWord{
- 8,
- 11,
- 774,
- },
- dictWord{10, 11, 670},
- dictWord{140, 11, 51},
- dictWord{133, 10, 784},
- dictWord{139, 10, 882},
- dictWord{4, 0, 82},
- dictWord{5, 0, 333},
- dictWord{
- 5,
- 0,
- 904,
- },
- dictWord{6, 0, 207},
- dictWord{7, 0, 325},
- dictWord{7, 0, 1726},
- dictWord{8, 0, 101},
- dictWord{10, 0, 778},
- dictWord{139, 0, 220},
- dictWord{135, 11, 371},
- dictWord{132, 0, 958},
- dictWord{133, 0, 903},
- dictWord{4, 11, 127},
- dictWord{5, 11, 350},
- dictWord{6, 11, 356},
- dictWord{8, 11, 426},
- dictWord{9, 11, 572},
- dictWord{10, 11, 247},
- dictWord{139, 11, 312},
- dictWord{140, 0, 147},
- dictWord{6, 11, 59},
- dictWord{7, 11, 885},
- dictWord{9, 11, 603},
- dictWord{
- 141,
- 11,
- 397,
- },
- dictWord{10, 0, 367},
- dictWord{9, 10, 14},
- dictWord{9, 10, 441},
- dictWord{139, 10, 9},
- dictWord{11, 10, 966},
- dictWord{12, 10, 287},
- dictWord{
- 13,
- 10,
- 342,
- },
- dictWord{13, 10, 402},
- dictWord{15, 10, 110},
- dictWord{143, 10, 163},
- dictWord{134, 0, 690},
- dictWord{132, 0, 705},
- dictWord{9, 0, 651},
- dictWord{
- 11,
- 0,
- 971,
- },
- dictWord{13, 0, 273},
- dictWord{7, 10, 1428},
- dictWord{7, 10, 1640},
- dictWord{7, 10, 1867},
- dictWord{9, 10, 169},
- dictWord{9, 10, 182},
- dictWord{
- 9,
- 10,
- 367,
- },
- dictWord{9, 10, 478},
- dictWord{9, 10, 506},
- dictWord{9, 10, 551},
- dictWord{9, 10, 557},
- dictWord{9, 10, 648},
- dictWord{9, 10, 697},
- dictWord{
- 9,
- 10,
- 705,
- },
- dictWord{9, 10, 725},
- dictWord{9, 10, 787},
- dictWord{9, 10, 794},
- dictWord{10, 10, 198},
- dictWord{10, 10, 214},
- dictWord{10, 10, 267},
- dictWord{
- 10,
- 10,
- 275,
- },
- dictWord{10, 10, 456},
- dictWord{10, 10, 551},
- dictWord{10, 10, 561},
- dictWord{10, 10, 613},
- dictWord{10, 10, 627},
- dictWord{10, 10, 668},
- dictWord{10, 10, 675},
- dictWord{10, 10, 691},
- dictWord{10, 10, 695},
- dictWord{10, 10, 707},
- dictWord{10, 10, 715},
- dictWord{11, 10, 183},
- dictWord{
- 11,
- 10,
- 201,
- },
- dictWord{11, 10, 262},
- dictWord{11, 10, 352},
- dictWord{11, 10, 439},
- dictWord{11, 10, 493},
- dictWord{11, 10, 572},
- dictWord{11, 10, 591},
- dictWord{
- 11,
- 10,
- 608,
- },
- dictWord{11, 10, 611},
- dictWord{11, 10, 646},
- dictWord{11, 10, 674},
- dictWord{11, 10, 711},
- dictWord{11, 10, 751},
- dictWord{11, 10, 761},
- dictWord{11, 10, 776},
- dictWord{11, 10, 785},
- dictWord{11, 10, 850},
- dictWord{11, 10, 853},
- dictWord{11, 10, 862},
- dictWord{11, 10, 865},
- dictWord{
- 11,
- 10,
- 868,
- },
- dictWord{11, 10, 875},
- dictWord{11, 10, 898},
- dictWord{11, 10, 902},
- dictWord{11, 10, 903},
- dictWord{11, 10, 910},
- dictWord{11, 10, 932},
- dictWord{
- 11,
- 10,
- 942,
- },
- dictWord{11, 10, 957},
- dictWord{11, 10, 967},
- dictWord{11, 10, 972},
- dictWord{12, 10, 148},
- dictWord{12, 10, 195},
- dictWord{12, 10, 220},
- dictWord{12, 10, 237},
- dictWord{12, 10, 318},
- dictWord{12, 10, 339},
- dictWord{12, 10, 393},
- dictWord{12, 10, 445},
- dictWord{12, 10, 450},
- dictWord{
- 12,
- 10,
- 474,
- },
- dictWord{12, 10, 505},
- dictWord{12, 10, 509},
- dictWord{12, 10, 533},
- dictWord{12, 10, 591},
- dictWord{12, 10, 594},
- dictWord{12, 10, 597},
- dictWord{
- 12,
- 10,
- 621,
- },
- dictWord{12, 10, 633},
- dictWord{12, 10, 642},
- dictWord{13, 10, 59},
- dictWord{13, 10, 60},
- dictWord{13, 10, 145},
- dictWord{13, 10, 239},
- dictWord{13, 10, 250},
- dictWord{13, 10, 329},
- dictWord{13, 10, 344},
- dictWord{13, 10, 365},
- dictWord{13, 10, 372},
- dictWord{13, 10, 387},
- dictWord{
- 13,
- 10,
- 403,
- },
- dictWord{13, 10, 414},
- dictWord{13, 10, 456},
- dictWord{13, 10, 470},
- dictWord{13, 10, 478},
- dictWord{13, 10, 483},
- dictWord{13, 10, 489},
- dictWord{
- 14,
- 10,
- 55,
- },
- dictWord{14, 10, 57},
- dictWord{14, 10, 81},
- dictWord{14, 10, 90},
- dictWord{14, 10, 148},
- dictWord{14, 10, 239},
- dictWord{14, 10, 266},
- dictWord{
- 14,
- 10,
- 321,
- },
- dictWord{14, 10, 326},
- dictWord{14, 10, 327},
- dictWord{14, 10, 330},
- dictWord{14, 10, 347},
- dictWord{14, 10, 355},
- dictWord{14, 10, 401},
- dictWord{14, 10, 404},
- dictWord{14, 10, 411},
- dictWord{14, 10, 414},
- dictWord{14, 10, 416},
- dictWord{14, 10, 420},
- dictWord{15, 10, 61},
- dictWord{
- 15,
- 10,
- 74,
- },
- dictWord{15, 10, 87},
- dictWord{15, 10, 88},
- dictWord{15, 10, 94},
- dictWord{15, 10, 96},
- dictWord{15, 10, 116},
- dictWord{15, 10, 149},
- dictWord{
- 15,
- 10,
- 154,
- },
- dictWord{16, 10, 50},
- dictWord{16, 10, 63},
- dictWord{16, 10, 73},
- dictWord{17, 10, 2},
- dictWord{17, 10, 66},
- dictWord{17, 10, 92},
- dictWord{17, 10, 103},
- dictWord{17, 10, 112},
- dictWord{17, 10, 120},
- dictWord{18, 10, 50},
- dictWord{18, 10, 54},
- dictWord{18, 10, 82},
- dictWord{18, 10, 86},
- dictWord{18, 10, 90},
- dictWord{18, 10, 111},
- dictWord{18, 10, 115},
- dictWord{18, 10, 156},
- dictWord{19, 10, 40},
- dictWord{19, 10, 79},
- dictWord{20, 10, 78},
- dictWord{149, 10, 22},
- dictWord{7, 0, 887},
- dictWord{5, 10, 161},
- dictWord{135, 10, 839},
- dictWord{142, 11, 98},
- dictWord{134, 0, 90},
- dictWord{138, 11, 356},
- dictWord{
- 135,
- 11,
- 441,
- },
- dictWord{6, 11, 111},
- dictWord{7, 11, 4},
- dictWord{8, 11, 163},
- dictWord{8, 11, 776},
- dictWord{138, 11, 566},
- dictWord{134, 0, 908},
- dictWord{
- 134,
- 0,
- 1261,
- },
- dictWord{7, 0, 813},
- dictWord{12, 0, 497},
- dictWord{141, 0, 56},
- dictWord{134, 0, 1235},
- dictWord{135, 0, 429},
- dictWord{135, 11, 1994},
- dictWord{138, 0, 904},
- dictWord{6, 0, 125},
- dictWord{7, 0, 1277},
- dictWord{137, 0, 772},
- dictWord{151, 0, 12},
- dictWord{4, 0, 841},
- dictWord{5, 0, 386},
- dictWord{
- 133,
- 11,
- 386,
- },
- dictWord{5, 11, 297},
- dictWord{135, 11, 1038},
- dictWord{6, 0, 860},
- dictWord{6, 0, 1069},
- dictWord{135, 11, 309},
- dictWord{136, 0, 946},
- dictWord{135, 10, 1814},
- dictWord{141, 11, 418},
- dictWord{136, 11, 363},
- dictWord{10, 0, 768},
- dictWord{139, 0, 787},
- dictWord{22, 11, 30},
- dictWord{
- 150,
- 11,
- 33,
- },
- dictWord{6, 0, 160},
- dictWord{7, 0, 1106},
- dictWord{9, 0, 770},
- dictWord{11, 0, 112},
- dictWord{140, 0, 413},
- dictWord{11, 11, 216},
- dictWord{
- 139,
- 11,
- 340,
- },
- dictWord{136, 10, 139},
- dictWord{135, 11, 1390},
- dictWord{135, 11, 808},
- dictWord{132, 11, 280},
- dictWord{12, 0, 271},
- dictWord{17, 0, 109},
- dictWord{7, 10, 643},
- dictWord{136, 10, 236},
- dictWord{140, 11, 54},
- dictWord{4, 11, 421},
- dictWord{133, 11, 548},
- dictWord{11, 0, 719},
- dictWord{12, 0, 36},
- dictWord{141, 0, 337},
- dictWord{7, 0, 581},
- dictWord{9, 0, 644},
- dictWord{137, 0, 699},
- dictWord{11, 11, 511},
- dictWord{13, 11, 394},
- dictWord{14, 11, 298},
- dictWord{14, 11, 318},
- dictWord{146, 11, 103},
- dictWord{7, 0, 304},
- dictWord{9, 0, 646},
- dictWord{9, 0, 862},
- dictWord{11, 0, 696},
- dictWord{12, 0, 208},
- dictWord{15, 0, 79},
- dictWord{147, 0, 108},
- dictWord{4, 0, 631},
- dictWord{7, 0, 1126},
- dictWord{135, 0, 1536},
- dictWord{135, 11, 1527},
- dictWord{8, 0, 880},
- dictWord{10, 0, 869},
- dictWord{138, 0, 913},
- dictWord{7, 0, 1513},
- dictWord{5, 10, 54},
- dictWord{6, 11, 254},
- dictWord{9, 11, 109},
- dictWord{138, 11, 103},
- dictWord{135, 0, 981},
- dictWord{133, 11, 729},
- dictWord{132, 10, 744},
- dictWord{132, 0, 434},
- dictWord{134, 0, 550},
- dictWord{7, 0, 930},
- dictWord{10, 0, 476},
- dictWord{13, 0, 452},
- dictWord{19, 0, 104},
- dictWord{6, 11, 1630},
- dictWord{10, 10, 402},
- dictWord{146, 10, 55},
- dictWord{5, 0, 553},
- dictWord{138, 0, 824},
- dictWord{136, 0, 452},
- dictWord{8, 0, 151},
- dictWord{137, 10, 624},
- dictWord{132, 10, 572},
- dictWord{132, 0, 772},
- dictWord{133, 11, 671},
- dictWord{
- 133,
- 0,
- 292,
- },
- dictWord{138, 0, 135},
- dictWord{132, 11, 889},
- dictWord{140, 11, 207},
- dictWord{9, 0, 504},
- dictWord{6, 10, 43},
- dictWord{7, 10, 38},
- dictWord{
- 8,
- 10,
- 248,
- },
- dictWord{138, 10, 513},
- dictWord{6, 0, 1089},
- dictWord{135, 11, 1910},
- dictWord{4, 11, 627},
- dictWord{133, 11, 775},
- dictWord{135, 0, 783},
- dictWord{133, 10, 766},
- dictWord{133, 10, 363},
- dictWord{7, 0, 387},
- dictWord{135, 11, 387},
- dictWord{7, 0, 393},
- dictWord{10, 0, 603},
- dictWord{11, 0, 206},
- dictWord{7, 11, 202},
- dictWord{11, 11, 362},
- dictWord{11, 11, 948},
- dictWord{140, 11, 388},
- dictWord{6, 11, 507},
- dictWord{7, 11, 451},
- dictWord{8, 11, 389},
- dictWord{12, 11, 490},
- dictWord{13, 11, 16},
- dictWord{13, 11, 215},
- dictWord{13, 11, 351},
- dictWord{18, 11, 132},
- dictWord{147, 11, 125},
- dictWord{
- 4,
- 0,
- 912,
- },
- dictWord{9, 0, 232},
- dictWord{135, 11, 841},
- dictWord{6, 10, 258},
- dictWord{140, 10, 409},
- dictWord{5, 10, 249},
- dictWord{148, 10, 82},
- dictWord{
- 136,
- 11,
- 566,
- },
- dictWord{6, 0, 977},
- dictWord{135, 11, 1214},
- dictWord{7, 0, 1973},
- dictWord{136, 0, 716},
- dictWord{135, 0, 98},
- dictWord{133, 0, 733},
- dictWord{
- 5,
- 11,
- 912,
- },
- dictWord{134, 11, 1695},
- dictWord{5, 10, 393},
- dictWord{6, 10, 378},
- dictWord{7, 10, 1981},
- dictWord{9, 10, 32},
- dictWord{9, 10, 591},
- dictWord{10, 10, 685},
- dictWord{10, 10, 741},
- dictWord{142, 10, 382},
- dictWord{133, 10, 788},
- dictWord{10, 0, 19},
- dictWord{11, 0, 911},
- dictWord{7, 10, 1968},
- dictWord{141, 10, 509},
- dictWord{5, 0, 668},
- dictWord{5, 11, 236},
- dictWord{6, 11, 572},
- dictWord{8, 11, 492},
- dictWord{11, 11, 618},
- dictWord{144, 11, 56},
- dictWord{135, 11, 1789},
- dictWord{4, 0, 360},
- dictWord{5, 0, 635},
- dictWord{5, 0, 700},
- dictWord{5, 10, 58},
- dictWord{5, 10, 171},
- dictWord{5, 10, 683},
- dictWord{
- 6,
- 10,
- 291,
- },
- dictWord{6, 10, 566},
- dictWord{7, 10, 1650},
- dictWord{11, 10, 523},
- dictWord{12, 10, 273},
- dictWord{12, 10, 303},
- dictWord{15, 10, 39},
- dictWord{143, 10, 111},
- dictWord{133, 0, 901},
- dictWord{134, 10, 589},
- dictWord{5, 11, 190},
- dictWord{136, 11, 318},
- dictWord{140, 0, 656},
- dictWord{
- 7,
- 0,
- 726,
- },
- dictWord{152, 0, 9},
- dictWord{4, 10, 917},
- dictWord{133, 10, 1005},
- dictWord{135, 10, 1598},
- dictWord{134, 11, 491},
- dictWord{4, 10, 919},
- dictWord{133, 11, 434},
- dictWord{137, 0, 72},
- dictWord{6, 0, 1269},
- dictWord{6, 0, 1566},
- dictWord{134, 0, 1621},
- dictWord{9, 0, 463},
- dictWord{10, 0, 595},
- dictWord{4, 10, 255},
- dictWord{5, 10, 302},
- dictWord{6, 10, 132},
- dictWord{7, 10, 128},
- dictWord{7, 10, 283},
- dictWord{7, 10, 1299},
- dictWord{10, 10, 52},
- dictWord{
- 10,
- 10,
- 514,
- },
- dictWord{11, 10, 925},
- dictWord{13, 10, 92},
- dictWord{142, 10, 309},
- dictWord{135, 0, 1454},
- dictWord{134, 0, 1287},
- dictWord{11, 0, 600},
- dictWord{13, 0, 245},
- dictWord{137, 10, 173},
- dictWord{136, 0, 989},
- dictWord{7, 0, 164},
- dictWord{7, 0, 1571},
- dictWord{9, 0, 107},
- dictWord{140, 0, 225},
- dictWord{6, 0, 1061},
- dictWord{141, 10, 442},
- dictWord{4, 0, 27},
- dictWord{5, 0, 484},
- dictWord{5, 0, 510},
- dictWord{6, 0, 434},
- dictWord{7, 0, 1000},
- dictWord{
- 7,
- 0,
- 1098,
- },
- dictWord{136, 0, 2},
- dictWord{7, 11, 85},
- dictWord{7, 11, 247},
- dictWord{8, 11, 585},
- dictWord{10, 11, 163},
- dictWord{138, 11, 316},
- dictWord{
- 11,
- 11,
- 103,
- },
- dictWord{142, 11, 0},
- dictWord{134, 0, 1127},
- dictWord{4, 0, 460},
- dictWord{134, 0, 852},
- dictWord{134, 10, 210},
- dictWord{4, 0, 932},
- dictWord{
- 133,
- 0,
- 891,
- },
- dictWord{6, 0, 588},
- dictWord{147, 11, 83},
- dictWord{8, 0, 625},
- dictWord{4, 10, 284},
- dictWord{134, 10, 223},
- dictWord{134, 0, 76},
- dictWord{8, 0, 92},
- dictWord{137, 0, 221},
- dictWord{4, 11, 124},
- dictWord{10, 11, 457},
- dictWord{11, 11, 121},
- dictWord{11, 11, 169},
- dictWord{11, 11, 422},
- dictWord{
- 11,
- 11,
- 870,
- },
- dictWord{12, 11, 214},
- dictWord{13, 11, 389},
- dictWord{14, 11, 187},
- dictWord{143, 11, 77},
- dictWord{9, 11, 618},
- dictWord{138, 11, 482},
- dictWord{
- 4,
- 10,
- 218,
- },
- dictWord{7, 10, 526},
- dictWord{143, 10, 137},
- dictWord{13, 0, 9},
- dictWord{14, 0, 104},
- dictWord{14, 0, 311},
- dictWord{4, 10, 270},
- dictWord{
- 5,
- 10,
- 192,
- },
- dictWord{6, 10, 332},
- dictWord{135, 10, 1322},
- dictWord{140, 10, 661},
- dictWord{135, 11, 1193},
- dictWord{6, 11, 107},
- dictWord{7, 11, 638},
- dictWord{7, 11, 1632},
- dictWord{137, 11, 396},
- dictWord{132, 0, 763},
- dictWord{4, 0, 622},
- dictWord{5, 11, 370},
- dictWord{134, 11, 1756},
- dictWord{
- 133,
- 0,
- 253,
- },
- dictWord{135, 0, 546},
- dictWord{9, 0, 73},
- dictWord{10, 0, 110},
- dictWord{14, 0, 185},
- dictWord{17, 0, 119},
- dictWord{133, 11, 204},
- dictWord{7, 0, 624},
- dictWord{7, 0, 916},
- dictWord{10, 0, 256},
- dictWord{139, 0, 87},
- dictWord{7, 10, 379},
- dictWord{8, 10, 481},
- dictWord{137, 10, 377},
- dictWord{5, 0, 212},
- dictWord{12, 0, 35},
- dictWord{13, 0, 382},
- dictWord{5, 11, 970},
- dictWord{134, 11, 1706},
- dictWord{9, 0, 746},
- dictWord{5, 10, 1003},
- dictWord{134, 10, 149},
- dictWord{10, 0, 150},
- dictWord{11, 0, 849},
- dictWord{13, 0, 330},
- dictWord{8, 10, 262},
- dictWord{9, 10, 627},
- dictWord{11, 10, 214},
- dictWord{11, 10, 404},
- dictWord{11, 10, 457},
- dictWord{11, 10, 780},
- dictWord{11, 10, 913},
- dictWord{13, 10, 401},
- dictWord{142, 10, 200},
- dictWord{134, 0, 1466},
- dictWord{
- 135,
- 11,
- 3,
- },
- dictWord{6, 0, 1299},
- dictWord{4, 11, 35},
- dictWord{5, 11, 121},
- dictWord{5, 11, 483},
- dictWord{5, 11, 685},
- dictWord{6, 11, 489},
- dictWord{7, 11, 1204},
- dictWord{136, 11, 394},
- dictWord{135, 10, 742},
- dictWord{4, 10, 142},
- dictWord{136, 10, 304},
- dictWord{4, 11, 921},
- dictWord{133, 11, 1007},
- dictWord{
- 134,
- 0,
- 1518,
- },
- dictWord{6, 0, 1229},
- dictWord{135, 0, 1175},
- dictWord{133, 0, 816},
- dictWord{12, 0, 159},
- dictWord{4, 10, 471},
- dictWord{4, 11, 712},
- dictWord{
- 5,
- 10,
- 51,
- },
- dictWord{6, 10, 602},
- dictWord{7, 10, 925},
- dictWord{8, 10, 484},
- dictWord{138, 10, 195},
- dictWord{134, 11, 1629},
- dictWord{5, 0, 869},
- dictWord{
- 5,
- 0,
- 968,
- },
- dictWord{6, 0, 1626},
- dictWord{8, 0, 734},
- dictWord{136, 0, 784},
- dictWord{4, 0, 542},
- dictWord{6, 0, 1716},
- dictWord{6, 0, 1727},
- dictWord{
- 7,
- 0,
- 1082,
- },
- dictWord{7, 0, 1545},
- dictWord{8, 0, 56},
- dictWord{8, 0, 118},
- dictWord{8, 0, 412},
- dictWord{8, 0, 564},
- dictWord{9, 0, 888},
- dictWord{9, 0, 908},
- dictWord{
- 10,
- 0,
- 50,
- },
- dictWord{10, 0, 423},
- dictWord{11, 0, 685},
- dictWord{11, 0, 697},
- dictWord{11, 0, 933},
- dictWord{12, 0, 299},
- dictWord{13, 0, 126},
- dictWord{
- 13,
- 0,
- 136,
- },
- dictWord{13, 0, 170},
- dictWord{13, 0, 190},
- dictWord{136, 10, 688},
- dictWord{132, 10, 697},
- dictWord{4, 0, 232},
- dictWord{9, 0, 202},
- dictWord{
- 10,
- 0,
- 474,
- },
- dictWord{140, 0, 433},
- dictWord{136, 0, 212},
- dictWord{6, 0, 108},
- dictWord{7, 0, 1003},
- dictWord{7, 0, 1181},
- dictWord{8, 0, 111},
- dictWord{
- 136,
- 0,
- 343,
- },
- dictWord{5, 10, 221},
- dictWord{135, 11, 1255},
- dictWord{133, 11, 485},
- dictWord{134, 0, 1712},
- dictWord{142, 0, 216},
- dictWord{5, 0, 643},
- dictWord{
- 6,
- 0,
- 516,
- },
- dictWord{4, 11, 285},
- dictWord{5, 11, 317},
- dictWord{6, 11, 301},
- dictWord{7, 11, 7},
- dictWord{8, 11, 153},
- dictWord{10, 11, 766},
- dictWord{
- 11,
- 11,
- 468,
- },
- dictWord{12, 11, 467},
- dictWord{141, 11, 143},
- dictWord{4, 0, 133},
- dictWord{7, 0, 711},
- dictWord{7, 0, 1298},
- dictWord{135, 0, 1585},
- dictWord{
- 134,
- 0,
- 650,
- },
- dictWord{135, 11, 512},
- dictWord{6, 0, 99},
- dictWord{7, 0, 1808},
- dictWord{145, 0, 57},
- dictWord{6, 0, 246},
- dictWord{6, 0, 574},
- dictWord{7, 0, 428},
- dictWord{9, 0, 793},
- dictWord{10, 0, 669},
- dictWord{11, 0, 485},
- dictWord{11, 0, 840},
- dictWord{12, 0, 300},
- dictWord{14, 0, 250},
- dictWord{145, 0, 55},
- dictWord{
- 4,
- 10,
- 132,
- },
- dictWord{5, 10, 69},
- dictWord{135, 10, 1242},
- dictWord{136, 0, 1023},
- dictWord{7, 0, 302},
- dictWord{132, 10, 111},
- dictWord{135, 0, 1871},
- dictWord{132, 0, 728},
- dictWord{9, 0, 252},
- dictWord{132, 10, 767},
- dictWord{6, 0, 461},
- dictWord{7, 0, 1590},
- dictWord{7, 10, 1416},
- dictWord{7, 10, 2005},
- dictWord{8, 10, 131},
- dictWord{8, 10, 466},
- dictWord{9, 10, 672},
- dictWord{13, 10, 252},
- dictWord{148, 10, 103},
- dictWord{6, 0, 323},
- dictWord{135, 0, 1564},
- dictWord{7, 0, 461},
- dictWord{136, 0, 775},
- dictWord{6, 10, 44},
- dictWord{136, 10, 368},
- dictWord{139, 0, 172},
- dictWord{132, 0, 464},
- dictWord{4, 10, 570},
- dictWord{133, 10, 120},
- dictWord{137, 11, 269},
- dictWord{6, 10, 227},
- dictWord{135, 10, 1589},
- dictWord{6, 11, 1719},
- dictWord{6, 11, 1735},
- dictWord{
- 7,
- 11,
- 2016,
- },
- dictWord{7, 11, 2020},
- dictWord{8, 11, 837},
- dictWord{137, 11, 852},
- dictWord{7, 0, 727},
- dictWord{146, 0, 73},
- dictWord{132, 0, 1023},
- dictWord{135, 11, 852},
- dictWord{135, 10, 1529},
- dictWord{136, 0, 577},
- dictWord{138, 11, 568},
- dictWord{134, 0, 1037},
- dictWord{8, 11, 67},
- dictWord{
- 138,
- 11,
- 419,
- },
- dictWord{4, 0, 413},
- dictWord{5, 0, 677},
- dictWord{8, 0, 432},
- dictWord{140, 0, 280},
- dictWord{10, 0, 600},
- dictWord{6, 10, 1667},
- dictWord{
- 7,
- 11,
- 967,
- },
- dictWord{7, 10, 2036},
- dictWord{141, 11, 11},
- dictWord{6, 10, 511},
- dictWord{140, 10, 132},
- dictWord{6, 0, 799},
- dictWord{5, 10, 568},
- dictWord{
- 6,
- 10,
- 138,
- },
- dictWord{135, 10, 1293},
- dictWord{8, 0, 159},
- dictWord{4, 10, 565},
- dictWord{136, 10, 827},
- dictWord{7, 0, 646},
- dictWord{7, 0, 1730},
- dictWord{
- 11,
- 0,
- 446,
- },
- dictWord{141, 0, 178},
- dictWord{4, 10, 922},
- dictWord{133, 10, 1023},
- dictWord{135, 11, 11},
- dictWord{132, 0, 395},
- dictWord{11, 0, 145},
- dictWord{135, 10, 1002},
- dictWord{9, 0, 174},
- dictWord{10, 0, 164},
- dictWord{11, 0, 440},
- dictWord{11, 0, 514},
- dictWord{11, 0, 841},
- dictWord{15, 0, 98},
- dictWord{149, 0, 20},
- dictWord{134, 0, 426},
- dictWord{10, 0, 608},
- dictWord{139, 0, 1002},
- dictWord{7, 11, 320},
- dictWord{8, 11, 51},
- dictWord{12, 11, 481},
- dictWord{12, 11, 570},
- dictWord{148, 11, 106},
- dictWord{9, 0, 977},
- dictWord{9, 0, 983},
- dictWord{132, 11, 445},
- dictWord{138, 0, 250},
- dictWord{139, 0, 100},
- dictWord{6, 0, 1982},
- dictWord{136, 10, 402},
- dictWord{133, 11, 239},
- dictWord{4, 10, 716},
- dictWord{141, 10, 31},
- dictWord{5, 0, 476},
- dictWord{7, 11, 83},
- dictWord{7, 11, 1990},
- dictWord{8, 11, 130},
- dictWord{139, 11, 720},
- dictWord{8, 10, 691},
- dictWord{136, 10, 731},
- dictWord{5, 11, 123},
- dictWord{
- 6,
- 11,
- 530,
- },
- dictWord{7, 11, 348},
- dictWord{135, 11, 1419},
- dictWord{5, 0, 76},
- dictWord{6, 0, 458},
- dictWord{6, 0, 497},
- dictWord{7, 0, 868},
- dictWord{9, 0, 658},
- dictWord{10, 0, 594},
- dictWord{11, 0, 173},
- dictWord{11, 0, 566},
- dictWord{12, 0, 20},
- dictWord{12, 0, 338},
- dictWord{141, 0, 200},
- dictWord{9, 11, 139},
- dictWord{
- 10,
- 11,
- 399,
- },
- dictWord{11, 11, 469},
- dictWord{12, 11, 634},
- dictWord{141, 11, 223},
- dictWord{9, 10, 840},
- dictWord{138, 10, 803},
- dictWord{133, 10, 847},
- dictWord{11, 11, 223},
- dictWord{140, 11, 168},
- dictWord{132, 11, 210},
- dictWord{8, 0, 447},
- dictWord{9, 10, 53},
- dictWord{9, 10, 268},
- dictWord{9, 10, 901},
- dictWord{10, 10, 518},
- dictWord{10, 10, 829},
- dictWord{11, 10, 188},
- dictWord{13, 10, 74},
- dictWord{14, 10, 46},
- dictWord{15, 10, 17},
- dictWord{15, 10, 33},
- dictWord{17, 10, 40},
- dictWord{18, 10, 36},
- dictWord{19, 10, 20},
- dictWord{22, 10, 1},
- dictWord{152, 10, 2},
- dictWord{4, 0, 526},
- dictWord{7, 0, 1029},
- dictWord{135, 0, 1054},
- dictWord{19, 11, 59},
- dictWord{150, 11, 2},
- dictWord{4, 0, 636},
- dictWord{6, 0, 1875},
- dictWord{6, 0, 1920},
- dictWord{9, 0, 999},
- dictWord{
- 12,
- 0,
- 807,
- },
- dictWord{12, 0, 825},
- dictWord{15, 0, 179},
- dictWord{15, 0, 190},
- dictWord{18, 0, 182},
- dictWord{136, 10, 532},
- dictWord{6, 0, 1699},
- dictWord{
- 7,
- 0,
- 660,
- },
- dictWord{7, 0, 1124},
- dictWord{17, 0, 31},
- dictWord{19, 0, 22},
- dictWord{151, 0, 14},
- dictWord{135, 10, 681},
- dictWord{132, 11, 430},
- dictWord{
- 140,
- 10,
- 677,
- },
- dictWord{4, 10, 684},
- dictWord{136, 10, 384},
- dictWord{132, 11, 756},
- dictWord{133, 11, 213},
- dictWord{7, 0, 188},
- dictWord{7, 10, 110},
- dictWord{
- 8,
- 10,
- 290,
- },
- dictWord{8, 10, 591},
- dictWord{9, 10, 382},
- dictWord{9, 10, 649},
- dictWord{11, 10, 71},
- dictWord{11, 10, 155},
- dictWord{11, 10, 313},
- dictWord{
- 12,
- 10,
- 5,
- },
- dictWord{13, 10, 325},
- dictWord{142, 10, 287},
- dictWord{7, 10, 360},
- dictWord{7, 10, 425},
- dictWord{9, 10, 66},
- dictWord{9, 10, 278},
- dictWord{
- 138,
- 10,
- 644,
- },
- dictWord{142, 11, 164},
- dictWord{4, 0, 279},
- dictWord{7, 0, 301},
- dictWord{137, 0, 362},
- dictWord{134, 11, 586},
- dictWord{135, 0, 1743},
- dictWord{4, 0, 178},
- dictWord{133, 0, 399},
- dictWord{4, 10, 900},
- dictWord{133, 10, 861},
- dictWord{5, 10, 254},
- dictWord{7, 10, 985},
- dictWord{136, 10, 73},
- dictWord{133, 11, 108},
- dictWord{7, 10, 1959},
- dictWord{136, 10, 683},
- dictWord{133, 11, 219},
- dictWord{4, 11, 193},
- dictWord{5, 11, 916},
- dictWord{
- 7,
- 11,
- 364,
- },
- dictWord{10, 11, 398},
- dictWord{10, 11, 726},
- dictWord{11, 11, 317},
- dictWord{11, 11, 626},
- dictWord{12, 11, 142},
- dictWord{12, 11, 288},
- dictWord{
- 12,
- 11,
- 678,
- },
- dictWord{13, 11, 313},
- dictWord{15, 11, 113},
- dictWord{18, 11, 114},
- dictWord{21, 11, 30},
- dictWord{150, 11, 53},
- dictWord{6, 11, 241},
- dictWord{7, 11, 907},
- dictWord{8, 11, 832},
- dictWord{9, 11, 342},
- dictWord{10, 11, 729},
- dictWord{11, 11, 284},
- dictWord{11, 11, 445},
- dictWord{11, 11, 651},
- dictWord{11, 11, 863},
- dictWord{13, 11, 398},
- dictWord{146, 11, 99},
- dictWord{132, 0, 872},
- dictWord{134, 0, 831},
- dictWord{134, 0, 1692},
- dictWord{
- 6,
- 0,
- 202,
- },
- dictWord{6, 0, 1006},
- dictWord{9, 0, 832},
- dictWord{10, 0, 636},
- dictWord{11, 0, 208},
- dictWord{12, 0, 360},
- dictWord{17, 0, 118},
- dictWord{18, 0, 27},
- dictWord{20, 0, 67},
- dictWord{137, 11, 734},
- dictWord{132, 10, 725},
- dictWord{7, 11, 993},
- dictWord{138, 11, 666},
- dictWord{134, 0, 1954},
- dictWord{
- 134,
- 10,
- 196,
- },
- dictWord{7, 0, 872},
- dictWord{10, 0, 516},
- dictWord{139, 0, 167},
- dictWord{133, 10, 831},
- dictWord{4, 11, 562},
- dictWord{9, 11, 254},
- dictWord{
- 139,
- 11,
- 879,
- },
- dictWord{137, 0, 313},
- dictWord{4, 0, 224},
- dictWord{132, 11, 786},
- dictWord{11, 0, 24},
- dictWord{12, 0, 170},
- dictWord{136, 10, 723},
- dictWord{
- 5,
- 0,
- 546,
- },
- dictWord{7, 0, 35},
- dictWord{8, 0, 11},
- dictWord{8, 0, 12},
- dictWord{9, 0, 315},
- dictWord{9, 0, 533},
- dictWord{10, 0, 802},
- dictWord{11, 0, 166},
- dictWord{
- 12,
- 0,
- 525,
- },
- dictWord{142, 0, 243},
- dictWord{7, 0, 1937},
- dictWord{13, 10, 80},
- dictWord{13, 10, 437},
- dictWord{145, 10, 74},
- dictWord{5, 0, 241},
- dictWord{
- 8,
- 0,
- 242,
- },
- dictWord{9, 0, 451},
- dictWord{10, 0, 667},
- dictWord{11, 0, 598},
- dictWord{140, 0, 429},
- dictWord{150, 0, 46},
- dictWord{6, 0, 1273},
- dictWord{
- 137,
- 0,
- 830,
- },
- dictWord{5, 10, 848},
- dictWord{6, 10, 66},
- dictWord{136, 10, 764},
- dictWord{6, 0, 825},
- dictWord{134, 0, 993},
- dictWord{4, 0, 1006},
- dictWord{
- 10,
- 0,
- 327,
- },
- dictWord{13, 0, 271},
- dictWord{4, 10, 36},
- dictWord{7, 10, 1387},
- dictWord{139, 10, 755},
- dictWord{134, 0, 1023},
- dictWord{135, 0, 1580},
- dictWord{
- 4,
- 0,
- 366,
- },
- dictWord{137, 0, 516},
- dictWord{132, 10, 887},
- dictWord{6, 0, 1736},
- dictWord{135, 0, 1891},
- dictWord{6, 11, 216},
- dictWord{7, 11, 901},
- dictWord{
- 7,
- 11,
- 1343,
- },
- dictWord{136, 11, 493},
- dictWord{6, 10, 165},
- dictWord{138, 10, 388},
- dictWord{7, 11, 341},
- dictWord{139, 11, 219},
- dictWord{4, 10, 719},
- dictWord{135, 10, 155},
- dictWord{134, 0, 1935},
- dictWord{132, 0, 826},
- dictWord{6, 0, 331},
- dictWord{6, 0, 1605},
- dictWord{8, 0, 623},
- dictWord{11, 0, 139},
- dictWord{139, 0, 171},
- dictWord{135, 11, 1734},
- dictWord{10, 11, 115},
- dictWord{11, 11, 420},
- dictWord{12, 11, 154},
- dictWord{13, 11, 404},
- dictWord{
- 14,
- 11,
- 346,
- },
- dictWord{15, 11, 54},
- dictWord{143, 11, 112},
- dictWord{7, 0, 288},
- dictWord{4, 10, 353},
- dictWord{6, 10, 146},
- dictWord{6, 10, 1789},
- dictWord{
- 7,
- 10,
- 990,
- },
- dictWord{7, 10, 1348},
- dictWord{9, 10, 665},
- dictWord{9, 10, 898},
- dictWord{11, 10, 893},
- dictWord{142, 10, 212},
- dictWord{6, 0, 916},
- dictWord{134, 0, 1592},
- dictWord{7, 0, 1888},
- dictWord{4, 10, 45},
- dictWord{135, 10, 1257},
- dictWord{5, 11, 1011},
- dictWord{136, 11, 701},
- dictWord{
- 139,
- 11,
- 596,
- },
- dictWord{4, 11, 54},
- dictWord{5, 11, 666},
- dictWord{7, 11, 1039},
- dictWord{7, 11, 1130},
- dictWord{9, 11, 195},
- dictWord{138, 11, 302},
- dictWord{
- 134,
- 0,
- 1471,
- },
- dictWord{134, 0, 1570},
- dictWord{132, 0, 394},
- dictWord{140, 10, 65},
- dictWord{136, 10, 816},
- dictWord{135, 0, 1931},
- dictWord{7, 0, 574},
- dictWord{135, 0, 1719},
- dictWord{134, 11, 467},
- dictWord{132, 0, 658},
- dictWord{9, 0, 781},
- dictWord{10, 0, 144},
- dictWord{11, 0, 385},
- dictWord{13, 0, 161},
- dictWord{13, 0, 228},
- dictWord{13, 0, 268},
- dictWord{20, 0, 107},
- dictWord{134, 11, 1669},
- dictWord{136, 0, 374},
- dictWord{135, 0, 735},
- dictWord{4, 0, 344},
- dictWord{6, 0, 498},
- dictWord{139, 0, 323},
- dictWord{7, 0, 586},
- dictWord{7, 0, 1063},
- dictWord{6, 10, 559},
- dictWord{134, 10, 1691},
- dictWord{137, 0, 155},
- dictWord{133, 0, 906},
- dictWord{7, 11, 122},
- dictWord{9, 11, 259},
- dictWord{10, 11, 84},
- dictWord{11, 11, 470},
- dictWord{12, 11, 541},
- dictWord{
- 141,
- 11,
- 379,
- },
- dictWord{134, 0, 1139},
- dictWord{10, 0, 108},
- dictWord{139, 0, 116},
- dictWord{134, 10, 456},
- dictWord{133, 10, 925},
- dictWord{5, 11, 82},
- dictWord{
- 5,
- 11,
- 131,
- },
- dictWord{7, 11, 1755},
- dictWord{8, 11, 31},
- dictWord{9, 11, 168},
- dictWord{9, 11, 764},
- dictWord{139, 11, 869},
- dictWord{134, 11, 605},
- dictWord{
- 5,
- 11,
- 278,
- },
- dictWord{137, 11, 68},
- dictWord{4, 11, 163},
- dictWord{5, 11, 201},
- dictWord{5, 11, 307},
- dictWord{5, 11, 310},
- dictWord{6, 11, 335},
- dictWord{
- 7,
- 11,
- 284,
- },
- dictWord{136, 11, 165},
- dictWord{135, 11, 1660},
- dictWord{6, 11, 33},
- dictWord{135, 11, 1244},
- dictWord{4, 0, 616},
- dictWord{136, 11, 483},
- dictWord{8, 0, 857},
- dictWord{8, 0, 902},
- dictWord{8, 0, 910},
- dictWord{10, 0, 879},
- dictWord{12, 0, 726},
- dictWord{4, 11, 199},
- dictWord{139, 11, 34},
- dictWord{136, 0, 692},
- dictWord{6, 10, 193},
- dictWord{7, 10, 240},
- dictWord{7, 10, 1682},
- dictWord{10, 10, 51},
- dictWord{10, 10, 640},
- dictWord{11, 10, 410},
- dictWord{13, 10, 82},
- dictWord{14, 10, 247},
- dictWord{14, 10, 331},
- dictWord{142, 10, 377},
- dictWord{6, 0, 823},
- dictWord{134, 0, 983},
- dictWord{
- 139,
- 10,
- 411,
- },
- dictWord{132, 0, 305},
- dictWord{136, 10, 633},
- dictWord{138, 11, 203},
- dictWord{134, 0, 681},
- dictWord{6, 11, 326},
- dictWord{7, 11, 677},
- dictWord{137, 11, 425},
- dictWord{5, 0, 214},
- dictWord{7, 0, 603},
- dictWord{8, 0, 611},
- dictWord{9, 0, 686},
- dictWord{10, 0, 88},
- dictWord{11, 0, 459},
- dictWord{
- 11,
- 0,
- 496,
- },
- dictWord{12, 0, 463},
- dictWord{12, 0, 590},
- dictWord{141, 0, 0},
- dictWord{136, 0, 1004},
- dictWord{142, 0, 23},
- dictWord{134, 0, 1703},
- dictWord{
- 147,
- 11,
- 8,
- },
- dictWord{145, 11, 56},
- dictWord{135, 0, 1443},
- dictWord{4, 10, 237},
- dictWord{135, 10, 514},
- dictWord{6, 0, 714},
- dictWord{145, 0, 19},
- dictWord{
- 5,
- 11,
- 358,
- },
- dictWord{7, 11, 473},
- dictWord{7, 11, 1184},
- dictWord{10, 11, 662},
- dictWord{13, 11, 212},
- dictWord{13, 11, 304},
- dictWord{13, 11, 333},
- dictWord{145, 11, 98},
- dictWord{4, 0, 737},
- dictWord{10, 0, 98},
- dictWord{11, 0, 294},
- dictWord{12, 0, 60},
- dictWord{12, 0, 437},
- dictWord{13, 0, 64},
- dictWord{
- 13,
- 0,
- 380,
- },
- dictWord{142, 0, 430},
- dictWord{6, 10, 392},
- dictWord{7, 10, 65},
- dictWord{135, 10, 2019},
- dictWord{6, 0, 1758},
- dictWord{8, 0, 520},
- dictWord{
- 9,
- 0,
- 345,
- },
- dictWord{9, 0, 403},
- dictWord{142, 0, 350},
- dictWord{5, 0, 47},
- dictWord{10, 0, 242},
- dictWord{138, 0, 579},
- dictWord{5, 0, 139},
- dictWord{7, 0, 1168},
- dictWord{138, 0, 539},
- dictWord{134, 0, 1459},
- dictWord{13, 0, 388},
- dictWord{141, 11, 388},
- dictWord{134, 0, 253},
- dictWord{7, 10, 1260},
- dictWord{
- 135,
- 10,
- 1790,
- },
- dictWord{10, 0, 252},
- dictWord{9, 10, 222},
- dictWord{139, 10, 900},
- dictWord{140, 0, 745},
- dictWord{133, 11, 946},
- dictWord{4, 0, 107},
- dictWord{
- 7,
- 0,
- 613,
- },
- dictWord{8, 0, 439},
- dictWord{8, 0, 504},
- dictWord{9, 0, 501},
- dictWord{10, 0, 383},
- dictWord{139, 0, 477},
- dictWord{135, 11, 1485},
- dictWord{
- 132,
- 0,
- 871,
- },
- dictWord{7, 11, 411},
- dictWord{7, 11, 590},
- dictWord{8, 11, 631},
- dictWord{9, 11, 323},
- dictWord{10, 11, 355},
- dictWord{11, 11, 491},
- dictWord{
- 12,
- 11,
- 143,
- },
- dictWord{12, 11, 402},
- dictWord{13, 11, 73},
- dictWord{14, 11, 408},
- dictWord{15, 11, 107},
- dictWord{146, 11, 71},
- dictWord{132, 0, 229},
- dictWord{132, 0, 903},
- dictWord{140, 0, 71},
- dictWord{133, 0, 549},
- dictWord{4, 0, 47},
- dictWord{6, 0, 373},
- dictWord{7, 0, 452},
- dictWord{7, 0, 543},
- dictWord{
- 7,
- 0,
- 1828,
- },
- dictWord{7, 0, 1856},
- dictWord{9, 0, 6},
- dictWord{11, 0, 257},
- dictWord{139, 0, 391},
- dictWord{7, 11, 1467},
- dictWord{8, 11, 328},
- dictWord{
- 10,
- 11,
- 544,
- },
- dictWord{11, 11, 955},
- dictWord{13, 11, 320},
- dictWord{145, 11, 83},
- dictWord{5, 0, 980},
- dictWord{134, 0, 1754},
- dictWord{136, 0, 865},
- dictWord{
- 5,
- 0,
- 705,
- },
- dictWord{137, 0, 606},
- dictWord{7, 0, 161},
- dictWord{8, 10, 201},
- dictWord{136, 10, 605},
- dictWord{143, 11, 35},
- dictWord{5, 11, 835},
- dictWord{
- 6,
- 11,
- 483,
- },
- dictWord{140, 10, 224},
- dictWord{7, 0, 536},
- dictWord{7, 0, 1331},
- dictWord{136, 0, 143},
- dictWord{134, 0, 1388},
- dictWord{5, 0, 724},
- dictWord{
- 10,
- 0,
- 305,
- },
- dictWord{11, 0, 151},
- dictWord{12, 0, 33},
- dictWord{12, 0, 121},
- dictWord{12, 0, 381},
- dictWord{17, 0, 3},
- dictWord{17, 0, 27},
- dictWord{17, 0, 78},
- dictWord{18, 0, 18},
- dictWord{19, 0, 54},
- dictWord{149, 0, 5},
- dictWord{4, 10, 523},
- dictWord{133, 10, 638},
- dictWord{5, 0, 19},
- dictWord{134, 0, 533},
- dictWord{
- 5,
- 0,
- 395,
- },
- dictWord{5, 0, 951},
- dictWord{134, 0, 1776},
- dictWord{135, 0, 1908},
- dictWord{132, 0, 846},
- dictWord{10, 0, 74},
- dictWord{11, 0, 663},
- dictWord{
- 12,
- 0,
- 210,
- },
- dictWord{13, 0, 166},
- dictWord{13, 0, 310},
- dictWord{14, 0, 373},
- dictWord{18, 0, 95},
- dictWord{19, 0, 43},
- dictWord{6, 10, 242},
- dictWord{7, 10, 227},
- dictWord{7, 10, 1581},
- dictWord{8, 10, 104},
- dictWord{9, 10, 113},
- dictWord{9, 10, 220},
- dictWord{9, 10, 427},
- dictWord{10, 10, 239},
- dictWord{11, 10, 579},
- dictWord{11, 10, 1023},
- dictWord{13, 10, 4},
- dictWord{13, 10, 204},
- dictWord{13, 10, 316},
- dictWord{148, 10, 86},
- dictWord{9, 11, 716},
- dictWord{11, 11, 108},
- dictWord{13, 11, 123},
- dictWord{14, 11, 252},
- dictWord{19, 11, 38},
- dictWord{21, 11, 3},
- dictWord{151, 11, 11},
- dictWord{8, 0, 372},
- dictWord{9, 0, 122},
- dictWord{138, 0, 175},
- dictWord{132, 11, 677},
- dictWord{7, 11, 1374},
- dictWord{136, 11, 540},
- dictWord{135, 10, 861},
- dictWord{132, 0, 695},
- dictWord{
- 7,
- 0,
- 497,
- },
- dictWord{9, 0, 387},
- dictWord{147, 0, 81},
- dictWord{136, 0, 937},
- dictWord{134, 0, 718},
- dictWord{7, 0, 1328},
- dictWord{136, 10, 494},
- dictWord{
- 132,
- 11,
- 331,
- },
- dictWord{6, 0, 1581},
- dictWord{133, 11, 747},
- dictWord{5, 0, 284},
- dictWord{6, 0, 49},
- dictWord{6, 0, 350},
- dictWord{7, 0, 1},
- dictWord{7, 0, 377},
- dictWord{7, 0, 1693},
- dictWord{8, 0, 18},
- dictWord{8, 0, 678},
- dictWord{9, 0, 161},
- dictWord{9, 0, 585},
- dictWord{9, 0, 671},
- dictWord{9, 0, 839},
- dictWord{11, 0, 912},
- dictWord{141, 0, 427},
- dictWord{7, 10, 1306},
- dictWord{8, 10, 505},
- dictWord{9, 10, 482},
- dictWord{10, 10, 126},
- dictWord{11, 10, 225},
- dictWord{12, 10, 347},
- dictWord{12, 10, 449},
- dictWord{13, 10, 19},
- dictWord{14, 10, 218},
- dictWord{142, 10, 435},
- dictWord{10, 10, 764},
- dictWord{12, 10, 120},
- dictWord{
- 13,
- 10,
- 39,
- },
- dictWord{145, 10, 127},
- dictWord{4, 0, 597},
- dictWord{133, 10, 268},
- dictWord{134, 0, 1094},
- dictWord{4, 0, 1008},
- dictWord{134, 0, 1973},
- dictWord{132, 0, 811},
- dictWord{139, 0, 908},
- dictWord{135, 0, 1471},
- dictWord{133, 11, 326},
- dictWord{4, 10, 384},
- dictWord{135, 10, 1022},
- dictWord{
- 7,
- 0,
- 1935,
- },
- dictWord{8, 0, 324},
- dictWord{12, 0, 42},
- dictWord{4, 11, 691},
- dictWord{7, 11, 1935},
- dictWord{8, 11, 324},
- dictWord{9, 11, 35},
- dictWord{10, 11, 680},
- dictWord{11, 11, 364},
- dictWord{12, 11, 42},
- dictWord{13, 11, 357},
- dictWord{146, 11, 16},
- dictWord{135, 0, 2014},
- dictWord{7, 0, 2007},
- dictWord{
- 9,
- 0,
- 101,
- },
- dictWord{9, 0, 450},
- dictWord{10, 0, 66},
- dictWord{10, 0, 842},
- dictWord{11, 0, 536},
- dictWord{12, 0, 587},
- dictWord{6, 11, 32},
- dictWord{7, 11, 385},
- dictWord{7, 11, 757},
- dictWord{7, 11, 1916},
- dictWord{8, 11, 37},
- dictWord{8, 11, 94},
- dictWord{8, 11, 711},
- dictWord{9, 11, 541},
- dictWord{10, 11, 162},
- dictWord{
- 10,
- 11,
- 795,
- },
- dictWord{11, 11, 989},
- dictWord{11, 11, 1010},
- dictWord{12, 11, 14},
- dictWord{142, 11, 308},
- dictWord{139, 0, 586},
- dictWord{
- 135,
- 10,
- 1703,
- },
- dictWord{7, 0, 1077},
- dictWord{11, 0, 28},
- dictWord{9, 10, 159},
- dictWord{140, 10, 603},
- dictWord{6, 0, 1221},
- dictWord{136, 10, 583},
- dictWord{
- 6,
- 11,
- 152,
- },
- dictWord{6, 11, 349},
- dictWord{6, 11, 1682},
- dictWord{7, 11, 1252},
- dictWord{8, 11, 112},
- dictWord{9, 11, 435},
- dictWord{9, 11, 668},
- dictWord{
- 10,
- 11,
- 290,
- },
- dictWord{10, 11, 319},
- dictWord{10, 11, 815},
- dictWord{11, 11, 180},
- dictWord{11, 11, 837},
- dictWord{12, 11, 240},
- dictWord{13, 11, 152},
- dictWord{13, 11, 219},
- dictWord{142, 11, 158},
- dictWord{139, 0, 62},
- dictWord{132, 10, 515},
- dictWord{8, 10, 632},
- dictWord{8, 10, 697},
- dictWord{
- 137,
- 10,
- 854,
- },
- dictWord{134, 0, 1766},
- dictWord{132, 11, 581},
- dictWord{6, 11, 126},
- dictWord{7, 11, 573},
- dictWord{8, 11, 397},
- dictWord{142, 11, 44},
- dictWord{
- 150,
- 0,
- 28,
- },
- dictWord{11, 0, 670},
- dictWord{22, 0, 25},
- dictWord{4, 10, 136},
- dictWord{133, 10, 551},
- dictWord{6, 0, 1665},
- dictWord{7, 0, 256},
- dictWord{
- 7,
- 0,
- 1388,
- },
- dictWord{138, 0, 499},
- dictWord{4, 0, 22},
- dictWord{5, 0, 10},
- dictWord{7, 0, 1576},
- dictWord{136, 0, 97},
- dictWord{134, 10, 1782},
- dictWord{5, 0, 481},
- dictWord{7, 10, 1287},
- dictWord{9, 10, 44},
- dictWord{10, 10, 552},
- dictWord{10, 10, 642},
- dictWord{11, 10, 839},
- dictWord{12, 10, 274},
- dictWord{
- 12,
- 10,
- 275,
- },
- dictWord{12, 10, 372},
- dictWord{13, 10, 91},
- dictWord{142, 10, 125},
- dictWord{133, 11, 926},
- dictWord{7, 11, 1232},
- dictWord{137, 11, 531},
- dictWord{6, 0, 134},
- dictWord{7, 0, 437},
- dictWord{7, 0, 1824},
- dictWord{9, 0, 37},
- dictWord{14, 0, 285},
- dictWord{142, 0, 371},
- dictWord{7, 0, 486},
- dictWord{8, 0, 155},
- dictWord{11, 0, 93},
- dictWord{140, 0, 164},
- dictWord{6, 0, 1391},
- dictWord{134, 0, 1442},
- dictWord{133, 11, 670},
- dictWord{133, 0, 591},
- dictWord{
- 6,
- 10,
- 147,
- },
- dictWord{7, 10, 886},
- dictWord{7, 11, 1957},
- dictWord{9, 10, 753},
- dictWord{138, 10, 268},
- dictWord{5, 0, 380},
- dictWord{5, 0, 650},
- dictWord{
- 7,
- 0,
- 1173,
- },
- dictWord{136, 0, 310},
- dictWord{4, 0, 364},
- dictWord{7, 0, 1156},
- dictWord{7, 0, 1187},
- dictWord{137, 0, 409},
- dictWord{135, 11, 1621},
- dictWord{
- 134,
- 0,
- 482,
- },
- dictWord{133, 11, 506},
- dictWord{4, 0, 781},
- dictWord{6, 0, 487},
- dictWord{7, 0, 926},
- dictWord{8, 0, 263},
- dictWord{139, 0, 500},
- dictWord{
- 138,
- 10,
- 137,
- },
- dictWord{135, 11, 242},
- dictWord{139, 11, 96},
- dictWord{133, 10, 414},
- dictWord{135, 10, 1762},
- dictWord{134, 0, 804},
- dictWord{5, 11, 834},
- dictWord{7, 11, 1202},
- dictWord{8, 11, 14},
- dictWord{9, 11, 481},
- dictWord{137, 11, 880},
- dictWord{134, 10, 599},
- dictWord{4, 0, 94},
- dictWord{135, 0, 1265},
- dictWord{4, 0, 415},
- dictWord{132, 0, 417},
- dictWord{5, 0, 348},
- dictWord{6, 0, 522},
- dictWord{6, 10, 1749},
- dictWord{7, 11, 1526},
- dictWord{138, 11, 465},
- dictWord{134, 10, 1627},
- dictWord{132, 0, 1012},
- dictWord{132, 10, 488},
- dictWord{4, 11, 357},
- dictWord{6, 11, 172},
- dictWord{7, 11, 143},
- dictWord{
- 137,
- 11,
- 413,
- },
- dictWord{4, 10, 83},
- dictWord{4, 11, 590},
- dictWord{146, 11, 76},
- dictWord{140, 10, 676},
- dictWord{7, 11, 287},
- dictWord{8, 11, 355},
- dictWord{
- 9,
- 11,
- 293,
- },
- dictWord{137, 11, 743},
- dictWord{134, 10, 278},
- dictWord{6, 0, 1803},
- dictWord{18, 0, 165},
- dictWord{24, 0, 21},
- dictWord{5, 11, 169},
- dictWord{
- 7,
- 11,
- 333,
- },
- dictWord{136, 11, 45},
- dictWord{12, 10, 97},
- dictWord{140, 11, 97},
- dictWord{4, 0, 408},
- dictWord{4, 0, 741},
- dictWord{135, 0, 500},
- dictWord{
- 132,
- 11,
- 198,
- },
- dictWord{7, 10, 388},
- dictWord{7, 10, 644},
- dictWord{139, 10, 781},
- dictWord{4, 11, 24},
- dictWord{5, 11, 140},
- dictWord{5, 11, 185},
- dictWord{
- 7,
- 11,
- 1500,
- },
- dictWord{11, 11, 565},
- dictWord{139, 11, 838},
- dictWord{6, 0, 1321},
- dictWord{9, 0, 257},
- dictWord{7, 10, 229},
- dictWord{8, 10, 59},
- dictWord{
- 9,
- 10,
- 190,
- },
- dictWord{10, 10, 378},
- dictWord{140, 10, 191},
- dictWord{4, 11, 334},
- dictWord{133, 11, 593},
- dictWord{135, 11, 1885},
- dictWord{134, 0, 1138},
- dictWord{4, 0, 249},
- dictWord{6, 0, 73},
- dictWord{135, 0, 177},
- dictWord{133, 0, 576},
- dictWord{142, 0, 231},
- dictWord{137, 0, 288},
- dictWord{132, 10, 660},
- dictWord{7, 10, 1035},
- dictWord{138, 10, 737},
- dictWord{135, 0, 1487},
- dictWord{6, 0, 989},
- dictWord{9, 0, 433},
- dictWord{7, 10, 690},
- dictWord{9, 10, 587},
- dictWord{140, 10, 521},
- dictWord{7, 0, 1264},
- dictWord{7, 0, 1678},
- dictWord{11, 0, 945},
- dictWord{12, 0, 341},
- dictWord{12, 0, 471},
- dictWord{140, 0, 569},
- dictWord{132, 11, 709},
- dictWord{133, 11, 897},
- dictWord{5, 11, 224},
- dictWord{13, 11, 174},
- dictWord{146, 11, 52},
- dictWord{135, 11, 1840},
- dictWord{
- 134,
- 10,
- 1744,
- },
- dictWord{12, 0, 87},
- dictWord{16, 0, 74},
- dictWord{4, 10, 733},
- dictWord{9, 10, 194},
- dictWord{10, 10, 92},
- dictWord{11, 10, 198},
- dictWord{
- 12,
- 10,
- 84,
- },
- dictWord{141, 10, 128},
- dictWord{140, 0, 779},
- dictWord{135, 0, 538},
- dictWord{4, 11, 608},
- dictWord{133, 11, 497},
- dictWord{133, 0, 413},
- dictWord{7, 11, 1375},
- dictWord{7, 11, 1466},
- dictWord{138, 11, 331},
- dictWord{136, 0, 495},
- dictWord{6, 11, 540},
- dictWord{136, 11, 136},
- dictWord{7, 0, 54},
- dictWord{8, 0, 312},
- dictWord{10, 0, 191},
- dictWord{10, 0, 614},
- dictWord{140, 0, 567},
- dictWord{6, 0, 468},
- dictWord{7, 0, 567},
- dictWord{7, 0, 1478},
- dictWord{
- 8,
- 0,
- 530,
- },
- dictWord{14, 0, 290},
- dictWord{133, 11, 999},
- dictWord{4, 11, 299},
- dictWord{7, 10, 306},
- dictWord{135, 11, 1004},
- dictWord{142, 11, 296},
- dictWord{134, 0, 1484},
- dictWord{133, 10, 979},
- dictWord{6, 0, 609},
- dictWord{9, 0, 815},
- dictWord{12, 11, 137},
- dictWord{14, 11, 9},
- dictWord{14, 11, 24},
- dictWord{142, 11, 64},
- dictWord{133, 11, 456},
- dictWord{6, 0, 484},
- dictWord{135, 0, 822},
- dictWord{133, 10, 178},
- dictWord{136, 11, 180},
- dictWord{
- 132,
- 11,
- 755,
- },
- dictWord{137, 0, 900},
- dictWord{135, 0, 1335},
- dictWord{6, 0, 1724},
- dictWord{135, 0, 2022},
- dictWord{135, 11, 1139},
- dictWord{5, 0, 640},
- dictWord{132, 10, 390},
- dictWord{6, 0, 1831},
- dictWord{138, 11, 633},
- dictWord{135, 11, 566},
- dictWord{4, 11, 890},
- dictWord{5, 11, 805},
- dictWord{5, 11, 819},
- dictWord{5, 11, 961},
- dictWord{6, 11, 396},
- dictWord{6, 11, 1631},
- dictWord{6, 11, 1678},
- dictWord{7, 11, 1967},
- dictWord{7, 11, 2041},
- dictWord{
- 9,
- 11,
- 630,
- },
- dictWord{11, 11, 8},
- dictWord{11, 11, 1019},
- dictWord{12, 11, 176},
- dictWord{13, 11, 225},
- dictWord{14, 11, 292},
- dictWord{149, 11, 24},
- dictWord{
- 132,
- 0,
- 474,
- },
- dictWord{134, 0, 1103},
- dictWord{135, 0, 1504},
- dictWord{134, 0, 1576},
- dictWord{6, 0, 961},
- dictWord{6, 0, 1034},
- dictWord{140, 0, 655},
- dictWord{11, 11, 514},
- dictWord{149, 11, 20},
- dictWord{5, 0, 305},
- dictWord{135, 11, 1815},
- dictWord{7, 11, 1505},
- dictWord{10, 11, 190},
- dictWord{
- 10,
- 11,
- 634,
- },
- dictWord{11, 11, 792},
- dictWord{12, 11, 358},
- dictWord{140, 11, 447},
- dictWord{5, 11, 0},
- dictWord{6, 11, 536},
- dictWord{7, 11, 604},
- dictWord{
- 13,
- 11,
- 445,
- },
- dictWord{145, 11, 126},
- dictWord{7, 0, 1236},
- dictWord{133, 10, 105},
- dictWord{4, 0, 480},
- dictWord{6, 0, 217},
- dictWord{6, 0, 302},
- dictWord{
- 6,
- 0,
- 1642,
- },
- dictWord{7, 0, 130},
- dictWord{7, 0, 837},
- dictWord{7, 0, 1321},
- dictWord{7, 0, 1547},
- dictWord{7, 0, 1657},
- dictWord{8, 0, 429},
- dictWord{9, 0, 228},
- dictWord{13, 0, 289},
- dictWord{13, 0, 343},
- dictWord{19, 0, 101},
- dictWord{6, 11, 232},
- dictWord{6, 11, 412},
- dictWord{7, 11, 1074},
- dictWord{8, 11, 9},
- dictWord{
- 8,
- 11,
- 157,
- },
- dictWord{8, 11, 786},
- dictWord{9, 11, 196},
- dictWord{9, 11, 352},
- dictWord{9, 11, 457},
- dictWord{10, 11, 337},
- dictWord{11, 11, 232},
- dictWord{
- 11,
- 11,
- 877,
- },
- dictWord{12, 11, 480},
- dictWord{140, 11, 546},
- dictWord{5, 10, 438},
- dictWord{7, 11, 958},
- dictWord{9, 10, 694},
- dictWord{12, 10, 627},
- dictWord{
- 13,
- 11,
- 38,
- },
- dictWord{141, 10, 210},
- dictWord{4, 11, 382},
- dictWord{136, 11, 579},
- dictWord{7, 0, 278},
- dictWord{10, 0, 739},
- dictWord{11, 0, 708},
- dictWord{
- 141,
- 0,
- 348,
- },
- dictWord{4, 11, 212},
- dictWord{135, 11, 1206},
- dictWord{135, 11, 1898},
- dictWord{6, 0, 708},
- dictWord{6, 0, 1344},
- dictWord{152, 10, 11},
- dictWord{137, 11, 768},
- dictWord{134, 0, 1840},
- dictWord{140, 0, 233},
- dictWord{8, 10, 25},
- dictWord{138, 10, 826},
- dictWord{6, 0, 2017},
- dictWord{
- 133,
- 11,
- 655,
- },
- dictWord{6, 0, 1488},
- dictWord{139, 11, 290},
- dictWord{132, 10, 308},
- dictWord{134, 0, 1590},
- dictWord{134, 0, 1800},
- dictWord{134, 0, 1259},
- dictWord{16, 0, 28},
- dictWord{6, 11, 231},
- dictWord{7, 11, 95},
- dictWord{136, 11, 423},
- dictWord{133, 11, 300},
- dictWord{135, 10, 150},
- dictWord{
- 136,
- 10,
- 649,
- },
- dictWord{7, 11, 1874},
- dictWord{137, 11, 641},
- dictWord{6, 11, 237},
- dictWord{7, 11, 611},
- dictWord{8, 11, 100},
- dictWord{9, 11, 416},
- dictWord{
- 11,
- 11,
- 335,
- },
- dictWord{12, 11, 173},
- dictWord{146, 11, 101},
- dictWord{137, 0, 45},
- dictWord{134, 10, 521},
- dictWord{17, 0, 36},
- dictWord{14, 11, 26},
- dictWord{
- 146,
- 11,
- 150,
- },
- dictWord{7, 0, 1442},
- dictWord{14, 0, 22},
- dictWord{5, 10, 339},
- dictWord{15, 10, 41},
- dictWord{15, 10, 166},
- dictWord{147, 10, 66},
- dictWord{
- 8,
- 0,
- 378,
- },
- dictWord{6, 11, 581},
- dictWord{135, 11, 1119},
- dictWord{134, 0, 1507},
- dictWord{147, 11, 117},
- dictWord{139, 0, 39},
- dictWord{134, 0, 1054},
- dictWord{6, 0, 363},
- dictWord{7, 0, 1955},
- dictWord{136, 0, 725},
- dictWord{134, 0, 2036},
- dictWord{133, 11, 199},
- dictWord{6, 0, 1871},
- dictWord{9, 0, 935},
- dictWord{9, 0, 961},
- dictWord{9, 0, 1004},
- dictWord{9, 0, 1016},
- dictWord{12, 0, 805},
- dictWord{12, 0, 852},
- dictWord{12, 0, 853},
- dictWord{12, 0, 869},
- dictWord{
- 12,
- 0,
- 882,
- },
- dictWord{12, 0, 896},
- dictWord{12, 0, 906},
- dictWord{12, 0, 917},
- dictWord{12, 0, 940},
- dictWord{15, 0, 170},
- dictWord{15, 0, 176},
- dictWord{
- 15,
- 0,
- 188,
- },
- dictWord{15, 0, 201},
- dictWord{15, 0, 205},
- dictWord{15, 0, 212},
- dictWord{15, 0, 234},
- dictWord{15, 0, 244},
- dictWord{18, 0, 181},
- dictWord{18, 0, 193},
- dictWord{18, 0, 196},
- dictWord{18, 0, 201},
- dictWord{18, 0, 202},
- dictWord{18, 0, 210},
- dictWord{18, 0, 217},
- dictWord{18, 0, 235},
- dictWord{18, 0, 236},
- dictWord{18, 0, 237},
- dictWord{21, 0, 54},
- dictWord{21, 0, 55},
- dictWord{21, 0, 58},
- dictWord{21, 0, 59},
- dictWord{152, 0, 22},
- dictWord{134, 10, 1628},
- dictWord{
- 137,
- 0,
- 805,
- },
- dictWord{5, 0, 813},
- dictWord{135, 0, 2046},
- dictWord{142, 11, 42},
- dictWord{5, 0, 712},
- dictWord{6, 0, 1240},
- dictWord{11, 0, 17},
- dictWord{
- 13,
- 0,
- 321,
- },
- dictWord{144, 0, 67},
- dictWord{132, 0, 617},
- dictWord{135, 10, 829},
- dictWord{6, 0, 320},
- dictWord{7, 0, 781},
- dictWord{7, 0, 1921},
- dictWord{9, 0, 55},
- dictWord{10, 0, 186},
- dictWord{10, 0, 273},
- dictWord{10, 0, 664},
- dictWord{10, 0, 801},
- dictWord{11, 0, 996},
- dictWord{11, 0, 997},
- dictWord{13, 0, 157},
- dictWord{142, 0, 170},
- dictWord{136, 0, 271},
- dictWord{5, 10, 486},
- dictWord{135, 10, 1349},
- dictWord{18, 11, 91},
- dictWord{147, 11, 70},
- dictWord{10, 0, 445},
- dictWord{7, 10, 1635},
- dictWord{8, 10, 17},
- dictWord{138, 10, 295},
- dictWord{136, 11, 404},
- dictWord{7, 0, 103},
- dictWord{7, 0, 863},
- dictWord{11, 0, 184},
- dictWord{145, 0, 62},
- dictWord{138, 10, 558},
- dictWord{137, 0, 659},
- dictWord{6, 11, 312},
- dictWord{6, 11, 1715},
- dictWord{10, 11, 584},
- dictWord{
- 11,
- 11,
- 546,
- },
- dictWord{11, 11, 692},
- dictWord{12, 11, 259},
- dictWord{12, 11, 295},
- dictWord{13, 11, 46},
- dictWord{141, 11, 154},
- dictWord{134, 0, 676},
- dictWord{132, 11, 588},
- dictWord{4, 11, 231},
- dictWord{5, 11, 61},
- dictWord{6, 11, 104},
- dictWord{7, 11, 729},
- dictWord{7, 11, 964},
- dictWord{7, 11, 1658},
- dictWord{140, 11, 414},
- dictWord{6, 11, 263},
- dictWord{138, 11, 757},
- dictWord{11, 0, 337},
- dictWord{142, 0, 303},
- dictWord{135, 11, 1363},
- dictWord{
- 132,
- 11,
- 320,
- },
- dictWord{140, 0, 506},
- dictWord{134, 10, 447},
- dictWord{5, 0, 77},
- dictWord{7, 0, 1455},
- dictWord{10, 0, 843},
- dictWord{147, 0, 73},
- dictWord{
- 7,
- 10,
- 577,
- },
- dictWord{7, 10, 1432},
- dictWord{9, 10, 475},
- dictWord{9, 10, 505},
- dictWord{9, 10, 526},
- dictWord{9, 10, 609},
- dictWord{9, 10, 689},
- dictWord{
- 9,
- 10,
- 726,
- },
- dictWord{9, 10, 735},
- dictWord{9, 10, 738},
- dictWord{10, 10, 556},
- dictWord{10, 10, 674},
- dictWord{10, 10, 684},
- dictWord{11, 10, 89},
- dictWord{
- 11,
- 10,
- 202,
- },
- dictWord{11, 10, 272},
- dictWord{11, 10, 380},
- dictWord{11, 10, 415},
- dictWord{11, 10, 505},
- dictWord{11, 10, 537},
- dictWord{11, 10, 550},
- dictWord{11, 10, 562},
- dictWord{11, 10, 640},
- dictWord{11, 10, 667},
- dictWord{11, 10, 688},
- dictWord{11, 10, 847},
- dictWord{11, 10, 927},
- dictWord{
- 11,
- 10,
- 930,
- },
- dictWord{11, 10, 940},
- dictWord{12, 10, 144},
- dictWord{12, 10, 325},
- dictWord{12, 10, 329},
- dictWord{12, 10, 389},
- dictWord{12, 10, 403},
- dictWord{
- 12,
- 10,
- 451,
- },
- dictWord{12, 10, 515},
- dictWord{12, 10, 604},
- dictWord{12, 10, 616},
- dictWord{12, 10, 626},
- dictWord{13, 10, 66},
- dictWord{13, 10, 131},
- dictWord{13, 10, 167},
- dictWord{13, 10, 236},
- dictWord{13, 10, 368},
- dictWord{13, 10, 411},
- dictWord{13, 10, 434},
- dictWord{13, 10, 453},
- dictWord{
- 13,
- 10,
- 461,
- },
- dictWord{13, 10, 474},
- dictWord{14, 10, 59},
- dictWord{14, 10, 60},
- dictWord{14, 10, 139},
- dictWord{14, 10, 152},
- dictWord{14, 10, 276},
- dictWord{
- 14,
- 10,
- 353,
- },
- dictWord{14, 10, 402},
- dictWord{15, 10, 28},
- dictWord{15, 10, 81},
- dictWord{15, 10, 123},
- dictWord{15, 10, 152},
- dictWord{18, 10, 136},
- dictWord{148, 10, 88},
- dictWord{132, 0, 458},
- dictWord{135, 0, 1420},
- dictWord{6, 0, 109},
- dictWord{10, 0, 382},
- dictWord{4, 11, 405},
- dictWord{4, 10, 609},
- dictWord{7, 10, 756},
- dictWord{7, 11, 817},
- dictWord{9, 10, 544},
- dictWord{11, 10, 413},
- dictWord{14, 11, 58},
- dictWord{14, 10, 307},
- dictWord{16, 10, 25},
- dictWord{17, 11, 37},
- dictWord{146, 11, 124},
- dictWord{6, 0, 330},
- dictWord{7, 0, 1084},
- dictWord{11, 0, 142},
- dictWord{133, 11, 974},
- dictWord{4, 10, 930},
- dictWord{133, 10, 947},
- dictWord{5, 10, 939},
- dictWord{142, 11, 394},
- dictWord{16, 0, 91},
- dictWord{145, 0, 87},
- dictWord{5, 11, 235},
- dictWord{5, 10, 962},
- dictWord{7, 11, 1239},
- dictWord{11, 11, 131},
- dictWord{140, 11, 370},
- dictWord{11, 0, 492},
- dictWord{5, 10, 651},
- dictWord{8, 10, 170},
- dictWord{9, 10, 61},
- dictWord{9, 10, 63},
- dictWord{10, 10, 23},
- dictWord{10, 10, 37},
- dictWord{10, 10, 834},
- dictWord{11, 10, 4},
- dictWord{11, 10, 281},
- dictWord{11, 10, 503},
- dictWord{
- 11,
- 10,
- 677,
- },
- dictWord{12, 10, 96},
- dictWord{12, 10, 130},
- dictWord{12, 10, 244},
- dictWord{14, 10, 5},
- dictWord{14, 10, 40},
- dictWord{14, 10, 162},
- dictWord{
- 14,
- 10,
- 202,
- },
- dictWord{146, 10, 133},
- dictWord{4, 10, 406},
- dictWord{5, 10, 579},
- dictWord{12, 10, 492},
- dictWord{150, 10, 15},
- dictWord{9, 11, 137},
- dictWord{138, 11, 221},
- dictWord{134, 0, 1239},
- dictWord{11, 0, 211},
- dictWord{140, 0, 145},
- dictWord{7, 11, 390},
- dictWord{138, 11, 140},
- dictWord{
- 135,
- 11,
- 1418,
- },
- dictWord{135, 11, 1144},
- dictWord{134, 0, 1049},
- dictWord{7, 0, 321},
- dictWord{6, 10, 17},
- dictWord{7, 10, 1001},
- dictWord{7, 10, 1982},
- dictWord{
- 9,
- 10,
- 886,
- },
- dictWord{10, 10, 489},
- dictWord{10, 10, 800},
- dictWord{11, 10, 782},
- dictWord{12, 10, 320},
- dictWord{13, 10, 467},
- dictWord{14, 10, 145},
- dictWord{14, 10, 387},
- dictWord{143, 10, 119},
- dictWord{145, 10, 17},
- dictWord{5, 11, 407},
- dictWord{11, 11, 489},
- dictWord{19, 11, 37},
- dictWord{20, 11, 73},
- dictWord{150, 11, 38},
- dictWord{133, 10, 458},
- dictWord{135, 0, 1985},
- dictWord{7, 10, 1983},
- dictWord{8, 10, 0},
- dictWord{8, 10, 171},
- dictWord{
- 9,
- 10,
- 120,
- },
- dictWord{9, 10, 732},
- dictWord{10, 10, 473},
- dictWord{11, 10, 656},
- dictWord{11, 10, 998},
- dictWord{18, 10, 0},
- dictWord{18, 10, 2},
- dictWord{
- 147,
- 10,
- 21,
- },
- dictWord{5, 11, 325},
- dictWord{7, 11, 1483},
- dictWord{8, 11, 5},
- dictWord{8, 11, 227},
- dictWord{9, 11, 105},
- dictWord{10, 11, 585},
- dictWord{
- 140,
- 11,
- 614,
- },
- dictWord{136, 0, 122},
- dictWord{132, 0, 234},
- dictWord{135, 11, 1196},
- dictWord{6, 0, 976},
- dictWord{6, 0, 1098},
- dictWord{134, 0, 1441},
- dictWord{
- 7,
- 0,
- 253,
- },
- dictWord{136, 0, 549},
- dictWord{6, 11, 621},
- dictWord{13, 11, 504},
- dictWord{144, 11, 19},
- dictWord{132, 10, 519},
- dictWord{5, 0, 430},
- dictWord{
- 5,
- 0,
- 932,
- },
- dictWord{6, 0, 131},
- dictWord{7, 0, 417},
- dictWord{9, 0, 522},
- dictWord{11, 0, 314},
- dictWord{141, 0, 390},
- dictWord{14, 0, 149},
- dictWord{14, 0, 399},
- dictWord{143, 0, 57},
- dictWord{5, 10, 907},
- dictWord{6, 10, 31},
- dictWord{6, 11, 218},
- dictWord{7, 10, 491},
- dictWord{7, 10, 530},
- dictWord{8, 10, 592},
- dictWord{11, 10, 53},
- dictWord{11, 10, 779},
- dictWord{12, 10, 167},
- dictWord{12, 10, 411},
- dictWord{14, 10, 14},
- dictWord{14, 10, 136},
- dictWord{15, 10, 72},
- dictWord{16, 10, 17},
- dictWord{144, 10, 72},
- dictWord{140, 11, 330},
- dictWord{7, 11, 454},
- dictWord{7, 11, 782},
- dictWord{136, 11, 768},
- dictWord{
- 132,
- 0,
- 507,
- },
- dictWord{10, 11, 676},
- dictWord{140, 11, 462},
- dictWord{6, 0, 630},
- dictWord{9, 0, 811},
- dictWord{4, 10, 208},
- dictWord{5, 10, 106},
- dictWord{
- 6,
- 10,
- 531,
- },
- dictWord{8, 10, 408},
- dictWord{9, 10, 188},
- dictWord{138, 10, 572},
- dictWord{4, 0, 343},
- dictWord{5, 0, 511},
- dictWord{134, 10, 1693},
- dictWord{
- 134,
- 11,
- 164,
- },
- dictWord{132, 0, 448},
- dictWord{7, 0, 455},
- dictWord{138, 0, 591},
- dictWord{135, 0, 1381},
- dictWord{12, 10, 441},
- dictWord{150, 11, 50},
- dictWord{9, 10, 449},
- dictWord{10, 10, 192},
- dictWord{138, 10, 740},
- dictWord{6, 0, 575},
- dictWord{132, 10, 241},
- dictWord{134, 0, 1175},
- dictWord{
- 134,
- 0,
- 653,
- },
- dictWord{134, 0, 1761},
- dictWord{134, 0, 1198},
- dictWord{132, 10, 259},
- dictWord{6, 11, 343},
- dictWord{7, 11, 195},
- dictWord{9, 11, 226},
- dictWord{
- 10,
- 11,
- 197,
- },
- dictWord{10, 11, 575},
- dictWord{11, 11, 502},
- dictWord{139, 11, 899},
- dictWord{7, 0, 1127},
- dictWord{7, 0, 1572},
- dictWord{10, 0, 297},
- dictWord{10, 0, 422},
- dictWord{11, 0, 764},
- dictWord{11, 0, 810},
- dictWord{12, 0, 264},
- dictWord{13, 0, 102},
- dictWord{13, 0, 300},
- dictWord{13, 0, 484},
- dictWord{
- 14,
- 0,
- 147,
- },
- dictWord{14, 0, 229},
- dictWord{17, 0, 71},
- dictWord{18, 0, 118},
- dictWord{147, 0, 120},
- dictWord{135, 11, 666},
- dictWord{132, 0, 678},
- dictWord{
- 4,
- 10,
- 173,
- },
- dictWord{5, 10, 312},
- dictWord{5, 10, 512},
- dictWord{135, 10, 1285},
- dictWord{7, 10, 1603},
- dictWord{7, 10, 1691},
- dictWord{9, 10, 464},
- dictWord{11, 10, 195},
- dictWord{12, 10, 279},
- dictWord{12, 10, 448},
- dictWord{14, 10, 11},
- dictWord{147, 10, 102},
- dictWord{16, 0, 99},
- dictWord{146, 0, 164},
- dictWord{7, 11, 1125},
- dictWord{9, 11, 143},
- dictWord{11, 11, 61},
- dictWord{14, 11, 405},
- dictWord{150, 11, 21},
- dictWord{137, 11, 260},
- dictWord{
- 4,
- 10,
- 452,
- },
- dictWord{5, 10, 583},
- dictWord{5, 10, 817},
- dictWord{6, 10, 433},
- dictWord{7, 10, 593},
- dictWord{7, 10, 720},
- dictWord{7, 10, 1378},
- dictWord{
- 8,
- 10,
- 161,
- },
- dictWord{9, 10, 284},
- dictWord{10, 10, 313},
- dictWord{139, 10, 886},
- dictWord{132, 10, 547},
- dictWord{136, 10, 722},
- dictWord{14, 0, 35},
- dictWord{142, 0, 191},
- dictWord{141, 0, 45},
- dictWord{138, 0, 121},
- dictWord{132, 0, 125},
- dictWord{134, 0, 1622},
- dictWord{133, 11, 959},
- dictWord{
- 8,
- 10,
- 420,
- },
- dictWord{139, 10, 193},
- dictWord{132, 0, 721},
- dictWord{135, 10, 409},
- dictWord{136, 0, 145},
- dictWord{7, 0, 792},
- dictWord{8, 0, 147},
- dictWord{
- 10,
- 0,
- 821,
- },
- dictWord{11, 0, 970},
- dictWord{11, 0, 1021},
- dictWord{136, 11, 173},
- dictWord{134, 11, 266},
- dictWord{132, 0, 715},
- dictWord{7, 0, 1999},
- dictWord{138, 10, 308},
- dictWord{133, 0, 531},
- dictWord{5, 0, 168},
- dictWord{5, 0, 930},
- dictWord{8, 0, 74},
- dictWord{9, 0, 623},
- dictWord{12, 0, 500},
- dictWord{
- 140,
- 0,
- 579,
- },
- dictWord{144, 0, 65},
- dictWord{138, 11, 246},
- dictWord{6, 0, 220},
- dictWord{7, 0, 1101},
- dictWord{13, 0, 105},
- dictWord{142, 11, 314},
- dictWord{
- 5,
- 10,
- 1002,
- },
- dictWord{136, 10, 745},
- dictWord{134, 0, 960},
- dictWord{20, 0, 0},
- dictWord{148, 11, 0},
- dictWord{4, 0, 1005},
- dictWord{4, 10, 239},
- dictWord{
- 6,
- 10,
- 477,
- },
- dictWord{7, 10, 1607},
- dictWord{11, 10, 68},
- dictWord{139, 10, 617},
- dictWord{6, 0, 19},
- dictWord{7, 0, 1413},
- dictWord{139, 0, 428},
- dictWord{
- 149,
- 10,
- 13,
- },
- dictWord{7, 0, 96},
- dictWord{8, 0, 401},
- dictWord{8, 0, 703},
- dictWord{9, 0, 896},
- dictWord{136, 11, 300},
- dictWord{134, 0, 1595},
- dictWord{145, 0, 116},
- dictWord{136, 0, 1021},
- dictWord{7, 0, 1961},
- dictWord{7, 0, 1965},
- dictWord{7, 0, 2030},
- dictWord{8, 0, 150},
- dictWord{8, 0, 702},
- dictWord{8, 0, 737},
- dictWord{
- 8,
- 0,
- 750,
- },
- dictWord{140, 0, 366},
- dictWord{11, 11, 75},
- dictWord{142, 11, 267},
- dictWord{132, 10, 367},
- dictWord{8, 0, 800},
- dictWord{9, 0, 148},
- dictWord{
- 9,
- 0,
- 872,
- },
- dictWord{9, 0, 890},
- dictWord{11, 0, 309},
- dictWord{11, 0, 1001},
- dictWord{13, 0, 267},
- dictWord{13, 0, 323},
- dictWord{5, 11, 427},
- dictWord{
- 5,
- 11,
- 734,
- },
- dictWord{7, 11, 478},
- dictWord{136, 11, 52},
- dictWord{7, 11, 239},
- dictWord{11, 11, 217},
- dictWord{142, 11, 165},
- dictWord{132, 11, 323},
- dictWord{140, 11, 419},
- dictWord{13, 0, 299},
- dictWord{142, 0, 75},
- dictWord{6, 11, 87},
- dictWord{6, 11, 1734},
- dictWord{7, 11, 20},
- dictWord{7, 11, 1056},
- dictWord{
- 8,
- 11,
- 732,
- },
- dictWord{9, 11, 406},
- dictWord{9, 11, 911},
- dictWord{138, 11, 694},
- dictWord{134, 0, 1383},
- dictWord{132, 10, 694},
- dictWord{
- 133,
- 11,
- 613,
- },
- dictWord{137, 0, 779},
- dictWord{4, 0, 598},
- dictWord{140, 10, 687},
- dictWord{6, 0, 970},
- dictWord{135, 0, 424},
- dictWord{133, 0, 547},
- dictWord{
- 7,
- 11,
- 32,
- },
- dictWord{7, 11, 984},
- dictWord{8, 11, 85},
- dictWord{8, 11, 709},
- dictWord{9, 11, 579},
- dictWord{9, 11, 847},
- dictWord{9, 11, 856},
- dictWord{10, 11, 799},
- dictWord{11, 11, 258},
- dictWord{11, 11, 1007},
- dictWord{12, 11, 331},
- dictWord{12, 11, 615},
- dictWord{13, 11, 188},
- dictWord{13, 11, 435},
- dictWord{
- 14,
- 11,
- 8,
- },
- dictWord{15, 11, 165},
- dictWord{16, 11, 27},
- dictWord{148, 11, 40},
- dictWord{6, 0, 1222},
- dictWord{134, 0, 1385},
- dictWord{132, 0, 876},
- dictWord{
- 138,
- 11,
- 151,
- },
- dictWord{135, 10, 213},
- dictWord{4, 11, 167},
- dictWord{135, 11, 82},
- dictWord{133, 0, 133},
- dictWord{6, 11, 24},
- dictWord{7, 11, 74},
- dictWord{
- 7,
- 11,
- 678,
- },
- dictWord{137, 11, 258},
- dictWord{5, 11, 62},
- dictWord{6, 11, 534},
- dictWord{7, 11, 684},
- dictWord{7, 11, 1043},
- dictWord{7, 11, 1072},
- dictWord{
- 8,
- 11,
- 280,
- },
- dictWord{8, 11, 541},
- dictWord{8, 11, 686},
- dictWord{10, 11, 519},
- dictWord{11, 11, 252},
- dictWord{140, 11, 282},
- dictWord{136, 0, 187},
- dictWord{8, 0, 8},
- dictWord{10, 0, 0},
- dictWord{10, 0, 818},
- dictWord{139, 0, 988},
- dictWord{132, 11, 359},
- dictWord{11, 0, 429},
- dictWord{15, 0, 51},
- dictWord{
- 135,
- 10,
- 1672,
- },
- dictWord{136, 0, 685},
- dictWord{5, 11, 211},
- dictWord{7, 11, 88},
- dictWord{136, 11, 627},
- dictWord{134, 0, 472},
- dictWord{136, 0, 132},
- dictWord{
- 6,
- 11,
- 145,
- },
- dictWord{141, 11, 336},
- dictWord{4, 10, 751},
- dictWord{11, 10, 390},
- dictWord{140, 10, 32},
- dictWord{6, 0, 938},
- dictWord{6, 0, 1060},
- dictWord{
- 4,
- 11,
- 263,
- },
- dictWord{4, 10, 409},
- dictWord{133, 10, 78},
- dictWord{137, 0, 874},
- dictWord{8, 0, 774},
- dictWord{10, 0, 670},
- dictWord{12, 0, 51},
- dictWord{
- 4,
- 11,
- 916,
- },
- dictWord{6, 10, 473},
- dictWord{7, 10, 1602},
- dictWord{10, 10, 698},
- dictWord{12, 10, 212},
- dictWord{13, 10, 307},
- dictWord{145, 10, 105},
- dictWord{146, 0, 92},
- dictWord{143, 10, 156},
- dictWord{132, 0, 830},
- dictWord{137, 0, 701},
- dictWord{4, 11, 599},
- dictWord{6, 11, 1634},
- dictWord{7, 11, 5},
- dictWord{7, 11, 55},
- dictWord{7, 11, 67},
- dictWord{7, 11, 97},
- dictWord{7, 11, 691},
- dictWord{7, 11, 979},
- dictWord{7, 11, 1697},
- dictWord{8, 11, 207},
- dictWord{
- 8,
- 11,
- 214,
- },
- dictWord{8, 11, 231},
- dictWord{8, 11, 294},
- dictWord{8, 11, 336},
- dictWord{8, 11, 428},
- dictWord{8, 11, 451},
- dictWord{8, 11, 460},
- dictWord{8, 11, 471},
- dictWord{8, 11, 622},
- dictWord{8, 11, 626},
- dictWord{8, 11, 679},
- dictWord{8, 11, 759},
- dictWord{8, 11, 829},
- dictWord{9, 11, 11},
- dictWord{9, 11, 246},
- dictWord{
- 9,
- 11,
- 484,
- },
- dictWord{9, 11, 573},
- dictWord{9, 11, 706},
- dictWord{9, 11, 762},
- dictWord{9, 11, 798},
- dictWord{9, 11, 855},
- dictWord{9, 11, 870},
- dictWord{
- 9,
- 11,
- 912,
- },
- dictWord{10, 11, 303},
- dictWord{10, 11, 335},
- dictWord{10, 11, 424},
- dictWord{10, 11, 461},
- dictWord{10, 11, 543},
- dictWord{10, 11, 759},
- dictWord{10, 11, 814},
- dictWord{11, 11, 59},
- dictWord{11, 11, 199},
- dictWord{11, 11, 235},
- dictWord{11, 11, 475},
- dictWord{11, 11, 590},
- dictWord{11, 11, 929},
- dictWord{11, 11, 963},
- dictWord{12, 11, 114},
- dictWord{12, 11, 182},
- dictWord{12, 11, 226},
- dictWord{12, 11, 332},
- dictWord{12, 11, 439},
- dictWord{
- 12,
- 11,
- 575,
- },
- dictWord{12, 11, 598},
- dictWord{13, 11, 8},
- dictWord{13, 11, 125},
- dictWord{13, 11, 194},
- dictWord{13, 11, 287},
- dictWord{14, 11, 197},
- dictWord{
- 14,
- 11,
- 383,
- },
- dictWord{15, 11, 53},
- dictWord{17, 11, 63},
- dictWord{19, 11, 46},
- dictWord{19, 11, 98},
- dictWord{19, 11, 106},
- dictWord{148, 11, 85},
- dictWord{
- 4,
- 0,
- 127,
- },
- dictWord{5, 0, 350},
- dictWord{6, 0, 356},
- dictWord{8, 0, 426},
- dictWord{9, 0, 572},
- dictWord{10, 0, 247},
- dictWord{139, 0, 312},
- dictWord{134, 0, 1215},
- dictWord{6, 0, 59},
- dictWord{9, 0, 603},
- dictWord{13, 0, 397},
- dictWord{7, 11, 1853},
- dictWord{138, 11, 437},
- dictWord{134, 0, 1762},
- dictWord{
- 147,
- 11,
- 126,
- },
- dictWord{135, 10, 883},
- dictWord{13, 0, 293},
- dictWord{142, 0, 56},
- dictWord{133, 10, 617},
- dictWord{139, 10, 50},
- dictWord{5, 11, 187},
- dictWord{
- 7,
- 10,
- 1518,
- },
- dictWord{139, 10, 694},
- dictWord{135, 0, 441},
- dictWord{6, 0, 111},
- dictWord{7, 0, 4},
- dictWord{8, 0, 163},
- dictWord{8, 0, 776},
- dictWord{
- 138,
- 0,
- 566,
- },
- dictWord{132, 0, 806},
- dictWord{4, 11, 215},
- dictWord{9, 11, 38},
- dictWord{10, 11, 3},
- dictWord{11, 11, 23},
- dictWord{11, 11, 127},
- dictWord{
- 139,
- 11,
- 796,
- },
- dictWord{14, 0, 233},
- dictWord{4, 10, 546},
- dictWord{135, 10, 2042},
- dictWord{135, 0, 1994},
- dictWord{134, 0, 1739},
- dictWord{135, 11, 1530},
- dictWord{136, 0, 393},
- dictWord{5, 0, 297},
- dictWord{7, 0, 1038},
- dictWord{14, 0, 359},
- dictWord{19, 0, 52},
- dictWord{148, 0, 47},
- dictWord{135, 0, 309},
- dictWord{
- 4,
- 10,
- 313,
- },
- dictWord{133, 10, 577},
- dictWord{8, 10, 184},
- dictWord{141, 10, 433},
- dictWord{135, 10, 935},
- dictWord{12, 10, 186},
- dictWord{
- 12,
- 10,
- 292,
- },
- dictWord{14, 10, 100},
- dictWord{146, 10, 70},
- dictWord{136, 0, 363},
- dictWord{14, 0, 175},
- dictWord{11, 10, 402},
- dictWord{12, 10, 109},
- dictWord{
- 12,
- 10,
- 431,
- },
- dictWord{13, 10, 179},
- dictWord{13, 10, 206},
- dictWord{14, 10, 217},
- dictWord{16, 10, 3},
- dictWord{148, 10, 53},
- dictWord{5, 10, 886},
- dictWord{
- 6,
- 10,
- 46,
- },
- dictWord{6, 10, 1790},
- dictWord{7, 10, 14},
- dictWord{7, 10, 732},
- dictWord{7, 10, 1654},
- dictWord{8, 10, 95},
- dictWord{8, 10, 327},
- dictWord{
- 8,
- 10,
- 616,
- },
- dictWord{9, 10, 892},
- dictWord{10, 10, 598},
- dictWord{10, 10, 769},
- dictWord{11, 10, 134},
- dictWord{11, 10, 747},
- dictWord{12, 10, 378},
- dictWord{
- 142,
- 10,
- 97,
- },
- dictWord{136, 0, 666},
- dictWord{135, 0, 1675},
- dictWord{6, 0, 655},
- dictWord{134, 0, 1600},
- dictWord{135, 0, 808},
- dictWord{133, 10, 1021},
- dictWord{4, 11, 28},
- dictWord{5, 11, 440},
- dictWord{7, 11, 248},
- dictWord{11, 11, 833},
- dictWord{140, 11, 344},
- dictWord{134, 11, 1654},
- dictWord{
- 132,
- 0,
- 280,
- },
- dictWord{140, 0, 54},
- dictWord{4, 0, 421},
- dictWord{133, 0, 548},
- dictWord{132, 10, 153},
- dictWord{6, 11, 339},
- dictWord{135, 11, 923},
- dictWord{
- 133,
- 11,
- 853,
- },
- dictWord{133, 10, 798},
- dictWord{132, 10, 587},
- dictWord{6, 11, 249},
- dictWord{7, 11, 1234},
- dictWord{139, 11, 573},
- dictWord{6, 10, 598},
- dictWord{7, 10, 42},
- dictWord{8, 10, 695},
- dictWord{10, 10, 212},
- dictWord{11, 10, 158},
- dictWord{14, 10, 196},
- dictWord{145, 10, 85},
- dictWord{7, 0, 249},
- dictWord{5, 10, 957},
- dictWord{133, 10, 1008},
- dictWord{4, 10, 129},
- dictWord{135, 10, 465},
- dictWord{6, 0, 254},
- dictWord{7, 0, 842},
- dictWord{7, 0, 1659},
- dictWord{9, 0, 109},
- dictWord{10, 0, 103},
- dictWord{7, 10, 908},
- dictWord{7, 10, 1201},
- dictWord{9, 10, 755},
- dictWord{11, 10, 906},
- dictWord{12, 10, 527},
- dictWord{146, 10, 7},
- dictWord{5, 0, 262},
- dictWord{136, 10, 450},
- dictWord{144, 0, 1},
- dictWord{10, 11, 201},
- dictWord{142, 11, 319},
- dictWord{7, 11, 49},
- dictWord{
- 7,
- 11,
- 392,
- },
- dictWord{8, 11, 20},
- dictWord{8, 11, 172},
- dictWord{8, 11, 690},
- dictWord{9, 11, 383},
- dictWord{9, 11, 845},
- dictWord{10, 11, 48},
- dictWord{
- 11,
- 11,
- 293,
- },
- dictWord{11, 11, 832},
- dictWord{11, 11, 920},
- dictWord{141, 11, 221},
- dictWord{5, 11, 858},
- dictWord{133, 11, 992},
- dictWord{134, 0, 805},
- dictWord{139, 10, 1003},
- dictWord{6, 0, 1630},
- dictWord{134, 11, 307},
- dictWord{7, 11, 1512},
- dictWord{135, 11, 1794},
- dictWord{6, 11, 268},
- dictWord{
- 137,
- 11,
- 62,
- },
- dictWord{135, 10, 1868},
- dictWord{133, 0, 671},
- dictWord{4, 0, 989},
- dictWord{8, 0, 972},
- dictWord{136, 0, 998},
- dictWord{132, 11, 423},
- dictWord{132, 0, 889},
- dictWord{135, 0, 1382},
- dictWord{135, 0, 1910},
- dictWord{7, 10, 965},
- dictWord{7, 10, 1460},
- dictWord{135, 10, 1604},
- dictWord{
- 4,
- 0,
- 627,
- },
- dictWord{5, 0, 775},
- dictWord{138, 11, 106},
- dictWord{134, 11, 348},
- dictWord{7, 0, 202},
- dictWord{11, 0, 362},
- dictWord{11, 0, 948},
- dictWord{
- 140,
- 0,
- 388,
- },
- dictWord{138, 11, 771},
- dictWord{6, 11, 613},
- dictWord{136, 11, 223},
- dictWord{6, 0, 560},
- dictWord{7, 0, 451},
- dictWord{8, 0, 389},
- dictWord{
- 12,
- 0,
- 490,
- },
- dictWord{13, 0, 16},
- dictWord{13, 0, 215},
- dictWord{13, 0, 351},
- dictWord{18, 0, 132},
- dictWord{147, 0, 125},
- dictWord{135, 0, 841},
- dictWord{
- 136,
- 0,
- 566,
- },
- dictWord{136, 0, 938},
- dictWord{132, 11, 670},
- dictWord{5, 0, 912},
- dictWord{6, 0, 1695},
- dictWord{140, 11, 55},
- dictWord{9, 11, 40},
- dictWord{
- 139,
- 11,
- 136,
- },
- dictWord{7, 0, 1361},
- dictWord{7, 10, 982},
- dictWord{10, 10, 32},
- dictWord{143, 10, 56},
- dictWord{11, 11, 259},
- dictWord{140, 11, 270},
- dictWord{
- 5,
- 0,
- 236,
- },
- dictWord{6, 0, 572},
- dictWord{8, 0, 492},
- dictWord{11, 0, 618},
- dictWord{144, 0, 56},
- dictWord{8, 11, 572},
- dictWord{9, 11, 310},
- dictWord{9, 11, 682},
- dictWord{137, 11, 698},
- dictWord{134, 0, 1854},
- dictWord{5, 0, 190},
- dictWord{136, 0, 318},
- dictWord{133, 10, 435},
- dictWord{135, 0, 1376},
- dictWord{
- 4,
- 11,
- 296,
- },
- dictWord{6, 11, 352},
- dictWord{7, 11, 401},
- dictWord{7, 11, 1410},
- dictWord{7, 11, 1594},
- dictWord{7, 11, 1674},
- dictWord{8, 11, 63},
- dictWord{
- 8,
- 11,
- 660,
- },
- dictWord{137, 11, 74},
- dictWord{7, 0, 349},
- dictWord{5, 10, 85},
- dictWord{6, 10, 419},
- dictWord{7, 10, 305},
- dictWord{7, 10, 361},
- dictWord{7, 10, 1337},
- dictWord{8, 10, 71},
- dictWord{140, 10, 519},
- dictWord{4, 11, 139},
- dictWord{4, 11, 388},
- dictWord{140, 11, 188},
- dictWord{6, 0, 1972},
- dictWord{6, 0, 2013},
- dictWord{8, 0, 951},
- dictWord{10, 0, 947},
- dictWord{10, 0, 974},
- dictWord{10, 0, 1018},
- dictWord{142, 0, 476},
- dictWord{140, 10, 688},
- dictWord{
- 135,
- 10,
- 740,
- },
- dictWord{5, 10, 691},
- dictWord{7, 10, 345},
- dictWord{9, 10, 94},
- dictWord{140, 10, 169},
- dictWord{9, 0, 344},
- dictWord{5, 10, 183},
- dictWord{6, 10, 582},
- dictWord{10, 10, 679},
- dictWord{140, 10, 435},
- dictWord{135, 10, 511},
- dictWord{132, 0, 850},
- dictWord{8, 11, 441},
- dictWord{10, 11, 314},
- dictWord{
- 143,
- 11,
- 3,
- },
- dictWord{7, 10, 1993},
- dictWord{136, 10, 684},
- dictWord{4, 11, 747},
- dictWord{6, 11, 290},
- dictWord{6, 10, 583},
- dictWord{7, 11, 649},
- dictWord{
- 7,
- 11,
- 1479,
- },
- dictWord{135, 11, 1583},
- dictWord{133, 11, 232},
- dictWord{133, 10, 704},
- dictWord{134, 0, 910},
- dictWord{4, 10, 179},
- dictWord{5, 10, 198},
- dictWord{133, 10, 697},
- dictWord{7, 10, 347},
- dictWord{7, 10, 971},
- dictWord{8, 10, 181},
- dictWord{138, 10, 711},
- dictWord{136, 11, 525},
- dictWord{
- 14,
- 0,
- 19,
- },
- dictWord{14, 0, 28},
- dictWord{144, 0, 29},
- dictWord{7, 0, 85},
- dictWord{7, 0, 247},
- dictWord{8, 0, 585},
- dictWord{138, 0, 163},
- dictWord{4, 0, 487},
- dictWord{
- 7,
- 11,
- 472,
- },
- dictWord{7, 11, 1801},
- dictWord{10, 11, 748},
- dictWord{141, 11, 458},
- dictWord{4, 10, 243},
- dictWord{5, 10, 203},
- dictWord{7, 10, 19},
- dictWord{
- 7,
- 10,
- 71,
- },
- dictWord{7, 10, 113},
- dictWord{10, 10, 405},
- dictWord{11, 10, 357},
- dictWord{142, 10, 240},
- dictWord{7, 10, 1450},
- dictWord{139, 10, 99},
- dictWord{132, 11, 425},
- dictWord{138, 0, 145},
- dictWord{147, 0, 83},
- dictWord{6, 10, 492},
- dictWord{137, 11, 247},
- dictWord{4, 0, 1013},
- dictWord{
- 134,
- 0,
- 2033,
- },
- dictWord{5, 10, 134},
- dictWord{6, 10, 408},
- dictWord{6, 10, 495},
- dictWord{135, 10, 1593},
- dictWord{135, 0, 1922},
- dictWord{134, 11, 1768},
- dictWord{4, 0, 124},
- dictWord{10, 0, 457},
- dictWord{11, 0, 121},
- dictWord{11, 0, 169},
- dictWord{11, 0, 870},
- dictWord{11, 0, 874},
- dictWord{12, 0, 214},
- dictWord{
- 14,
- 0,
- 187,
- },
- dictWord{143, 0, 77},
- dictWord{5, 0, 557},
- dictWord{135, 0, 1457},
- dictWord{139, 0, 66},
- dictWord{5, 11, 943},
- dictWord{6, 11, 1779},
- dictWord{
- 142,
- 10,
- 4,
- },
- dictWord{4, 10, 248},
- dictWord{4, 10, 665},
- dictWord{7, 10, 137},
- dictWord{137, 10, 349},
- dictWord{7, 0, 1193},
- dictWord{5, 11, 245},
- dictWord{
- 6,
- 11,
- 576,
- },
- dictWord{7, 11, 582},
- dictWord{136, 11, 225},
- dictWord{144, 0, 82},
- dictWord{7, 10, 1270},
- dictWord{139, 10, 612},
- dictWord{5, 0, 454},
- dictWord{
- 10,
- 0,
- 352,
- },
- dictWord{138, 11, 352},
- dictWord{18, 0, 57},
- dictWord{5, 10, 371},
- dictWord{135, 10, 563},
- dictWord{135, 0, 1333},
- dictWord{6, 0, 107},
- dictWord{
- 7,
- 0,
- 638,
- },
- dictWord{7, 0, 1632},
- dictWord{9, 0, 396},
- dictWord{134, 11, 610},
- dictWord{5, 0, 370},
- dictWord{134, 0, 1756},
- dictWord{4, 10, 374},
- dictWord{
- 7,
- 10,
- 547,
- },
- dictWord{7, 10, 1700},
- dictWord{7, 10, 1833},
- dictWord{139, 10, 858},
- dictWord{133, 0, 204},
- dictWord{6, 0, 1305},
- dictWord{9, 10, 311},
- dictWord{
- 141,
- 10,
- 42,
- },
- dictWord{5, 0, 970},
- dictWord{134, 0, 1706},
- dictWord{6, 10, 1647},
- dictWord{7, 10, 1552},
- dictWord{7, 10, 2010},
- dictWord{9, 10, 494},
- dictWord{137, 10, 509},
- dictWord{13, 11, 455},
- dictWord{15, 11, 99},
- dictWord{15, 11, 129},
- dictWord{144, 11, 68},
- dictWord{135, 0, 3},
- dictWord{4, 0, 35},
- dictWord{
- 5,
- 0,
- 121,
- },
- dictWord{5, 0, 483},
- dictWord{5, 0, 685},
- dictWord{6, 0, 489},
- dictWord{6, 0, 782},
- dictWord{6, 0, 1032},
- dictWord{7, 0, 1204},
- dictWord{136, 0, 394},
- dictWord{4, 0, 921},
- dictWord{133, 0, 1007},
- dictWord{8, 11, 360},
- dictWord{138, 11, 63},
- dictWord{135, 0, 1696},
- dictWord{134, 0, 1519},
- dictWord{
- 132,
- 11,
- 443,
- },
- dictWord{135, 11, 944},
- dictWord{6, 10, 123},
- dictWord{7, 10, 214},
- dictWord{9, 10, 728},
- dictWord{10, 10, 157},
- dictWord{11, 10, 346},
- dictWord{11, 10, 662},
- dictWord{143, 10, 106},
- dictWord{137, 0, 981},
- dictWord{135, 10, 1435},
- dictWord{134, 0, 1072},
- dictWord{132, 0, 712},
- dictWord{
- 134,
- 0,
- 1629,
- },
- dictWord{134, 0, 728},
- dictWord{4, 11, 298},
- dictWord{137, 11, 483},
- dictWord{6, 0, 1177},
- dictWord{6, 0, 1271},
- dictWord{5, 11, 164},
- dictWord{
- 7,
- 11,
- 121,
- },
- dictWord{142, 11, 189},
- dictWord{7, 0, 1608},
- dictWord{4, 10, 707},
- dictWord{5, 10, 588},
- dictWord{6, 10, 393},
- dictWord{13, 10, 106},
- dictWord{
- 18,
- 10,
- 49,
- },
- dictWord{147, 10, 41},
- dictWord{23, 0, 16},
- dictWord{151, 11, 16},
- dictWord{6, 10, 211},
- dictWord{7, 10, 1690},
- dictWord{11, 10, 486},
- dictWord{140, 10, 369},
- dictWord{133, 0, 485},
- dictWord{19, 11, 15},
- dictWord{149, 11, 27},
- dictWord{4, 11, 172},
- dictWord{9, 11, 611},
- dictWord{10, 11, 436},
- dictWord{12, 11, 673},
- dictWord{141, 11, 255},
- dictWord{5, 11, 844},
- dictWord{10, 11, 484},
- dictWord{11, 11, 754},
- dictWord{12, 11, 457},
- dictWord{
- 14,
- 11,
- 171,
- },
- dictWord{14, 11, 389},
- dictWord{146, 11, 153},
- dictWord{4, 0, 285},
- dictWord{5, 0, 27},
- dictWord{5, 0, 317},
- dictWord{6, 0, 301},
- dictWord{7, 0, 7},
- dictWord{
- 8,
- 0,
- 153,
- },
- dictWord{10, 0, 766},
- dictWord{11, 0, 468},
- dictWord{12, 0, 467},
- dictWord{141, 0, 143},
- dictWord{134, 0, 1462},
- dictWord{9, 11, 263},
- dictWord{
- 10,
- 11,
- 147,
- },
- dictWord{138, 11, 492},
- dictWord{133, 11, 537},
- dictWord{6, 0, 1945},
- dictWord{6, 0, 1986},
- dictWord{6, 0, 1991},
- dictWord{134, 0, 2038},
- dictWord{134, 10, 219},
- dictWord{137, 11, 842},
- dictWord{14, 0, 52},
- dictWord{17, 0, 50},
- dictWord{5, 10, 582},
- dictWord{6, 10, 1646},
- dictWord{7, 10, 99},
- dictWord{7, 10, 1962},
- dictWord{7, 10, 1986},
- dictWord{8, 10, 515},
- dictWord{8, 10, 773},
- dictWord{9, 10, 23},
- dictWord{9, 10, 491},
- dictWord{12, 10, 620},
- dictWord{142, 10, 93},
- dictWord{138, 11, 97},
- dictWord{20, 0, 21},
- dictWord{20, 0, 44},
- dictWord{133, 10, 851},
- dictWord{136, 0, 819},
- dictWord{139, 0, 917},
- dictWord{5, 11, 230},
- dictWord{5, 11, 392},
- dictWord{6, 11, 420},
- dictWord{8, 10, 762},
- dictWord{8, 10, 812},
- dictWord{9, 11, 568},
- dictWord{9, 10, 910},
- dictWord{140, 11, 612},
- dictWord{135, 0, 784},
- dictWord{15, 0, 135},
- dictWord{143, 11, 135},
- dictWord{10, 0, 454},
- dictWord{140, 0, 324},
- dictWord{4, 11, 0},
- dictWord{5, 11, 41},
- dictWord{7, 11, 1459},
- dictWord{7, 11, 1469},
- dictWord{7, 11, 1618},
- dictWord{7, 11, 1859},
- dictWord{9, 11, 549},
- dictWord{139, 11, 905},
- dictWord{4, 10, 98},
- dictWord{7, 10, 1365},
- dictWord{9, 10, 422},
- dictWord{9, 10, 670},
- dictWord{10, 10, 775},
- dictWord{11, 10, 210},
- dictWord{13, 10, 26},
- dictWord{13, 10, 457},
- dictWord{141, 10, 476},
- dictWord{6, 0, 1719},
- dictWord{6, 0, 1735},
- dictWord{7, 0, 2016},
- dictWord{7, 0, 2020},
- dictWord{8, 0, 837},
- dictWord{137, 0, 852},
- dictWord{133, 11, 696},
- dictWord{135, 0, 852},
- dictWord{132, 0, 952},
- dictWord{134, 10, 1730},
- dictWord{132, 11, 771},
- dictWord{
- 138,
- 0,
- 568,
- },
- dictWord{137, 0, 448},
- dictWord{139, 0, 146},
- dictWord{8, 0, 67},
- dictWord{138, 0, 419},
- dictWord{133, 11, 921},
- dictWord{137, 10, 147},
- dictWord{134, 0, 1826},
- dictWord{10, 0, 657},
- dictWord{14, 0, 297},
- dictWord{142, 0, 361},
- dictWord{6, 0, 666},
- dictWord{6, 0, 767},
- dictWord{134, 0, 1542},
- dictWord{139, 0, 729},
- dictWord{6, 11, 180},
- dictWord{7, 11, 1137},
- dictWord{8, 11, 751},
- dictWord{139, 11, 805},
- dictWord{4, 11, 183},
- dictWord{7, 11, 271},
- dictWord{11, 11, 824},
- dictWord{11, 11, 952},
- dictWord{13, 11, 278},
- dictWord{13, 11, 339},
- dictWord{13, 11, 482},
- dictWord{14, 11, 424},
- dictWord{
- 148,
- 11,
- 99,
- },
- dictWord{4, 0, 669},
- dictWord{5, 11, 477},
- dictWord{5, 11, 596},
- dictWord{6, 11, 505},
- dictWord{7, 11, 1221},
- dictWord{11, 11, 907},
- dictWord{
- 12,
- 11,
- 209,
- },
- dictWord{141, 11, 214},
- dictWord{135, 11, 1215},
- dictWord{5, 0, 402},
- dictWord{6, 10, 30},
- dictWord{11, 10, 56},
- dictWord{139, 10, 305},
- dictWord{
- 7,
- 11,
- 564,
- },
- dictWord{142, 11, 168},
- dictWord{139, 0, 152},
- dictWord{7, 0, 912},
- dictWord{135, 10, 1614},
- dictWord{4, 10, 150},
- dictWord{5, 10, 303},
- dictWord{134, 10, 327},
- dictWord{7, 0, 320},
- dictWord{8, 0, 51},
- dictWord{9, 0, 868},
- dictWord{10, 0, 833},
- dictWord{12, 0, 481},
- dictWord{12, 0, 570},
- dictWord{
- 148,
- 0,
- 106,
- },
- dictWord{132, 0, 445},
- dictWord{7, 11, 274},
- dictWord{11, 11, 263},
- dictWord{11, 11, 479},
- dictWord{11, 11, 507},
- dictWord{140, 11, 277},
- dictWord{10, 0, 555},
- dictWord{11, 0, 308},
- dictWord{19, 0, 95},
- dictWord{6, 11, 1645},
- dictWord{8, 10, 192},
- dictWord{10, 10, 78},
- dictWord{141, 10, 359},
- dictWord{135, 10, 786},
- dictWord{6, 11, 92},
- dictWord{6, 11, 188},
- dictWord{7, 11, 1269},
- dictWord{7, 11, 1524},
- dictWord{7, 11, 1876},
- dictWord{10, 11, 228},
- dictWord{139, 11, 1020},
- dictWord{4, 11, 459},
- dictWord{133, 11, 966},
- dictWord{11, 0, 386},
- dictWord{6, 10, 1638},
- dictWord{7, 10, 79},
- dictWord{
- 7,
- 10,
- 496,
- },
- dictWord{9, 10, 138},
- dictWord{10, 10, 336},
- dictWord{12, 10, 412},
- dictWord{12, 10, 440},
- dictWord{142, 10, 305},
- dictWord{133, 0, 239},
- dictWord{
- 7,
- 0,
- 83,
- },
- dictWord{7, 0, 1990},
- dictWord{8, 0, 130},
- dictWord{139, 0, 720},
- dictWord{138, 11, 709},
- dictWord{4, 0, 143},
- dictWord{5, 0, 550},
- dictWord{
- 133,
- 0,
- 752,
- },
- dictWord{5, 0, 123},
- dictWord{6, 0, 530},
- dictWord{7, 0, 348},
- dictWord{135, 0, 1419},
- dictWord{135, 0, 2024},
- dictWord{6, 11, 18},
- dictWord{7, 11, 179},
- dictWord{7, 11, 721},
- dictWord{7, 11, 932},
- dictWord{8, 11, 548},
- dictWord{8, 11, 757},
- dictWord{9, 11, 54},
- dictWord{9, 11, 65},
- dictWord{9, 11, 532},
- dictWord{
- 9,
- 11,
- 844,
- },
- dictWord{10, 11, 113},
- dictWord{10, 11, 117},
- dictWord{10, 11, 236},
- dictWord{10, 11, 315},
- dictWord{10, 11, 430},
- dictWord{10, 11, 798},
- dictWord{11, 11, 153},
- dictWord{11, 11, 351},
- dictWord{11, 11, 375},
- dictWord{12, 11, 78},
- dictWord{12, 11, 151},
- dictWord{12, 11, 392},
- dictWord{
- 14,
- 11,
- 248,
- },
- dictWord{143, 11, 23},
- dictWord{7, 10, 204},
- dictWord{7, 10, 415},
- dictWord{8, 10, 42},
- dictWord{10, 10, 85},
- dictWord{139, 10, 564},
- dictWord{
- 134,
- 0,
- 958,
- },
- dictWord{133, 11, 965},
- dictWord{132, 0, 210},
- dictWord{135, 11, 1429},
- dictWord{138, 11, 480},
- dictWord{134, 11, 182},
- dictWord{
- 139,
- 11,
- 345,
- },
- dictWord{10, 11, 65},
- dictWord{10, 11, 488},
- dictWord{138, 11, 497},
- dictWord{4, 10, 3},
- dictWord{5, 10, 247},
- dictWord{5, 10, 644},
- dictWord{
- 7,
- 10,
- 744,
- },
- dictWord{7, 10, 1207},
- dictWord{7, 10, 1225},
- dictWord{7, 10, 1909},
- dictWord{146, 10, 147},
- dictWord{132, 0, 430},
- dictWord{5, 10, 285},
- dictWord{
- 9,
- 10,
- 67,
- },
- dictWord{13, 10, 473},
- dictWord{143, 10, 82},
- dictWord{144, 11, 16},
- dictWord{7, 11, 1162},
- dictWord{9, 11, 588},
- dictWord{10, 11, 260},
- dictWord{151, 10, 8},
- dictWord{133, 0, 213},
- dictWord{138, 0, 7},
- dictWord{135, 0, 801},
- dictWord{134, 11, 1786},
- dictWord{135, 11, 308},
- dictWord{6, 0, 936},
- dictWord{134, 0, 1289},
- dictWord{133, 0, 108},
- dictWord{132, 0, 885},
- dictWord{133, 0, 219},
- dictWord{139, 0, 587},
- dictWord{4, 0, 193},
- dictWord{5, 0, 916},
- dictWord{6, 0, 1041},
- dictWord{7, 0, 364},
- dictWord{10, 0, 398},
- dictWord{10, 0, 726},
- dictWord{11, 0, 317},
- dictWord{11, 0, 626},
- dictWord{12, 0, 142},
- dictWord{12, 0, 288},
- dictWord{12, 0, 678},
- dictWord{13, 0, 313},
- dictWord{15, 0, 113},
- dictWord{146, 0, 114},
- dictWord{135, 0, 1165},
- dictWord{6, 0, 241},
- dictWord{
- 9,
- 0,
- 342,
- },
- dictWord{10, 0, 729},
- dictWord{11, 0, 284},
- dictWord{11, 0, 445},
- dictWord{11, 0, 651},
- dictWord{11, 0, 863},
- dictWord{13, 0, 398},
- dictWord{
- 146,
- 0,
- 99,
- },
- dictWord{7, 0, 907},
- dictWord{136, 0, 832},
- dictWord{9, 0, 303},
- dictWord{4, 10, 29},
- dictWord{6, 10, 532},
- dictWord{7, 10, 1628},
- dictWord{7, 10, 1648},
- dictWord{9, 10, 350},
- dictWord{10, 10, 433},
- dictWord{11, 10, 97},
- dictWord{11, 10, 557},
- dictWord{11, 10, 745},
- dictWord{12, 10, 289},
- dictWord{
- 12,
- 10,
- 335,
- },
- dictWord{12, 10, 348},
- dictWord{12, 10, 606},
- dictWord{13, 10, 116},
- dictWord{13, 10, 233},
- dictWord{13, 10, 466},
- dictWord{14, 10, 181},
- dictWord{
- 14,
- 10,
- 209,
- },
- dictWord{14, 10, 232},
- dictWord{14, 10, 236},
- dictWord{14, 10, 300},
- dictWord{16, 10, 41},
- dictWord{148, 10, 97},
- dictWord{7, 11, 423},
- dictWord{7, 10, 1692},
- dictWord{136, 11, 588},
- dictWord{6, 0, 931},
- dictWord{134, 0, 1454},
- dictWord{5, 10, 501},
- dictWord{7, 10, 1704},
- dictWord{9, 10, 553},
- dictWord{11, 10, 520},
- dictWord{12, 10, 557},
- dictWord{141, 10, 249},
- dictWord{136, 11, 287},
- dictWord{4, 0, 562},
- dictWord{9, 0, 254},
- dictWord{
- 139,
- 0,
- 879,
- },
- dictWord{132, 0, 786},
- dictWord{14, 11, 32},
- dictWord{18, 11, 85},
- dictWord{20, 11, 2},
- dictWord{152, 11, 16},
- dictWord{135, 0, 1294},
- dictWord{
- 7,
- 11,
- 723,
- },
- dictWord{135, 11, 1135},
- dictWord{6, 0, 216},
- dictWord{7, 0, 901},
- dictWord{7, 0, 1343},
- dictWord{8, 0, 493},
- dictWord{134, 11, 403},
- dictWord{
- 7,
- 11,
- 719,
- },
- dictWord{8, 11, 809},
- dictWord{136, 11, 834},
- dictWord{5, 11, 210},
- dictWord{6, 11, 213},
- dictWord{7, 11, 60},
- dictWord{10, 11, 364},
- dictWord{
- 139,
- 11,
- 135,
- },
- dictWord{7, 0, 341},
- dictWord{11, 0, 219},
- dictWord{5, 11, 607},
- dictWord{8, 11, 326},
- dictWord{136, 11, 490},
- dictWord{4, 11, 701},
- dictWord{
- 5,
- 11,
- 472,
- },
- dictWord{5, 11, 639},
- dictWord{7, 11, 1249},
- dictWord{9, 11, 758},
- dictWord{139, 11, 896},
- dictWord{135, 11, 380},
- dictWord{135, 11, 1947},
- dictWord{139, 0, 130},
- dictWord{135, 0, 1734},
- dictWord{10, 0, 115},
- dictWord{11, 0, 420},
- dictWord{12, 0, 154},
- dictWord{13, 0, 404},
- dictWord{14, 0, 346},
- dictWord{143, 0, 54},
- dictWord{134, 10, 129},
- dictWord{4, 11, 386},
- dictWord{7, 11, 41},
- dictWord{8, 11, 405},
- dictWord{9, 11, 497},
- dictWord{11, 11, 110},
- dictWord{11, 11, 360},
- dictWord{15, 11, 37},
- dictWord{144, 11, 84},
- dictWord{141, 11, 282},
- dictWord{5, 11, 46},
- dictWord{7, 11, 1452},
- dictWord{7, 11, 1480},
- dictWord{8, 11, 634},
- dictWord{140, 11, 472},
- dictWord{4, 11, 524},
- dictWord{136, 11, 810},
- dictWord{10, 11, 238},
- dictWord{141, 11, 33},
- dictWord{
- 133,
- 0,
- 604,
- },
- dictWord{5, 0, 1011},
- dictWord{136, 0, 701},
- dictWord{8, 0, 856},
- dictWord{8, 0, 858},
- dictWord{8, 0, 879},
- dictWord{12, 0, 702},
- dictWord{142, 0, 447},
- dictWord{4, 0, 54},
- dictWord{5, 0, 666},
- dictWord{7, 0, 1039},
- dictWord{7, 0, 1130},
- dictWord{9, 0, 195},
- dictWord{138, 0, 302},
- dictWord{4, 10, 25},
- dictWord{
- 5,
- 10,
- 60,
- },
- dictWord{6, 10, 504},
- dictWord{7, 10, 614},
- dictWord{7, 10, 1155},
- dictWord{140, 10, 0},
- dictWord{7, 10, 1248},
- dictWord{11, 10, 621},
- dictWord{
- 139,
- 10,
- 702,
- },
- dictWord{133, 11, 997},
- dictWord{137, 10, 321},
- dictWord{134, 0, 1669},
- dictWord{134, 0, 1791},
- dictWord{4, 10, 379},
- dictWord{
- 135,
- 10,
- 1397,
- },
- dictWord{138, 11, 372},
- dictWord{5, 11, 782},
- dictWord{5, 11, 829},
- dictWord{134, 11, 1738},
- dictWord{135, 0, 1228},
- dictWord{4, 10, 118},
- dictWord{6, 10, 274},
- dictWord{6, 10, 361},
- dictWord{7, 10, 75},
- dictWord{141, 10, 441},
- dictWord{132, 0, 623},
- dictWord{9, 11, 279},
- dictWord{10, 11, 407},
- dictWord{14, 11, 84},
- dictWord{150, 11, 18},
- dictWord{137, 10, 841},
- dictWord{135, 0, 798},
- dictWord{140, 10, 693},
- dictWord{5, 10, 314},
- dictWord{6, 10, 221},
- dictWord{7, 10, 419},
- dictWord{10, 10, 650},
- dictWord{11, 10, 396},
- dictWord{12, 10, 156},
- dictWord{13, 10, 369},
- dictWord{14, 10, 333},
- dictWord{
- 145,
- 10,
- 47,
- },
- dictWord{135, 11, 1372},
- dictWord{7, 0, 122},
- dictWord{9, 0, 259},
- dictWord{10, 0, 84},
- dictWord{11, 0, 470},
- dictWord{12, 0, 541},
- dictWord{
- 141,
- 0,
- 379,
- },
- dictWord{134, 0, 837},
- dictWord{8, 0, 1013},
- dictWord{4, 11, 78},
- dictWord{5, 11, 96},
- dictWord{5, 11, 182},
- dictWord{7, 11, 1724},
- dictWord{
- 7,
- 11,
- 1825,
- },
- dictWord{10, 11, 394},
- dictWord{10, 11, 471},
- dictWord{11, 11, 532},
- dictWord{14, 11, 340},
- dictWord{145, 11, 88},
- dictWord{134, 0, 577},
- dictWord{135, 11, 1964},
- dictWord{132, 10, 913},
- dictWord{134, 0, 460},
- dictWord{8, 0, 891},
- dictWord{10, 0, 901},
- dictWord{10, 0, 919},
- dictWord{10, 0, 932},
- dictWord{12, 0, 715},
- dictWord{12, 0, 728},
- dictWord{12, 0, 777},
- dictWord{14, 0, 457},
- dictWord{144, 0, 103},
- dictWord{5, 0, 82},
- dictWord{5, 0, 131},
- dictWord{
- 7,
- 0,
- 1755,
- },
- dictWord{8, 0, 31},
- dictWord{9, 0, 168},
- dictWord{9, 0, 764},
- dictWord{139, 0, 869},
- dictWord{136, 10, 475},
- dictWord{6, 0, 605},
- dictWord{
- 5,
- 10,
- 1016,
- },
- dictWord{9, 11, 601},
- dictWord{9, 11, 619},
- dictWord{10, 11, 505},
- dictWord{10, 11, 732},
- dictWord{11, 11, 355},
- dictWord{140, 11, 139},
- dictWord{
- 7,
- 10,
- 602,
- },
- dictWord{8, 10, 179},
- dictWord{10, 10, 781},
- dictWord{140, 10, 126},
- dictWord{134, 0, 1246},
- dictWord{6, 10, 329},
- dictWord{138, 10, 111},
- dictWord{6, 11, 215},
- dictWord{7, 11, 1028},
- dictWord{7, 11, 1473},
- dictWord{7, 11, 1721},
- dictWord{9, 11, 424},
- dictWord{138, 11, 779},
- dictWord{5, 0, 278},
- dictWord{137, 0, 68},
- dictWord{6, 0, 932},
- dictWord{6, 0, 1084},
- dictWord{144, 0, 86},
- dictWord{4, 0, 163},
- dictWord{5, 0, 201},
- dictWord{5, 0, 307},
- dictWord{
- 5,
- 0,
- 310,
- },
- dictWord{6, 0, 335},
- dictWord{7, 0, 284},
- dictWord{7, 0, 1660},
- dictWord{136, 0, 165},
- dictWord{136, 0, 781},
- dictWord{134, 0, 707},
- dictWord{6, 0, 33},
- dictWord{135, 0, 1244},
- dictWord{5, 10, 821},
- dictWord{6, 11, 67},
- dictWord{6, 10, 1687},
- dictWord{7, 11, 258},
- dictWord{7, 11, 1630},
- dictWord{9, 11, 354},
- dictWord{9, 11, 675},
- dictWord{10, 11, 830},
- dictWord{14, 11, 80},
- dictWord{145, 11, 80},
- dictWord{6, 11, 141},
- dictWord{7, 11, 225},
- dictWord{9, 11, 59},
- dictWord{9, 11, 607},
- dictWord{10, 11, 312},
- dictWord{11, 11, 687},
- dictWord{12, 11, 555},
- dictWord{13, 11, 373},
- dictWord{13, 11, 494},
- dictWord{148, 11, 58},
- dictWord{134, 0, 1113},
- dictWord{9, 0, 388},
- dictWord{5, 10, 71},
- dictWord{7, 10, 1407},
- dictWord{9, 10, 704},
- dictWord{10, 10, 261},
- dictWord{10, 10, 619},
- dictWord{11, 10, 547},
- dictWord{11, 10, 619},
- dictWord{143, 10, 157},
- dictWord{7, 0, 1953},
- dictWord{136, 0, 720},
- dictWord{138, 0, 203},
- dictWord{
- 7,
- 10,
- 2008,
- },
- dictWord{9, 10, 337},
- dictWord{138, 10, 517},
- dictWord{6, 0, 326},
- dictWord{7, 0, 677},
- dictWord{137, 0, 425},
- dictWord{139, 11, 81},
- dictWord{
- 7,
- 0,
- 1316,
- },
- dictWord{7, 0, 1412},
- dictWord{7, 0, 1839},
- dictWord{9, 0, 589},
- dictWord{11, 0, 241},
- dictWord{11, 0, 676},
- dictWord{11, 0, 811},
- dictWord{11, 0, 891},
- dictWord{12, 0, 140},
- dictWord{12, 0, 346},
- dictWord{12, 0, 479},
- dictWord{13, 0, 140},
- dictWord{13, 0, 381},
- dictWord{14, 0, 188},
- dictWord{18, 0, 30},
- dictWord{148, 0, 108},
- dictWord{5, 0, 416},
- dictWord{6, 10, 86},
- dictWord{6, 10, 603},
- dictWord{7, 10, 292},
- dictWord{7, 10, 561},
- dictWord{8, 10, 257},
- dictWord{
- 8,
- 10,
- 382,
- },
- dictWord{9, 10, 721},
- dictWord{9, 10, 778},
- dictWord{11, 10, 581},
- dictWord{140, 10, 466},
- dictWord{4, 10, 486},
- dictWord{133, 10, 491},
- dictWord{134, 0, 1300},
- dictWord{132, 10, 72},
- dictWord{7, 0, 847},
- dictWord{6, 10, 265},
- dictWord{7, 11, 430},
- dictWord{139, 11, 46},
- dictWord{5, 11, 602},
- dictWord{6, 11, 106},
- dictWord{7, 11, 1786},
- dictWord{7, 11, 1821},
- dictWord{7, 11, 2018},
- dictWord{9, 11, 418},
- dictWord{137, 11, 763},
- dictWord{5, 0, 358},
- dictWord{7, 0, 535},
- dictWord{7, 0, 1184},
- dictWord{10, 0, 662},
- dictWord{13, 0, 212},
- dictWord{13, 0, 304},
- dictWord{13, 0, 333},
- dictWord{145, 0, 98},
- dictWord{
- 5,
- 11,
- 65,
- },
- dictWord{6, 11, 416},
- dictWord{7, 11, 1720},
- dictWord{7, 11, 1924},
- dictWord{8, 11, 677},
- dictWord{10, 11, 109},
- dictWord{11, 11, 14},
- dictWord{
- 11,
- 11,
- 70,
- },
- dictWord{11, 11, 569},
- dictWord{11, 11, 735},
- dictWord{15, 11, 153},
- dictWord{148, 11, 80},
- dictWord{6, 0, 1823},
- dictWord{8, 0, 839},
- dictWord{
- 8,
- 0,
- 852,
- },
- dictWord{8, 0, 903},
- dictWord{10, 0, 940},
- dictWord{12, 0, 707},
- dictWord{140, 0, 775},
- dictWord{135, 11, 1229},
- dictWord{6, 0, 1522},
- dictWord{
- 140,
- 0,
- 654,
- },
- dictWord{136, 11, 595},
- dictWord{139, 0, 163},
- dictWord{141, 0, 314},
- dictWord{132, 0, 978},
- dictWord{4, 0, 601},
- dictWord{6, 0, 2035},
- dictWord{137, 10, 234},
- dictWord{5, 10, 815},
- dictWord{6, 10, 1688},
- dictWord{134, 10, 1755},
- dictWord{133, 0, 946},
- dictWord{136, 0, 434},
- dictWord{
- 6,
- 10,
- 197,
- },
- dictWord{136, 10, 205},
- dictWord{7, 0, 411},
- dictWord{7, 0, 590},
- dictWord{8, 0, 631},
- dictWord{9, 0, 323},
- dictWord{10, 0, 355},
- dictWord{11, 0, 491},
- dictWord{12, 0, 143},
- dictWord{12, 0, 402},
- dictWord{13, 0, 73},
- dictWord{14, 0, 408},
- dictWord{15, 0, 107},
- dictWord{146, 0, 71},
- dictWord{7, 0, 1467},
- dictWord{
- 8,
- 0,
- 328,
- },
- dictWord{10, 0, 544},
- dictWord{11, 0, 955},
- dictWord{12, 0, 13},
- dictWord{13, 0, 320},
- dictWord{145, 0, 83},
- dictWord{142, 0, 410},
- dictWord{
- 11,
- 0,
- 511,
- },
- dictWord{13, 0, 394},
- dictWord{14, 0, 298},
- dictWord{14, 0, 318},
- dictWord{146, 0, 103},
- dictWord{6, 10, 452},
- dictWord{7, 10, 312},
- dictWord{
- 138,
- 10,
- 219,
- },
- dictWord{138, 10, 589},
- dictWord{4, 10, 333},
- dictWord{9, 10, 176},
- dictWord{12, 10, 353},
- dictWord{141, 10, 187},
- dictWord{135, 11, 329},
- dictWord{132, 11, 469},
- dictWord{5, 0, 835},
- dictWord{134, 0, 483},
- dictWord{134, 11, 1743},
- dictWord{5, 11, 929},
- dictWord{6, 11, 340},
- dictWord{8, 11, 376},
- dictWord{136, 11, 807},
- dictWord{134, 10, 1685},
- dictWord{132, 0, 677},
- dictWord{5, 11, 218},
- dictWord{7, 11, 1610},
- dictWord{138, 11, 83},
- dictWord{
- 5,
- 11,
- 571,
- },
- dictWord{135, 11, 1842},
- dictWord{132, 11, 455},
- dictWord{137, 0, 70},
- dictWord{135, 0, 1405},
- dictWord{7, 10, 135},
- dictWord{8, 10, 7},
- dictWord{
- 8,
- 10,
- 62,
- },
- dictWord{9, 10, 243},
- dictWord{10, 10, 658},
- dictWord{10, 10, 697},
- dictWord{11, 10, 456},
- dictWord{139, 10, 756},
- dictWord{9, 10, 395},
- dictWord{138, 10, 79},
- dictWord{137, 0, 108},
- dictWord{6, 11, 161},
- dictWord{7, 11, 372},
- dictWord{137, 11, 597},
- dictWord{132, 11, 349},
- dictWord{
- 132,
- 0,
- 777,
- },
- dictWord{132, 0, 331},
- dictWord{135, 10, 631},
- dictWord{133, 0, 747},
- dictWord{6, 11, 432},
- dictWord{6, 11, 608},
- dictWord{139, 11, 322},
- dictWord{138, 10, 835},
- dictWord{5, 11, 468},
- dictWord{7, 11, 1809},
- dictWord{10, 11, 325},
- dictWord{11, 11, 856},
- dictWord{12, 11, 345},
- dictWord{
- 143,
- 11,
- 104,
- },
- dictWord{133, 11, 223},
- dictWord{7, 10, 406},
- dictWord{7, 10, 459},
- dictWord{8, 10, 606},
- dictWord{139, 10, 726},
- dictWord{132, 11, 566},
- dictWord{142, 0, 68},
- dictWord{4, 11, 59},
- dictWord{135, 11, 1394},
- dictWord{6, 11, 436},
- dictWord{139, 11, 481},
- dictWord{4, 11, 48},
- dictWord{5, 11, 271},
- dictWord{135, 11, 953},
- dictWord{139, 11, 170},
- dictWord{5, 11, 610},
- dictWord{136, 11, 457},
- dictWord{133, 11, 755},
- dictWord{135, 11, 1217},
- dictWord{
- 133,
- 10,
- 612,
- },
- dictWord{132, 11, 197},
- dictWord{132, 0, 505},
- dictWord{4, 10, 372},
- dictWord{7, 10, 482},
- dictWord{8, 10, 158},
- dictWord{9, 10, 602},
- dictWord{
- 9,
- 10,
- 615,
- },
- dictWord{10, 10, 245},
- dictWord{10, 10, 678},
- dictWord{10, 10, 744},
- dictWord{11, 10, 248},
- dictWord{139, 10, 806},
- dictWord{133, 0, 326},
- dictWord{5, 10, 854},
- dictWord{135, 10, 1991},
- dictWord{4, 0, 691},
- dictWord{146, 0, 16},
- dictWord{6, 0, 628},
- dictWord{9, 0, 35},
- dictWord{10, 0, 680},
- dictWord{10, 0, 793},
- dictWord{11, 0, 364},
- dictWord{13, 0, 357},
- dictWord{143, 0, 164},
- dictWord{138, 0, 654},
- dictWord{6, 0, 32},
- dictWord{7, 0, 385},
- dictWord{
- 7,
- 0,
- 757,
- },
- dictWord{7, 0, 1916},
- dictWord{8, 0, 37},
- dictWord{8, 0, 94},
- dictWord{8, 0, 711},
- dictWord{9, 0, 541},
- dictWord{10, 0, 162},
- dictWord{10, 0, 795},
- dictWord{
- 11,
- 0,
- 989,
- },
- dictWord{11, 0, 1010},
- dictWord{12, 0, 14},
- dictWord{142, 0, 308},
- dictWord{133, 11, 217},
- dictWord{6, 0, 152},
- dictWord{6, 0, 349},
- dictWord{
- 6,
- 0,
- 1682,
- },
- dictWord{7, 0, 1252},
- dictWord{8, 0, 112},
- dictWord{9, 0, 435},
- dictWord{9, 0, 668},
- dictWord{10, 0, 290},
- dictWord{10, 0, 319},
- dictWord{10, 0, 815},
- dictWord{11, 0, 180},
- dictWord{11, 0, 837},
- dictWord{12, 0, 240},
- dictWord{13, 0, 152},
- dictWord{13, 0, 219},
- dictWord{142, 0, 158},
- dictWord{4, 0, 581},
- dictWord{134, 0, 726},
- dictWord{5, 10, 195},
- dictWord{135, 10, 1685},
- dictWord{6, 0, 126},
- dictWord{7, 0, 573},
- dictWord{8, 0, 397},
- dictWord{142, 0, 44},
- dictWord{138, 0, 89},
- dictWord{7, 10, 1997},
- dictWord{8, 10, 730},
- dictWord{139, 10, 1006},
- dictWord{134, 0, 1531},
- dictWord{134, 0, 1167},
- dictWord{
- 5,
- 0,
- 926,
- },
- dictWord{12, 0, 203},
- dictWord{133, 10, 751},
- dictWord{4, 11, 165},
- dictWord{7, 11, 1398},
- dictWord{135, 11, 1829},
- dictWord{7, 0, 1232},
- dictWord{137, 0, 531},
- dictWord{135, 10, 821},
- dictWord{134, 0, 943},
- dictWord{133, 0, 670},
- dictWord{4, 0, 880},
- dictWord{139, 0, 231},
- dictWord{
- 134,
- 0,
- 1617,
- },
- dictWord{135, 0, 1957},
- dictWord{5, 11, 9},
- dictWord{7, 11, 297},
- dictWord{7, 11, 966},
- dictWord{140, 11, 306},
- dictWord{6, 0, 975},
- dictWord{
- 134,
- 0,
- 985,
- },
- dictWord{5, 10, 950},
- dictWord{5, 10, 994},
- dictWord{134, 10, 351},
- dictWord{12, 11, 21},
- dictWord{151, 11, 7},
- dictWord{5, 11, 146},
- dictWord{
- 6,
- 11,
- 411,
- },
- dictWord{138, 11, 721},
- dictWord{7, 0, 242},
- dictWord{135, 0, 1942},
- dictWord{6, 11, 177},
- dictWord{135, 11, 467},
- dictWord{5, 0, 421},
- dictWord{
- 7,
- 10,
- 47,
- },
- dictWord{137, 10, 684},
- dictWord{5, 0, 834},
- dictWord{7, 0, 1202},
- dictWord{8, 0, 14},
- dictWord{9, 0, 481},
- dictWord{137, 0, 880},
- dictWord{138, 0, 465},
- dictWord{6, 0, 688},
- dictWord{9, 0, 834},
- dictWord{132, 10, 350},
- dictWord{132, 0, 855},
- dictWord{4, 0, 357},
- dictWord{6, 0, 172},
- dictWord{7, 0, 143},
- dictWord{137, 0, 413},
- dictWord{133, 11, 200},
- dictWord{132, 0, 590},
- dictWord{7, 10, 1812},
- dictWord{13, 10, 259},
- dictWord{13, 10, 356},
- dictWord{
- 14,
- 10,
- 242,
- },
- dictWord{147, 10, 114},
- dictWord{133, 10, 967},
- dictWord{11, 0, 114},
- dictWord{4, 10, 473},
- dictWord{7, 10, 623},
- dictWord{8, 10, 808},
- dictWord{
- 9,
- 10,
- 871,
- },
- dictWord{9, 10, 893},
- dictWord{11, 10, 431},
- dictWord{12, 10, 112},
- dictWord{12, 10, 217},
- dictWord{12, 10, 243},
- dictWord{12, 10, 562},
- dictWord{
- 12,
- 10,
- 663,
- },
- dictWord{12, 10, 683},
- dictWord{13, 10, 141},
- dictWord{13, 10, 197},
- dictWord{13, 10, 227},
- dictWord{13, 10, 406},
- dictWord{13, 10, 487},
- dictWord{14, 10, 156},
- dictWord{14, 10, 203},
- dictWord{14, 10, 224},
- dictWord{14, 10, 256},
- dictWord{18, 10, 58},
- dictWord{150, 10, 0},
- dictWord{
- 138,
- 10,
- 286,
- },
- dictWord{4, 10, 222},
- dictWord{7, 10, 286},
- dictWord{136, 10, 629},
- dictWord{5, 0, 169},
- dictWord{7, 0, 333},
- dictWord{136, 0, 45},
- dictWord{
- 134,
- 11,
- 481,
- },
- dictWord{132, 0, 198},
- dictWord{4, 0, 24},
- dictWord{5, 0, 140},
- dictWord{5, 0, 185},
- dictWord{7, 0, 1500},
- dictWord{11, 0, 565},
- dictWord{11, 0, 838},
- dictWord{4, 11, 84},
- dictWord{7, 11, 1482},
- dictWord{10, 11, 76},
- dictWord{138, 11, 142},
- dictWord{133, 0, 585},
- dictWord{141, 10, 306},
- dictWord{
- 133,
- 11,
- 1015,
- },
- dictWord{4, 11, 315},
- dictWord{5, 11, 507},
- dictWord{135, 11, 1370},
- dictWord{136, 10, 146},
- dictWord{6, 0, 691},
- dictWord{134, 0, 1503},
- dictWord{
- 4,
- 0,
- 334,
- },
- dictWord{133, 0, 593},
- dictWord{4, 10, 465},
- dictWord{135, 10, 1663},
- dictWord{142, 11, 173},
- dictWord{135, 0, 913},
- dictWord{12, 0, 116},
- dictWord{134, 11, 1722},
- dictWord{134, 0, 1360},
- dictWord{132, 0, 802},
- dictWord{8, 11, 222},
- dictWord{8, 11, 476},
- dictWord{9, 11, 238},
- dictWord{
- 11,
- 11,
- 516,
- },
- dictWord{11, 11, 575},
- dictWord{15, 11, 109},
- dictWord{146, 11, 100},
- dictWord{6, 0, 308},
- dictWord{9, 0, 673},
- dictWord{7, 10, 138},
- dictWord{
- 7,
- 10,
- 517,
- },
- dictWord{139, 10, 238},
- dictWord{132, 0, 709},
- dictWord{6, 0, 1876},
- dictWord{6, 0, 1895},
- dictWord{9, 0, 994},
- dictWord{9, 0, 1006},
- dictWord{
- 12,
- 0,
- 829,
- },
- dictWord{12, 0, 888},
- dictWord{12, 0, 891},
- dictWord{146, 0, 185},
- dictWord{148, 10, 94},
- dictWord{4, 0, 228},
- dictWord{133, 0, 897},
- dictWord{
- 7,
- 0,
- 1840,
- },
- dictWord{5, 10, 495},
- dictWord{7, 10, 834},
- dictWord{9, 10, 733},
- dictWord{139, 10, 378},
- dictWord{133, 10, 559},
- dictWord{6, 10, 21},
- dictWord{
- 6,
- 10,
- 1737,
- },
- dictWord{7, 10, 1444},
- dictWord{136, 10, 224},
- dictWord{4, 0, 608},
- dictWord{133, 0, 497},
- dictWord{6, 11, 40},
- dictWord{135, 11, 1781},
- dictWord{134, 0, 1573},
- dictWord{135, 0, 2039},
- dictWord{6, 0, 540},
- dictWord{136, 0, 136},
- dictWord{4, 0, 897},
- dictWord{5, 0, 786},
- dictWord{133, 10, 519},
- dictWord{6, 0, 1878},
- dictWord{6, 0, 1884},
- dictWord{9, 0, 938},
- dictWord{9, 0, 948},
- dictWord{9, 0, 955},
- dictWord{9, 0, 973},
- dictWord{9, 0, 1012},
- dictWord{
- 12,
- 0,
- 895,
- },
- dictWord{12, 0, 927},
- dictWord{143, 0, 254},
- dictWord{134, 0, 1469},
- dictWord{133, 0, 999},
- dictWord{4, 0, 299},
- dictWord{135, 0, 1004},
- dictWord{
- 4,
- 0,
- 745,
- },
- dictWord{133, 0, 578},
- dictWord{136, 11, 574},
- dictWord{133, 0, 456},
- dictWord{134, 0, 1457},
- dictWord{7, 0, 1679},
- dictWord{132, 10, 402},
- dictWord{7, 0, 693},
- dictWord{8, 0, 180},
- dictWord{12, 0, 163},
- dictWord{8, 10, 323},
- dictWord{136, 10, 479},
- dictWord{11, 10, 580},
- dictWord{142, 10, 201},
- dictWord{5, 10, 59},
- dictWord{135, 10, 672},
- dictWord{132, 11, 354},
- dictWord{146, 10, 34},
- dictWord{4, 0, 755},
- dictWord{135, 11, 1558},
- dictWord{
- 7,
- 0,
- 1740,
- },
- dictWord{146, 0, 48},
- dictWord{4, 10, 85},
- dictWord{135, 10, 549},
- dictWord{139, 0, 338},
- dictWord{133, 10, 94},
- dictWord{134, 0, 1091},
- dictWord{135, 11, 469},
- dictWord{12, 0, 695},
- dictWord{12, 0, 704},
- dictWord{20, 0, 113},
- dictWord{5, 11, 830},
- dictWord{14, 11, 338},
- dictWord{148, 11, 81},
- dictWord{135, 0, 1464},
- dictWord{6, 10, 11},
- dictWord{135, 10, 187},
- dictWord{135, 0, 975},
- dictWord{13, 0, 335},
- dictWord{132, 10, 522},
- dictWord{
- 134,
- 0,
- 1979,
- },
- dictWord{5, 11, 496},
- dictWord{135, 11, 203},
- dictWord{4, 10, 52},
- dictWord{135, 10, 661},
- dictWord{7, 0, 1566},
- dictWord{8, 0, 269},
- dictWord{
- 9,
- 0,
- 212,
- },
- dictWord{9, 0, 718},
- dictWord{14, 0, 15},
- dictWord{14, 0, 132},
- dictWord{142, 0, 227},
- dictWord{4, 0, 890},
- dictWord{5, 0, 805},
- dictWord{5, 0, 819},
- dictWord{
- 5,
- 0,
- 961,
- },
- dictWord{6, 0, 396},
- dictWord{6, 0, 1631},
- dictWord{6, 0, 1678},
- dictWord{7, 0, 1967},
- dictWord{7, 0, 2041},
- dictWord{9, 0, 630},
- dictWord{11, 0, 8},
- dictWord{11, 0, 1019},
- dictWord{12, 0, 176},
- dictWord{13, 0, 225},
- dictWord{14, 0, 292},
- dictWord{21, 0, 24},
- dictWord{4, 10, 383},
- dictWord{133, 10, 520},
- dictWord{134, 11, 547},
- dictWord{135, 11, 1748},
- dictWord{5, 11, 88},
- dictWord{137, 11, 239},
- dictWord{146, 11, 128},
- dictWord{7, 11, 650},
- dictWord{
- 135,
- 11,
- 1310,
- },
- dictWord{4, 10, 281},
- dictWord{5, 10, 38},
- dictWord{7, 10, 194},
- dictWord{7, 10, 668},
- dictWord{7, 10, 1893},
- dictWord{137, 10, 397},
- dictWord{135, 0, 1815},
- dictWord{9, 10, 635},
- dictWord{139, 10, 559},
- dictWord{7, 0, 1505},
- dictWord{10, 0, 190},
- dictWord{10, 0, 634},
- dictWord{11, 0, 792},
- dictWord{12, 0, 358},
- dictWord{140, 0, 447},
- dictWord{5, 0, 0},
- dictWord{6, 0, 536},
- dictWord{7, 0, 604},
- dictWord{13, 0, 445},
- dictWord{145, 0, 126},
- dictWord{
- 7,
- 11,
- 1076,
- },
- dictWord{9, 11, 80},
- dictWord{11, 11, 78},
- dictWord{11, 11, 421},
- dictWord{11, 11, 534},
- dictWord{140, 11, 545},
- dictWord{8, 0, 966},
- dictWord{
- 10,
- 0,
- 1023,
- },
- dictWord{14, 11, 369},
- dictWord{146, 11, 72},
- dictWord{135, 11, 1641},
- dictWord{6, 0, 232},
- dictWord{6, 0, 412},
- dictWord{7, 0, 1074},
- dictWord{
- 8,
- 0,
- 9,
- },
- dictWord{8, 0, 157},
- dictWord{8, 0, 786},
- dictWord{9, 0, 196},
- dictWord{9, 0, 352},
- dictWord{9, 0, 457},
- dictWord{10, 0, 337},
- dictWord{11, 0, 232},
- dictWord{
- 11,
- 0,
- 877,
- },
- dictWord{12, 0, 480},
- dictWord{140, 0, 546},
- dictWord{135, 0, 958},
- dictWord{4, 0, 382},
- dictWord{136, 0, 579},
- dictWord{4, 0, 212},
- dictWord{
- 135,
- 0,
- 1206,
- },
- dictWord{4, 11, 497},
- dictWord{5, 11, 657},
- dictWord{135, 11, 1584},
- dictWord{132, 0, 681},
- dictWord{8, 0, 971},
- dictWord{138, 0, 965},
- dictWord{
- 5,
- 10,
- 448,
- },
- dictWord{136, 10, 535},
- dictWord{14, 0, 16},
- dictWord{146, 0, 44},
- dictWord{11, 0, 584},
- dictWord{11, 0, 616},
- dictWord{14, 0, 275},
- dictWord{
- 11,
- 11,
- 584,
- },
- dictWord{11, 11, 616},
- dictWord{142, 11, 275},
- dictWord{136, 11, 13},
- dictWord{7, 10, 610},
- dictWord{135, 10, 1501},
- dictWord{7, 11, 642},
- dictWord{8, 11, 250},
- dictWord{11, 11, 123},
- dictWord{11, 11, 137},
- dictWord{13, 11, 48},
- dictWord{142, 11, 95},
- dictWord{133, 0, 655},
- dictWord{17, 0, 67},
- dictWord{147, 0, 74},
- dictWord{134, 0, 751},
- dictWord{134, 0, 1967},
- dictWord{6, 0, 231},
- dictWord{136, 0, 423},
- dictWord{5, 0, 300},
- dictWord{138, 0, 1016},
- dictWord{4, 10, 319},
- dictWord{5, 10, 699},
- dictWord{138, 10, 673},
- dictWord{6, 0, 237},
- dictWord{7, 0, 611},
- dictWord{8, 0, 100},
- dictWord{9, 0, 416},
- dictWord{
- 11,
- 0,
- 335,
- },
- dictWord{12, 0, 173},
- dictWord{18, 0, 101},
- dictWord{6, 10, 336},
- dictWord{8, 10, 552},
- dictWord{9, 10, 285},
- dictWord{10, 10, 99},
- dictWord{
- 139,
- 10,
- 568,
- },
- dictWord{134, 0, 1370},
- dictWord{7, 10, 1406},
- dictWord{9, 10, 218},
- dictWord{141, 10, 222},
- dictWord{133, 10, 256},
- dictWord{
- 135,
- 0,
- 1208,
- },
- dictWord{14, 11, 213},
- dictWord{148, 11, 38},
- dictWord{6, 0, 1219},
- dictWord{135, 11, 1642},
- dictWord{13, 0, 417},
- dictWord{14, 0, 129},
- dictWord{143, 0, 15},
- dictWord{10, 11, 545},
- dictWord{140, 11, 301},
- dictWord{17, 10, 39},
- dictWord{148, 10, 36},
- dictWord{133, 0, 199},
- dictWord{4, 11, 904},
- dictWord{133, 11, 794},
- dictWord{12, 0, 427},
- dictWord{146, 0, 38},
- dictWord{134, 0, 949},
- dictWord{8, 0, 665},
- dictWord{135, 10, 634},
- dictWord{
- 132,
- 10,
- 618,
- },
- dictWord{135, 10, 259},
- dictWord{132, 10, 339},
- dictWord{133, 11, 761},
- dictWord{141, 10, 169},
- dictWord{132, 10, 759},
- dictWord{5, 0, 688},
- dictWord{7, 0, 539},
- dictWord{135, 0, 712},
- dictWord{7, 11, 386},
- dictWord{138, 11, 713},
- dictWord{134, 0, 1186},
- dictWord{6, 11, 7},
- dictWord{6, 11, 35},
- dictWord{
- 7,
- 11,
- 147,
- },
- dictWord{7, 11, 1069},
- dictWord{7, 11, 1568},
- dictWord{7, 11, 1575},
- dictWord{7, 11, 1917},
- dictWord{8, 11, 43},
- dictWord{8, 11, 208},
- dictWord{
- 9,
- 11,
- 128,
- },
- dictWord{9, 11, 866},
- dictWord{10, 11, 20},
- dictWord{11, 11, 981},
- dictWord{147, 11, 33},
- dictWord{7, 11, 893},
- dictWord{8, 10, 482},
- dictWord{141, 11, 424},
- dictWord{6, 0, 312},
- dictWord{6, 0, 1715},
- dictWord{10, 0, 584},
- dictWord{11, 0, 546},
- dictWord{11, 0, 692},
- dictWord{12, 0, 259},
- dictWord{
- 12,
- 0,
- 295,
- },
- dictWord{13, 0, 46},
- dictWord{141, 0, 154},
- dictWord{5, 10, 336},
- dictWord{6, 10, 341},
- dictWord{6, 10, 478},
- dictWord{6, 10, 1763},
- dictWord{
- 136,
- 10,
- 386,
- },
- dictWord{137, 0, 151},
- dictWord{132, 0, 588},
- dictWord{152, 0, 4},
- dictWord{6, 11, 322},
- dictWord{9, 11, 552},
- dictWord{11, 11, 274},
- dictWord{
- 13,
- 11,
- 209,
- },
- dictWord{13, 11, 499},
- dictWord{14, 11, 85},
- dictWord{15, 11, 126},
- dictWord{145, 11, 70},
- dictWord{135, 10, 73},
- dictWord{4, 0, 231},
- dictWord{
- 5,
- 0,
- 61,
- },
- dictWord{6, 0, 104},
- dictWord{7, 0, 729},
- dictWord{7, 0, 964},
- dictWord{7, 0, 1658},
- dictWord{140, 0, 414},
- dictWord{6, 0, 263},
- dictWord{138, 0, 757},
- dictWord{135, 10, 1971},
- dictWord{4, 0, 612},
- dictWord{133, 0, 561},
- dictWord{132, 0, 320},
- dictWord{135, 10, 1344},
- dictWord{8, 11, 83},
- dictWord{
- 8,
- 11,
- 817,
- },
- dictWord{9, 11, 28},
- dictWord{9, 11, 29},
- dictWord{9, 11, 885},
- dictWord{10, 11, 387},
- dictWord{11, 11, 633},
- dictWord{11, 11, 740},
- dictWord{
- 13,
- 11,
- 235,
- },
- dictWord{13, 11, 254},
- dictWord{15, 11, 143},
- dictWord{143, 11, 146},
- dictWord{5, 10, 396},
- dictWord{134, 10, 501},
- dictWord{140, 11, 49},
- dictWord{132, 0, 225},
- dictWord{4, 10, 929},
- dictWord{5, 10, 799},
- dictWord{8, 10, 46},
- dictWord{136, 10, 740},
- dictWord{4, 0, 405},
- dictWord{7, 0, 817},
- dictWord{
- 14,
- 0,
- 58,
- },
- dictWord{17, 0, 37},
- dictWord{146, 0, 124},
- dictWord{133, 0, 974},
- dictWord{4, 11, 412},
- dictWord{133, 11, 581},
- dictWord{4, 10, 892},
- dictWord{
- 133,
- 10,
- 770,
- },
- dictWord{4, 0, 996},
- dictWord{134, 0, 2026},
- dictWord{4, 0, 527},
- dictWord{5, 0, 235},
- dictWord{7, 0, 1239},
- dictWord{11, 0, 131},
- dictWord{
- 140,
- 0,
- 370,
- },
- dictWord{9, 0, 16},
- dictWord{13, 0, 386},
- dictWord{135, 11, 421},
- dictWord{7, 0, 956},
- dictWord{7, 0, 1157},
- dictWord{7, 0, 1506},
- dictWord{7, 0, 1606},
- dictWord{7, 0, 1615},
- dictWord{7, 0, 1619},
- dictWord{7, 0, 1736},
- dictWord{7, 0, 1775},
- dictWord{8, 0, 590},
- dictWord{9, 0, 324},
- dictWord{9, 0, 736},
- dictWord{
- 9,
- 0,
- 774,
- },
- dictWord{9, 0, 776},
- dictWord{9, 0, 784},
- dictWord{10, 0, 567},
- dictWord{10, 0, 708},
- dictWord{11, 0, 518},
- dictWord{11, 0, 613},
- dictWord{11, 0, 695},
- dictWord{11, 0, 716},
- dictWord{11, 0, 739},
- dictWord{11, 0, 770},
- dictWord{11, 0, 771},
- dictWord{11, 0, 848},
- dictWord{11, 0, 857},
- dictWord{11, 0, 931},
- dictWord{
- 11,
- 0,
- 947,
- },
- dictWord{12, 0, 326},
- dictWord{12, 0, 387},
- dictWord{12, 0, 484},
- dictWord{12, 0, 528},
- dictWord{12, 0, 552},
- dictWord{12, 0, 613},
- dictWord{
- 13,
- 0,
- 189,
- },
- dictWord{13, 0, 256},
- dictWord{13, 0, 340},
- dictWord{13, 0, 432},
- dictWord{13, 0, 436},
- dictWord{13, 0, 440},
- dictWord{13, 0, 454},
- dictWord{14, 0, 174},
- dictWord{14, 0, 220},
- dictWord{14, 0, 284},
- dictWord{14, 0, 390},
- dictWord{145, 0, 121},
- dictWord{135, 10, 158},
- dictWord{9, 0, 137},
- dictWord{138, 0, 221},
- dictWord{4, 11, 110},
- dictWord{10, 11, 415},
- dictWord{10, 11, 597},
- dictWord{142, 11, 206},
- dictWord{141, 11, 496},
- dictWord{135, 11, 205},
- dictWord{
- 151,
- 10,
- 25,
- },
- dictWord{135, 11, 778},
- dictWord{7, 11, 1656},
- dictWord{7, 10, 2001},
- dictWord{9, 11, 369},
- dictWord{10, 11, 338},
- dictWord{10, 11, 490},
- dictWord{11, 11, 154},
- dictWord{11, 11, 545},
- dictWord{11, 11, 775},
- dictWord{13, 11, 77},
- dictWord{141, 11, 274},
- dictWord{4, 11, 444},
- dictWord{
- 10,
- 11,
- 146,
- },
- dictWord{140, 11, 9},
- dictWord{7, 0, 390},
- dictWord{138, 0, 140},
- dictWord{135, 0, 1144},
- dictWord{134, 0, 464},
- dictWord{7, 10, 1461},
- dictWord{
- 140,
- 10,
- 91,
- },
- dictWord{132, 10, 602},
- dictWord{4, 11, 283},
- dictWord{135, 11, 1194},
- dictWord{5, 0, 407},
- dictWord{11, 0, 204},
- dictWord{11, 0, 243},
- dictWord{
- 11,
- 0,
- 489,
- },
- dictWord{12, 0, 293},
- dictWord{19, 0, 37},
- dictWord{20, 0, 73},
- dictWord{150, 0, 38},
- dictWord{7, 0, 1218},
- dictWord{136, 0, 303},
- dictWord{
- 5,
- 0,
- 325,
- },
- dictWord{8, 0, 5},
- dictWord{8, 0, 227},
- dictWord{9, 0, 105},
- dictWord{10, 0, 585},
- dictWord{12, 0, 614},
- dictWord{4, 10, 13},
- dictWord{5, 10, 567},
- dictWord{
- 7,
- 10,
- 1498,
- },
- dictWord{9, 10, 124},
- dictWord{11, 10, 521},
- dictWord{140, 10, 405},
- dictWord{135, 10, 1006},
- dictWord{7, 0, 800},
- dictWord{10, 0, 12},
- dictWord{134, 11, 1720},
- dictWord{135, 0, 1783},
- dictWord{132, 10, 735},
- dictWord{138, 10, 812},
- dictWord{4, 10, 170},
- dictWord{135, 10, 323},
- dictWord{
- 6,
- 0,
- 621,
- },
- dictWord{13, 0, 504},
- dictWord{144, 0, 89},
- dictWord{5, 10, 304},
- dictWord{135, 10, 1403},
- dictWord{137, 11, 216},
- dictWord{6, 0, 920},
- dictWord{
- 6,
- 0,
- 1104,
- },
- dictWord{9, 11, 183},
- dictWord{139, 11, 286},
- dictWord{4, 0, 376},
- dictWord{133, 10, 742},
- dictWord{134, 0, 218},
- dictWord{8, 0, 641},
- dictWord{
- 11,
- 0,
- 388,
- },
- dictWord{140, 0, 580},
- dictWord{7, 0, 454},
- dictWord{7, 0, 782},
- dictWord{8, 0, 768},
- dictWord{140, 0, 686},
- dictWord{137, 11, 33},
- dictWord{
- 133,
- 10,
- 111,
- },
- dictWord{144, 0, 0},
- dictWord{10, 0, 676},
- dictWord{140, 0, 462},
- dictWord{6, 0, 164},
- dictWord{136, 11, 735},
- dictWord{133, 10, 444},
- dictWord{
- 150,
- 0,
- 50,
- },
- dictWord{7, 11, 1862},
- dictWord{12, 11, 491},
- dictWord{12, 11, 520},
- dictWord{13, 11, 383},
- dictWord{14, 11, 244},
- dictWord{146, 11, 12},
- dictWord{
- 5,
- 11,
- 132,
- },
- dictWord{9, 11, 486},
- dictWord{9, 11, 715},
- dictWord{10, 11, 458},
- dictWord{11, 11, 373},
- dictWord{11, 11, 668},
- dictWord{11, 11, 795},
- dictWord{11, 11, 897},
- dictWord{12, 11, 272},
- dictWord{12, 11, 424},
- dictWord{12, 11, 539},
- dictWord{12, 11, 558},
- dictWord{14, 11, 245},
- dictWord{
- 14,
- 11,
- 263,
- },
- dictWord{14, 11, 264},
- dictWord{14, 11, 393},
- dictWord{142, 11, 403},
- dictWord{8, 10, 123},
- dictWord{15, 10, 6},
- dictWord{144, 10, 7},
- dictWord{
- 6,
- 0,
- 285,
- },
- dictWord{8, 0, 654},
- dictWord{11, 0, 749},
- dictWord{12, 0, 190},
- dictWord{12, 0, 327},
- dictWord{13, 0, 120},
- dictWord{13, 0, 121},
- dictWord{13, 0, 327},
- dictWord{15, 0, 47},
- dictWord{146, 0, 40},
- dictWord{5, 11, 8},
- dictWord{6, 11, 89},
- dictWord{6, 11, 400},
- dictWord{7, 11, 1569},
- dictWord{7, 11, 1623},
- dictWord{
- 7,
- 11,
- 1850,
- },
- dictWord{8, 11, 218},
- dictWord{8, 11, 422},
- dictWord{9, 11, 570},
- dictWord{138, 11, 626},
- dictWord{6, 11, 387},
- dictWord{7, 11, 882},
- dictWord{141, 11, 111},
- dictWord{6, 0, 343},
- dictWord{7, 0, 195},
- dictWord{9, 0, 226},
- dictWord{10, 0, 197},
- dictWord{10, 0, 575},
- dictWord{11, 0, 502},
- dictWord{
- 11,
- 0,
- 899,
- },
- dictWord{6, 11, 224},
- dictWord{7, 11, 877},
- dictWord{137, 11, 647},
- dictWord{5, 10, 937},
- dictWord{135, 10, 100},
- dictWord{135, 11, 790},
- dictWord{150, 0, 29},
- dictWord{147, 0, 8},
- dictWord{134, 0, 1812},
- dictWord{149, 0, 8},
- dictWord{135, 11, 394},
- dictWord{7, 0, 1125},
- dictWord{9, 0, 143},
- dictWord{
- 11,
- 0,
- 61,
- },
- dictWord{14, 0, 405},
- dictWord{150, 0, 21},
- dictWord{10, 11, 755},
- dictWord{147, 11, 29},
- dictWord{9, 11, 378},
- dictWord{141, 11, 162},
- dictWord{135, 10, 922},
- dictWord{5, 10, 619},
- dictWord{133, 10, 698},
- dictWord{134, 0, 1327},
- dictWord{6, 0, 1598},
- dictWord{137, 0, 575},
- dictWord{
- 9,
- 11,
- 569,
- },
- dictWord{12, 11, 12},
- dictWord{12, 11, 81},
- dictWord{12, 11, 319},
- dictWord{13, 11, 69},
- dictWord{14, 11, 259},
- dictWord{16, 11, 87},
- dictWord{
- 17,
- 11,
- 1,
- },
- dictWord{17, 11, 21},
- dictWord{17, 11, 24},
- dictWord{18, 11, 15},
- dictWord{18, 11, 56},
- dictWord{18, 11, 59},
- dictWord{18, 11, 127},
- dictWord{18, 11, 154},
- dictWord{19, 11, 19},
- dictWord{148, 11, 31},
- dictWord{6, 0, 895},
- dictWord{135, 11, 1231},
- dictWord{5, 0, 959},
- dictWord{7, 11, 124},
- dictWord{136, 11, 38},
- dictWord{5, 11, 261},
- dictWord{7, 11, 78},
- dictWord{7, 11, 199},
- dictWord{8, 11, 815},
- dictWord{9, 11, 126},
- dictWord{138, 11, 342},
- dictWord{5, 10, 917},
- dictWord{134, 10, 1659},
- dictWord{7, 0, 1759},
- dictWord{5, 11, 595},
- dictWord{135, 11, 1863},
- dictWord{136, 0, 173},
- dictWord{134, 0, 266},
- dictWord{
- 142,
- 0,
- 261,
- },
- dictWord{132, 11, 628},
- dictWord{5, 10, 251},
- dictWord{5, 10, 956},
- dictWord{8, 10, 268},
- dictWord{9, 10, 214},
- dictWord{146, 10, 142},
- dictWord{
- 7,
- 11,
- 266,
- },
- dictWord{136, 11, 804},
- dictWord{135, 11, 208},
- dictWord{6, 11, 79},
- dictWord{7, 11, 1021},
- dictWord{135, 11, 1519},
- dictWord{11, 11, 704},
- dictWord{141, 11, 396},
- dictWord{5, 10, 346},
- dictWord{5, 10, 711},
- dictWord{136, 10, 390},
- dictWord{136, 11, 741},
- dictWord{134, 11, 376},
- dictWord{
- 134,
- 0,
- 1427,
- },
- dictWord{6, 0, 1033},
- dictWord{6, 0, 1217},
- dictWord{136, 0, 300},
- dictWord{133, 10, 624},
- dictWord{6, 11, 100},
- dictWord{7, 11, 244},
- dictWord{
- 7,
- 11,
- 632,
- },
- dictWord{7, 11, 1609},
- dictWord{8, 11, 178},
- dictWord{8, 11, 638},
- dictWord{141, 11, 58},
- dictWord{6, 0, 584},
- dictWord{5, 10, 783},
- dictWord{
- 7,
- 10,
- 1998,
- },
- dictWord{135, 10, 2047},
- dictWord{5, 0, 427},
- dictWord{5, 0, 734},
- dictWord{7, 0, 478},
- dictWord{136, 0, 52},
- dictWord{7, 0, 239},
- dictWord{
- 11,
- 0,
- 217,
- },
- dictWord{142, 0, 165},
- dictWord{134, 0, 1129},
- dictWord{6, 0, 168},
- dictWord{6, 0, 1734},
- dictWord{7, 0, 20},
- dictWord{7, 0, 1056},
- dictWord{8, 0, 732},
- dictWord{9, 0, 406},
- dictWord{9, 0, 911},
- dictWord{138, 0, 694},
- dictWord{132, 10, 594},
- dictWord{133, 11, 791},
- dictWord{7, 11, 686},
- dictWord{8, 11, 33},
- dictWord{8, 11, 238},
- dictWord{10, 11, 616},
- dictWord{11, 11, 467},
- dictWord{11, 11, 881},
- dictWord{13, 11, 217},
- dictWord{13, 11, 253},
- dictWord{
- 142,
- 11,
- 268,
- },
- dictWord{137, 11, 476},
- dictWord{134, 0, 418},
- dictWord{133, 0, 613},
- dictWord{132, 0, 632},
- dictWord{132, 11, 447},
- dictWord{7, 0, 32},
- dictWord{
- 7,
- 0,
- 984,
- },
- dictWord{8, 0, 85},
- dictWord{8, 0, 709},
- dictWord{9, 0, 579},
- dictWord{9, 0, 847},
- dictWord{9, 0, 856},
- dictWord{10, 0, 799},
- dictWord{11, 0, 258},
- dictWord{
- 11,
- 0,
- 1007,
- },
- dictWord{12, 0, 331},
- dictWord{12, 0, 615},
- dictWord{13, 0, 188},
- dictWord{13, 0, 435},
- dictWord{14, 0, 8},
- dictWord{15, 0, 165},
- dictWord{
- 16,
- 0,
- 27,
- },
- dictWord{20, 0, 40},
- dictWord{144, 11, 35},
- dictWord{4, 11, 128},
- dictWord{5, 11, 415},
- dictWord{6, 11, 462},
- dictWord{7, 11, 294},
- dictWord{7, 11, 578},
- dictWord{10, 11, 710},
- dictWord{139, 11, 86},
- dictWord{5, 0, 694},
- dictWord{136, 0, 909},
- dictWord{7, 0, 1109},
- dictWord{11, 0, 7},
- dictWord{5, 10, 37},
- dictWord{
- 6,
- 10,
- 39,
- },
- dictWord{6, 10, 451},
- dictWord{7, 10, 218},
- dictWord{7, 10, 1166},
- dictWord{7, 10, 1687},
- dictWord{8, 10, 662},
- dictWord{144, 10, 2},
- dictWord{
- 136,
- 11,
- 587,
- },
- dictWord{6, 11, 427},
- dictWord{7, 11, 1018},
- dictWord{138, 11, 692},
- dictWord{4, 11, 195},
- dictWord{6, 10, 508},
- dictWord{135, 11, 802},
- dictWord{4, 0, 167},
- dictWord{135, 0, 82},
- dictWord{5, 0, 62},
- dictWord{6, 0, 24},
- dictWord{6, 0, 534},
- dictWord{7, 0, 74},
- dictWord{7, 0, 678},
- dictWord{7, 0, 684},
- dictWord{
- 7,
- 0,
- 1043,
- },
- dictWord{7, 0, 1072},
- dictWord{8, 0, 280},
- dictWord{8, 0, 541},
- dictWord{8, 0, 686},
- dictWord{9, 0, 258},
- dictWord{10, 0, 519},
- dictWord{11, 0, 252},
- dictWord{140, 0, 282},
- dictWord{138, 0, 33},
- dictWord{4, 0, 359},
- dictWord{133, 11, 738},
- dictWord{7, 0, 980},
- dictWord{9, 0, 328},
- dictWord{13, 0, 186},
- dictWord{13, 0, 364},
- dictWord{7, 10, 635},
- dictWord{7, 10, 796},
- dictWord{8, 10, 331},
- dictWord{9, 10, 330},
- dictWord{9, 10, 865},
- dictWord{10, 10, 119},
- dictWord{
- 10,
- 10,
- 235,
- },
- dictWord{11, 10, 111},
- dictWord{11, 10, 129},
- dictWord{11, 10, 240},
- dictWord{12, 10, 31},
- dictWord{12, 10, 66},
- dictWord{12, 10, 222},
- dictWord{12, 10, 269},
- dictWord{12, 10, 599},
- dictWord{12, 10, 684},
- dictWord{12, 10, 689},
- dictWord{12, 10, 691},
- dictWord{142, 10, 345},
- dictWord{
- 137,
- 10,
- 527,
- },
- dictWord{6, 0, 596},
- dictWord{7, 0, 585},
- dictWord{135, 10, 702},
- dictWord{134, 11, 1683},
- dictWord{133, 0, 211},
- dictWord{6, 0, 145},
- dictWord{
- 141,
- 0,
- 336,
- },
- dictWord{134, 0, 1130},
- dictWord{7, 0, 873},
- dictWord{6, 10, 37},
- dictWord{7, 10, 1666},
- dictWord{8, 10, 195},
- dictWord{8, 10, 316},
- dictWord{
- 9,
- 10,
- 178,
- },
- dictWord{9, 10, 276},
- dictWord{9, 10, 339},
- dictWord{9, 10, 536},
- dictWord{10, 10, 102},
- dictWord{10, 10, 362},
- dictWord{10, 10, 785},
- dictWord{
- 11,
- 10,
- 55,
- },
- dictWord{11, 10, 149},
- dictWord{11, 10, 773},
- dictWord{13, 10, 416},
- dictWord{13, 10, 419},
- dictWord{14, 10, 38},
- dictWord{14, 10, 41},
- dictWord{
- 142,
- 10,
- 210,
- },
- dictWord{8, 0, 840},
- dictWord{136, 0, 841},
- dictWord{132, 0, 263},
- dictWord{5, 11, 3},
- dictWord{8, 11, 578},
- dictWord{9, 11, 118},
- dictWord{
- 10,
- 11,
- 705,
- },
- dictWord{12, 11, 383},
- dictWord{141, 11, 279},
- dictWord{132, 0, 916},
- dictWord{133, 11, 229},
- dictWord{133, 10, 645},
- dictWord{15, 0, 155},
- dictWord{16, 0, 79},
- dictWord{8, 11, 102},
- dictWord{10, 11, 578},
- dictWord{10, 11, 672},
- dictWord{12, 11, 496},
- dictWord{13, 11, 408},
- dictWord{14, 11, 121},
- dictWord{145, 11, 106},
- dictWord{4, 0, 599},
- dictWord{5, 0, 592},
- dictWord{6, 0, 1634},
- dictWord{7, 0, 5},
- dictWord{7, 0, 55},
- dictWord{7, 0, 67},
- dictWord{7, 0, 97},
- dictWord{7, 0, 691},
- dictWord{7, 0, 979},
- dictWord{7, 0, 1600},
- dictWord{7, 0, 1697},
- dictWord{8, 0, 207},
- dictWord{8, 0, 214},
- dictWord{8, 0, 231},
- dictWord{8, 0, 294},
- dictWord{8, 0, 336},
- dictWord{8, 0, 428},
- dictWord{8, 0, 471},
- dictWord{8, 0, 622},
- dictWord{8, 0, 626},
- dictWord{8, 0, 679},
- dictWord{8, 0, 759},
- dictWord{8, 0, 829},
- dictWord{9, 0, 11},
- dictWord{9, 0, 246},
- dictWord{9, 0, 484},
- dictWord{9, 0, 573},
- dictWord{9, 0, 706},
- dictWord{9, 0, 762},
- dictWord{9, 0, 798},
- dictWord{9, 0, 855},
- dictWord{9, 0, 870},
- dictWord{9, 0, 912},
- dictWord{10, 0, 303},
- dictWord{10, 0, 335},
- dictWord{10, 0, 424},
- dictWord{10, 0, 461},
- dictWord{10, 0, 543},
- dictWord{
- 10,
- 0,
- 759,
- },
- dictWord{10, 0, 814},
- dictWord{11, 0, 59},
- dictWord{11, 0, 199},
- dictWord{11, 0, 235},
- dictWord{11, 0, 590},
- dictWord{11, 0, 631},
- dictWord{11, 0, 929},
- dictWord{11, 0, 963},
- dictWord{11, 0, 987},
- dictWord{12, 0, 114},
- dictWord{12, 0, 182},
- dictWord{12, 0, 226},
- dictWord{12, 0, 332},
- dictWord{12, 0, 439},
- dictWord{12, 0, 575},
- dictWord{12, 0, 598},
- dictWord{12, 0, 675},
- dictWord{13, 0, 8},
- dictWord{13, 0, 125},
- dictWord{13, 0, 194},
- dictWord{13, 0, 287},
- dictWord{
- 14,
- 0,
- 197,
- },
- dictWord{14, 0, 383},
- dictWord{15, 0, 53},
- dictWord{17, 0, 63},
- dictWord{19, 0, 46},
- dictWord{19, 0, 98},
- dictWord{19, 0, 106},
- dictWord{148, 0, 85},
- dictWord{
- 7,
- 0,
- 1356,
- },
- dictWord{132, 10, 290},
- dictWord{6, 10, 70},
- dictWord{7, 10, 1292},
- dictWord{10, 10, 762},
- dictWord{139, 10, 288},
- dictWord{150, 11, 55},
- dictWord{4, 0, 593},
- dictWord{8, 11, 115},
- dictWord{8, 11, 350},
- dictWord{9, 11, 489},
- dictWord{10, 11, 128},
- dictWord{11, 11, 306},
- dictWord{12, 11, 373},
- dictWord{14, 11, 30},
- dictWord{17, 11, 79},
- dictWord{147, 11, 80},
- dictWord{135, 11, 1235},
- dictWord{134, 0, 1392},
- dictWord{4, 11, 230},
- dictWord{
- 133,
- 11,
- 702,
- },
- dictWord{147, 0, 126},
- dictWord{7, 10, 131},
- dictWord{7, 10, 422},
- dictWord{8, 10, 210},
- dictWord{140, 10, 573},
- dictWord{134, 0, 1179},
- dictWord{
- 139,
- 11,
- 435,
- },
- dictWord{139, 10, 797},
- dictWord{134, 11, 1728},
- dictWord{4, 0, 162},
- dictWord{18, 11, 26},
- dictWord{19, 11, 42},
- dictWord{20, 11, 43},
- dictWord{21, 11, 0},
- dictWord{23, 11, 27},
- dictWord{152, 11, 14},
- dictWord{132, 10, 936},
- dictWord{6, 0, 765},
- dictWord{5, 10, 453},
- dictWord{134, 10, 441},
- dictWord{133, 0, 187},
- dictWord{135, 0, 1286},
- dictWord{6, 0, 635},
- dictWord{6, 0, 904},
- dictWord{6, 0, 1210},
- dictWord{134, 0, 1489},
- dictWord{4, 0, 215},
- dictWord{
- 8,
- 0,
- 890,
- },
- dictWord{9, 0, 38},
- dictWord{10, 0, 923},
- dictWord{11, 0, 23},
- dictWord{11, 0, 127},
- dictWord{139, 0, 796},
- dictWord{6, 0, 1165},
- dictWord{
- 134,
- 0,
- 1306,
- },
- dictWord{7, 0, 716},
- dictWord{13, 0, 97},
- dictWord{141, 0, 251},
- dictWord{132, 10, 653},
- dictWord{136, 0, 657},
- dictWord{146, 10, 80},
- dictWord{
- 5,
- 11,
- 622,
- },
- dictWord{7, 11, 1032},
- dictWord{11, 11, 26},
- dictWord{11, 11, 213},
- dictWord{11, 11, 707},
- dictWord{12, 11, 380},
- dictWord{13, 11, 226},
- dictWord{141, 11, 355},
- dictWord{6, 0, 299},
- dictWord{5, 11, 70},
- dictWord{6, 11, 334},
- dictWord{9, 11, 171},
- dictWord{11, 11, 637},
- dictWord{12, 11, 202},
- dictWord{14, 11, 222},
- dictWord{145, 11, 42},
- dictWord{142, 0, 134},
- dictWord{4, 11, 23},
- dictWord{5, 11, 313},
- dictWord{5, 11, 1014},
- dictWord{6, 11, 50},
- dictWord{
- 6,
- 11,
- 51,
- },
- dictWord{7, 11, 142},
- dictWord{7, 11, 384},
- dictWord{9, 11, 783},
- dictWord{139, 11, 741},
- dictWord{4, 11, 141},
- dictWord{7, 11, 559},
- dictWord{
- 8,
- 11,
- 640,
- },
- dictWord{9, 11, 460},
- dictWord{12, 11, 183},
- dictWord{141, 11, 488},
- dictWord{136, 11, 614},
- dictWord{7, 10, 1368},
- dictWord{8, 10, 232},
- dictWord{8, 10, 361},
- dictWord{10, 10, 682},
- dictWord{138, 10, 742},
- dictWord{137, 10, 534},
- dictWord{6, 0, 1082},
- dictWord{140, 0, 658},
- dictWord{
- 137,
- 10,
- 27,
- },
- dictWord{135, 0, 2002},
- dictWord{142, 10, 12},
- dictWord{4, 0, 28},
- dictWord{5, 0, 440},
- dictWord{7, 0, 248},
- dictWord{11, 0, 833},
- dictWord{140, 0, 344},
- dictWord{7, 10, 736},
- dictWord{139, 10, 264},
- dictWord{134, 10, 1657},
- dictWord{134, 0, 1654},
- dictWord{138, 0, 531},
- dictWord{5, 11, 222},
- dictWord{
- 9,
- 11,
- 140,
- },
- dictWord{138, 11, 534},
- dictWord{6, 0, 634},
- dictWord{6, 0, 798},
- dictWord{134, 0, 840},
- dictWord{138, 11, 503},
- dictWord{135, 10, 127},
- dictWord{133, 0, 853},
- dictWord{5, 11, 154},
- dictWord{7, 11, 1491},
- dictWord{10, 11, 379},
- dictWord{138, 11, 485},
- dictWord{6, 0, 249},
- dictWord{7, 0, 1234},
- dictWord{139, 0, 573},
- dictWord{133, 11, 716},
- dictWord{7, 11, 1570},
- dictWord{140, 11, 542},
- dictWord{136, 10, 364},
- dictWord{138, 0, 527},
- dictWord{
- 4,
- 11,
- 91,
- },
- dictWord{5, 11, 388},
- dictWord{5, 11, 845},
- dictWord{6, 11, 206},
- dictWord{6, 11, 252},
- dictWord{6, 11, 365},
- dictWord{7, 11, 136},
- dictWord{7, 11, 531},
- dictWord{8, 11, 264},
- dictWord{136, 11, 621},
- dictWord{134, 0, 1419},
- dictWord{135, 11, 1441},
- dictWord{7, 0, 49},
- dictWord{7, 0, 392},
- dictWord{8, 0, 20},
- dictWord{8, 0, 172},
- dictWord{8, 0, 690},
- dictWord{9, 0, 383},
- dictWord{9, 0, 845},
- dictWord{10, 0, 48},
- dictWord{11, 0, 293},
- dictWord{11, 0, 832},
- dictWord{
- 11,
- 0,
- 920,
- },
- dictWord{11, 0, 984},
- dictWord{141, 0, 221},
- dictWord{5, 0, 858},
- dictWord{133, 0, 992},
- dictWord{5, 0, 728},
- dictWord{137, 10, 792},
- dictWord{
- 5,
- 10,
- 909,
- },
- dictWord{9, 10, 849},
- dictWord{138, 10, 805},
- dictWord{7, 0, 525},
- dictWord{7, 0, 1579},
- dictWord{8, 0, 497},
- dictWord{136, 0, 573},
- dictWord{6, 0, 268},
- dictWord{137, 0, 62},
- dictWord{135, 11, 576},
- dictWord{134, 0, 1201},
- dictWord{5, 11, 771},
- dictWord{5, 11, 863},
- dictWord{5, 11, 898},
- dictWord{
- 6,
- 11,
- 1632,
- },
- dictWord{6, 11, 1644},
- dictWord{134, 11, 1780},
- dictWord{133, 11, 331},
- dictWord{7, 0, 193},
- dictWord{7, 0, 1105},
- dictWord{10, 0, 495},
- dictWord{
- 7,
- 10,
- 397,
- },
- dictWord{8, 10, 124},
- dictWord{8, 10, 619},
- dictWord{9, 10, 305},
- dictWord{11, 10, 40},
- dictWord{12, 10, 349},
- dictWord{13, 10, 134},
- dictWord{
- 13,
- 10,
- 295,
- },
- dictWord{14, 10, 155},
- dictWord{15, 10, 120},
- dictWord{146, 10, 105},
- dictWord{138, 0, 106},
- dictWord{6, 0, 859},
- dictWord{5, 11, 107},
- dictWord{
- 7,
- 11,
- 201,
- },
- dictWord{136, 11, 518},
- dictWord{6, 11, 446},
- dictWord{135, 11, 1817},
- dictWord{13, 0, 23},
- dictWord{4, 10, 262},
- dictWord{135, 10, 342},
- dictWord{133, 10, 641},
- dictWord{137, 11, 851},
- dictWord{6, 0, 925},
- dictWord{137, 0, 813},
- dictWord{132, 11, 504},
- dictWord{6, 0, 613},
- dictWord{
- 136,
- 0,
- 223,
- },
- dictWord{4, 10, 99},
- dictWord{6, 10, 250},
- dictWord{6, 10, 346},
- dictWord{8, 10, 127},
- dictWord{138, 10, 81},
- dictWord{136, 0, 953},
- dictWord{
- 132,
- 10,
- 915,
- },
- dictWord{139, 11, 892},
- dictWord{5, 10, 75},
- dictWord{9, 10, 517},
- dictWord{10, 10, 470},
- dictWord{12, 10, 155},
- dictWord{141, 10, 224},
- dictWord{
- 4,
- 0,
- 666,
- },
- dictWord{7, 0, 1017},
- dictWord{7, 11, 996},
- dictWord{138, 11, 390},
- dictWord{5, 11, 883},
- dictWord{133, 11, 975},
- dictWord{14, 10, 83},
- dictWord{
- 142,
- 11,
- 83,
- },
- dictWord{4, 0, 670},
- dictWord{5, 11, 922},
- dictWord{134, 11, 1707},
- dictWord{135, 0, 216},
- dictWord{9, 0, 40},
- dictWord{11, 0, 136},
- dictWord{
- 135,
- 11,
- 787,
- },
- dictWord{5, 10, 954},
- dictWord{5, 11, 993},
- dictWord{7, 11, 515},
- dictWord{137, 11, 91},
- dictWord{139, 0, 259},
- dictWord{7, 0, 1114},
- dictWord{
- 9,
- 0,
- 310,
- },
- dictWord{9, 0, 682},
- dictWord{10, 0, 440},
- dictWord{13, 0, 40},
- dictWord{6, 10, 304},
- dictWord{8, 10, 418},
- dictWord{11, 10, 341},
- dictWord{
- 139,
- 10,
- 675,
- },
- dictWord{14, 0, 296},
- dictWord{9, 10, 410},
- dictWord{139, 10, 425},
- dictWord{10, 11, 377},
- dictWord{12, 11, 363},
- dictWord{13, 11, 68},
- dictWord{
- 13,
- 11,
- 94,
- },
- dictWord{14, 11, 108},
- dictWord{142, 11, 306},
- dictWord{7, 0, 1401},
- dictWord{135, 0, 1476},
- dictWord{4, 0, 296},
- dictWord{6, 0, 475},
- dictWord{
- 7,
- 0,
- 401,
- },
- dictWord{7, 0, 1410},
- dictWord{7, 0, 1594},
- dictWord{7, 0, 1674},
- dictWord{8, 0, 63},
- dictWord{8, 0, 660},
- dictWord{137, 0, 74},
- dictWord{4, 0, 139},
- dictWord{4, 0, 388},
- dictWord{140, 0, 188},
- dictWord{132, 0, 797},
- dictWord{132, 11, 766},
- dictWord{5, 11, 103},
- dictWord{7, 11, 921},
- dictWord{8, 11, 580},
- dictWord{8, 11, 593},
- dictWord{8, 11, 630},
- dictWord{138, 11, 28},
- dictWord{4, 11, 911},
- dictWord{5, 11, 867},
- dictWord{133, 11, 1013},
- dictWord{134, 10, 14},
- dictWord{134, 0, 1572},
- dictWord{134, 10, 1708},
- dictWord{21, 0, 39},
- dictWord{5, 10, 113},
- dictWord{6, 10, 243},
- dictWord{7, 10, 1865},
- dictWord{
- 11,
- 10,
- 161,
- },
- dictWord{16, 10, 37},
- dictWord{145, 10, 99},
- dictWord{7, 11, 1563},
- dictWord{141, 11, 182},
- dictWord{5, 11, 135},
- dictWord{6, 11, 519},
- dictWord{
- 7,
- 11,
- 1722,
- },
- dictWord{10, 11, 271},
- dictWord{11, 11, 261},
- dictWord{145, 11, 54},
- dictWord{132, 10, 274},
- dictWord{134, 0, 1594},
- dictWord{4, 11, 300},
- dictWord{5, 11, 436},
- dictWord{135, 11, 484},
- dictWord{4, 0, 747},
- dictWord{6, 0, 290},
- dictWord{7, 0, 649},
- dictWord{7, 0, 1479},
- dictWord{135, 0, 1583},
- dictWord{133, 11, 535},
- dictWord{147, 11, 82},
- dictWord{133, 0, 232},
- dictWord{137, 0, 887},
- dictWord{135, 10, 166},
- dictWord{136, 0, 521},
- dictWord{4, 0, 14},
- dictWord{7, 0, 472},
- dictWord{7, 0, 1801},
- dictWord{10, 0, 748},
- dictWord{141, 0, 458},
- dictWord{134, 0, 741},
- dictWord{134, 0, 992},
- dictWord{16, 0, 111},
- dictWord{137, 10, 304},
- dictWord{4, 0, 425},
- dictWord{5, 11, 387},
- dictWord{7, 11, 557},
- dictWord{12, 11, 547},
- dictWord{142, 11, 86},
- dictWord{
- 135,
- 11,
- 1747,
- },
- dictWord{5, 10, 654},
- dictWord{135, 11, 1489},
- dictWord{7, 0, 789},
- dictWord{4, 11, 6},
- dictWord{5, 11, 708},
- dictWord{136, 11, 75},
- dictWord{
- 6,
- 10,
- 273,
- },
- dictWord{10, 10, 188},
- dictWord{13, 10, 377},
- dictWord{146, 10, 77},
- dictWord{6, 0, 1593},
- dictWord{4, 11, 303},
- dictWord{7, 11, 619},
- dictWord{
- 10,
- 11,
- 547,
- },
- dictWord{10, 11, 687},
- dictWord{11, 11, 122},
- dictWord{140, 11, 601},
- dictWord{134, 0, 1768},
- dictWord{135, 10, 410},
- dictWord{138, 11, 772},
- dictWord{11, 0, 233},
- dictWord{139, 10, 524},
- dictWord{5, 0, 943},
- dictWord{134, 0, 1779},
- dictWord{134, 10, 1785},
- dictWord{136, 11, 529},
- dictWord{
- 132,
- 0,
- 955,
- },
- dictWord{5, 0, 245},
- dictWord{6, 0, 576},
- dictWord{7, 0, 582},
- dictWord{136, 0, 225},
- dictWord{132, 10, 780},
- dictWord{142, 0, 241},
- dictWord{
- 134,
- 0,
- 1943,
- },
- dictWord{4, 11, 106},
- dictWord{7, 11, 310},
- dictWord{7, 11, 1785},
- dictWord{10, 11, 690},
- dictWord{139, 11, 717},
- dictWord{134, 0, 1284},
- dictWord{5, 11, 890},
- dictWord{133, 11, 988},
- dictWord{6, 11, 626},
- dictWord{142, 11, 431},
- dictWord{10, 11, 706},
- dictWord{145, 11, 32},
- dictWord{
- 137,
- 11,
- 332,
- },
- dictWord{132, 11, 698},
- dictWord{135, 0, 709},
- dictWord{5, 10, 948},
- dictWord{138, 11, 17},
- dictWord{136, 0, 554},
- dictWord{134, 0, 1564},
- dictWord{139, 10, 941},
- dictWord{132, 0, 443},
- dictWord{134, 0, 909},
- dictWord{134, 11, 84},
- dictWord{142, 0, 280},
- dictWord{4, 10, 532},
- dictWord{5, 10, 706},
- dictWord{135, 10, 662},
- dictWord{132, 0, 729},
- dictWord{5, 10, 837},
- dictWord{6, 10, 1651},
- dictWord{139, 10, 985},
- dictWord{135, 10, 1861},
- dictWord{
- 4,
- 0,
- 348,
- },
- dictWord{152, 11, 3},
- dictWord{5, 11, 986},
- dictWord{6, 11, 130},
- dictWord{7, 11, 1582},
- dictWord{8, 11, 458},
- dictWord{10, 11, 101},
- dictWord{
- 10,
- 11,
- 318,
- },
- dictWord{138, 11, 823},
- dictWord{134, 0, 758},
- dictWord{4, 0, 298},
- dictWord{137, 0, 848},
- dictWord{4, 10, 330},
- dictWord{7, 10, 933},
- dictWord{
- 7,
- 10,
- 2012,
- },
- dictWord{136, 10, 292},
- dictWord{7, 11, 1644},
- dictWord{137, 11, 129},
- dictWord{6, 0, 1422},
- dictWord{9, 0, 829},
- dictWord{135, 10, 767},
- dictWord{5, 0, 164},
- dictWord{7, 0, 121},
- dictWord{142, 0, 189},
- dictWord{7, 0, 812},
- dictWord{7, 0, 1261},
- dictWord{7, 0, 1360},
- dictWord{9, 0, 632},
- dictWord{
- 140,
- 0,
- 352,
- },
- dictWord{135, 11, 1788},
- dictWord{139, 0, 556},
- dictWord{135, 11, 997},
- dictWord{145, 10, 114},
- dictWord{4, 0, 172},
- dictWord{9, 0, 611},
- dictWord{10, 0, 436},
- dictWord{12, 0, 673},
- dictWord{13, 0, 255},
- dictWord{137, 10, 883},
- dictWord{11, 0, 530},
- dictWord{138, 10, 274},
- dictWord{133, 0, 844},
- dictWord{134, 0, 984},
- dictWord{13, 0, 232},
- dictWord{18, 0, 35},
- dictWord{4, 10, 703},
- dictWord{135, 10, 207},
- dictWord{132, 10, 571},
- dictWord{9, 0, 263},
- dictWord{10, 0, 147},
- dictWord{138, 0, 492},
- dictWord{7, 11, 1756},
- dictWord{137, 11, 98},
- dictWord{5, 10, 873},
- dictWord{5, 10, 960},
- dictWord{8, 10, 823},
- dictWord{137, 10, 881},
- dictWord{133, 0, 537},
- dictWord{132, 0, 859},
- dictWord{7, 11, 1046},
- dictWord{139, 11, 160},
- dictWord{137, 0, 842},
- dictWord{
- 139,
- 10,
- 283,
- },
- dictWord{5, 10, 33},
- dictWord{6, 10, 470},
- dictWord{139, 10, 424},
- dictWord{6, 11, 45},
- dictWord{7, 11, 433},
- dictWord{8, 11, 129},
- dictWord{
- 9,
- 11,
- 21,
- },
- dictWord{10, 11, 392},
- dictWord{11, 11, 79},
- dictWord{12, 11, 499},
- dictWord{13, 11, 199},
- dictWord{141, 11, 451},
- dictWord{135, 0, 1291},
- dictWord{135, 10, 1882},
- dictWord{7, 11, 558},
- dictWord{136, 11, 353},
- dictWord{134, 0, 1482},
- dictWord{5, 0, 230},
- dictWord{5, 0, 392},
- dictWord{6, 0, 420},
- dictWord{9, 0, 568},
- dictWord{140, 0, 612},
- dictWord{6, 0, 262},
- dictWord{7, 10, 90},
- dictWord{7, 10, 664},
- dictWord{7, 10, 830},
- dictWord{7, 10, 1380},
- dictWord{
- 7,
- 10,
- 2025,
- },
- dictWord{8, 11, 81},
- dictWord{8, 10, 448},
- dictWord{8, 10, 828},
- dictWord{9, 11, 189},
- dictWord{9, 11, 201},
- dictWord{11, 11, 478},
- dictWord{
- 11,
- 11,
- 712,
- },
- dictWord{141, 11, 338},
- dictWord{142, 0, 31},
- dictWord{5, 11, 353},
- dictWord{151, 11, 26},
- dictWord{132, 0, 753},
- dictWord{4, 0, 0},
- dictWord{
- 5,
- 0,
- 41,
- },
- dictWord{7, 0, 1459},
- dictWord{7, 0, 1469},
- dictWord{7, 0, 1859},
- dictWord{9, 0, 549},
- dictWord{139, 0, 905},
- dictWord{9, 10, 417},
- dictWord{
- 137,
- 10,
- 493,
- },
- dictWord{135, 11, 1113},
- dictWord{133, 0, 696},
- dictWord{141, 11, 448},
- dictWord{134, 10, 295},
- dictWord{132, 0, 834},
- dictWord{4, 0, 771},
- dictWord{5, 10, 1019},
- dictWord{6, 11, 25},
- dictWord{7, 11, 855},
- dictWord{7, 11, 1258},
- dictWord{144, 11, 32},
- dictWord{134, 0, 1076},
- dictWord{133, 0, 921},
- dictWord{133, 0, 674},
- dictWord{4, 11, 4},
- dictWord{7, 11, 1118},
- dictWord{7, 11, 1320},
- dictWord{7, 11, 1706},
- dictWord{8, 11, 277},
- dictWord{9, 11, 622},
- dictWord{10, 11, 9},
- dictWord{11, 11, 724},
- dictWord{12, 11, 350},
- dictWord{12, 11, 397},
- dictWord{13, 11, 28},
- dictWord{13, 11, 159},
- dictWord{15, 11, 89},
- dictWord{18, 11, 5},
- dictWord{19, 11, 9},
- dictWord{20, 11, 34},
- dictWord{150, 11, 47},
- dictWord{134, 10, 208},
- dictWord{6, 0, 444},
- dictWord{136, 0, 308},
- dictWord{
- 6,
- 0,
- 180,
- },
- dictWord{7, 0, 1137},
- dictWord{8, 0, 751},
- dictWord{139, 0, 805},
- dictWord{4, 0, 183},
- dictWord{7, 0, 271},
- dictWord{11, 0, 824},
- dictWord{
- 11,
- 0,
- 952,
- },
- dictWord{13, 0, 278},
- dictWord{13, 0, 339},
- dictWord{13, 0, 482},
- dictWord{14, 0, 424},
- dictWord{148, 0, 99},
- dictWord{7, 11, 317},
- dictWord{
- 135,
- 11,
- 569,
- },
- dictWord{4, 0, 19},
- dictWord{5, 0, 477},
- dictWord{5, 0, 596},
- dictWord{6, 0, 505},
- dictWord{7, 0, 1221},
- dictWord{11, 0, 907},
- dictWord{12, 0, 209},
- dictWord{141, 0, 214},
- dictWord{135, 0, 1215},
- dictWord{6, 0, 271},
- dictWord{7, 0, 398},
- dictWord{8, 0, 387},
- dictWord{10, 0, 344},
- dictWord{7, 10, 448},
- dictWord{
- 7,
- 10,
- 1629,
- },
- dictWord{7, 10, 1813},
- dictWord{8, 10, 442},
- dictWord{9, 10, 710},
- dictWord{10, 10, 282},
- dictWord{138, 10, 722},
- dictWord{11, 10, 844},
- dictWord{12, 10, 104},
- dictWord{140, 10, 625},
- dictWord{134, 11, 255},
- dictWord{133, 10, 787},
- dictWord{134, 0, 1645},
- dictWord{11, 11, 956},
- dictWord{
- 151,
- 11,
- 3,
- },
- dictWord{6, 0, 92},
- dictWord{6, 0, 188},
- dictWord{7, 0, 209},
- dictWord{7, 0, 1269},
- dictWord{7, 0, 1524},
- dictWord{7, 0, 1876},
- dictWord{8, 0, 661},
- dictWord{10, 0, 42},
- dictWord{10, 0, 228},
- dictWord{11, 0, 58},
- dictWord{11, 0, 1020},
- dictWord{12, 0, 58},
- dictWord{12, 0, 118},
- dictWord{141, 0, 32},
- dictWord{
- 4,
- 0,
- 459,
- },
- dictWord{133, 0, 966},
- dictWord{4, 11, 536},
- dictWord{7, 11, 1141},
- dictWord{10, 11, 723},
- dictWord{139, 11, 371},
- dictWord{140, 0, 330},
- dictWord{134, 0, 1557},
- dictWord{7, 11, 285},
- dictWord{135, 11, 876},
- dictWord{136, 10, 491},
- dictWord{135, 11, 560},
- dictWord{6, 0, 18},
- dictWord{7, 0, 179},
- dictWord{7, 0, 932},
- dictWord{8, 0, 548},
- dictWord{8, 0, 757},
- dictWord{9, 0, 54},
- dictWord{9, 0, 65},
- dictWord{9, 0, 532},
- dictWord{9, 0, 844},
- dictWord{10, 0, 113},
- dictWord{10, 0, 117},
- dictWord{10, 0, 315},
- dictWord{10, 0, 560},
- dictWord{10, 0, 622},
- dictWord{10, 0, 798},
- dictWord{11, 0, 153},
- dictWord{11, 0, 351},
- dictWord{
- 11,
- 0,
- 375,
- },
- dictWord{12, 0, 78},
- dictWord{12, 0, 151},
- dictWord{12, 0, 392},
- dictWord{12, 0, 666},
- dictWord{14, 0, 248},
- dictWord{143, 0, 23},
- dictWord{
- 6,
- 0,
- 1742,
- },
- dictWord{132, 11, 690},
- dictWord{4, 10, 403},
- dictWord{5, 10, 441},
- dictWord{7, 10, 450},
- dictWord{10, 10, 840},
- dictWord{11, 10, 101},
- dictWord{
- 12,
- 10,
- 193,
- },
- dictWord{141, 10, 430},
- dictWord{133, 0, 965},
- dictWord{134, 0, 182},
- dictWord{10, 0, 65},
- dictWord{10, 0, 488},
- dictWord{138, 0, 497},
- dictWord{135, 11, 1346},
- dictWord{6, 0, 973},
- dictWord{6, 0, 1158},
- dictWord{10, 11, 200},
- dictWord{19, 11, 2},
- dictWord{151, 11, 22},
- dictWord{4, 11, 190},
- dictWord{133, 11, 554},
- dictWord{133, 10, 679},
- dictWord{7, 0, 328},
- dictWord{137, 10, 326},
- dictWord{133, 11, 1001},
- dictWord{9, 0, 588},
- dictWord{
- 138,
- 0,
- 260,
- },
- dictWord{133, 11, 446},
- dictWord{135, 10, 1128},
- dictWord{135, 10, 1796},
- dictWord{147, 11, 119},
- dictWord{134, 0, 1786},
- dictWord{
- 6,
- 0,
- 1328,
- },
- dictWord{6, 0, 1985},
- dictWord{8, 0, 962},
- dictWord{138, 0, 1017},
- dictWord{135, 0, 308},
- dictWord{11, 0, 508},
- dictWord{4, 10, 574},
- dictWord{
- 7,
- 10,
- 350,
- },
- dictWord{7, 10, 1024},
- dictWord{8, 10, 338},
- dictWord{9, 10, 677},
- dictWord{138, 10, 808},
- dictWord{138, 11, 752},
- dictWord{135, 10, 1081},
- dictWord{137, 11, 96},
- dictWord{7, 10, 1676},
- dictWord{135, 10, 2037},
- dictWord{136, 0, 588},
- dictWord{132, 11, 304},
- dictWord{133, 0, 614},
- dictWord{
- 140,
- 0,
- 793,
- },
- dictWord{136, 0, 287},
- dictWord{137, 10, 297},
- dictWord{141, 10, 37},
- dictWord{6, 11, 53},
- dictWord{6, 11, 199},
- dictWord{7, 11, 1408},
- dictWord{
- 8,
- 11,
- 32,
- },
- dictWord{8, 11, 93},
- dictWord{9, 11, 437},
- dictWord{10, 11, 397},
- dictWord{10, 11, 629},
- dictWord{11, 11, 593},
- dictWord{11, 11, 763},
- dictWord{
- 13,
- 11,
- 326,
- },
- dictWord{145, 11, 35},
- dictWord{134, 11, 105},
- dictWord{9, 11, 320},
- dictWord{10, 11, 506},
- dictWord{138, 11, 794},
- dictWord{5, 11, 114},
- dictWord{5, 11, 255},
- dictWord{141, 11, 285},
- dictWord{140, 0, 290},
- dictWord{7, 11, 2035},
- dictWord{8, 11, 19},
- dictWord{9, 11, 89},
- dictWord{138, 11, 831},
- dictWord{134, 0, 1136},
- dictWord{7, 0, 719},
- dictWord{8, 0, 796},
- dictWord{8, 0, 809},
- dictWord{8, 0, 834},
- dictWord{6, 10, 306},
- dictWord{7, 10, 1140},
- dictWord{
- 7,
- 10,
- 1340,
- },
- dictWord{8, 10, 133},
- dictWord{138, 10, 449},
- dictWord{139, 10, 1011},
- dictWord{5, 0, 210},
- dictWord{6, 0, 213},
- dictWord{7, 0, 60},
- dictWord{
- 10,
- 0,
- 364,
- },
- dictWord{139, 0, 135},
- dictWord{5, 0, 607},
- dictWord{8, 0, 326},
- dictWord{136, 0, 490},
- dictWord{138, 11, 176},
- dictWord{132, 0, 701},
- dictWord{
- 5,
- 0,
- 472,
- },
- dictWord{7, 0, 380},
- dictWord{137, 0, 758},
- dictWord{135, 0, 1947},
- dictWord{6, 0, 1079},
- dictWord{138, 0, 278},
- dictWord{138, 11, 391},
- dictWord{
- 5,
- 10,
- 329,
- },
- dictWord{8, 10, 260},
- dictWord{139, 11, 156},
- dictWord{4, 0, 386},
- dictWord{7, 0, 41},
- dictWord{8, 0, 405},
- dictWord{8, 0, 728},
- dictWord{9, 0, 497},
- dictWord{11, 0, 110},
- dictWord{11, 0, 360},
- dictWord{15, 0, 37},
- dictWord{144, 0, 84},
- dictWord{5, 0, 46},
- dictWord{7, 0, 1452},
- dictWord{7, 0, 1480},
- dictWord{
- 8,
- 0,
- 634,
- },
- dictWord{140, 0, 472},
- dictWord{136, 0, 961},
- dictWord{4, 0, 524},
- dictWord{136, 0, 810},
- dictWord{10, 0, 238},
- dictWord{141, 0, 33},
- dictWord{
- 132,
- 10,
- 657,
- },
- dictWord{152, 10, 7},
- dictWord{133, 0, 532},
- dictWord{5, 0, 997},
- dictWord{135, 10, 1665},
- dictWord{7, 11, 594},
- dictWord{7, 11, 851},
- dictWord{
- 7,
- 11,
- 1858,
- },
- dictWord{9, 11, 411},
- dictWord{9, 11, 574},
- dictWord{9, 11, 666},
- dictWord{9, 11, 737},
- dictWord{10, 11, 346},
- dictWord{10, 11, 712},
- dictWord{
- 11,
- 11,
- 246,
- },
- dictWord{11, 11, 432},
- dictWord{11, 11, 517},
- dictWord{11, 11, 647},
- dictWord{11, 11, 679},
- dictWord{11, 11, 727},
- dictWord{12, 11, 304},
- dictWord{12, 11, 305},
- dictWord{12, 11, 323},
- dictWord{12, 11, 483},
- dictWord{12, 11, 572},
- dictWord{12, 11, 593},
- dictWord{12, 11, 602},
- dictWord{
- 13,
- 11,
- 95,
- },
- dictWord{13, 11, 101},
- dictWord{13, 11, 171},
- dictWord{13, 11, 315},
- dictWord{13, 11, 378},
- dictWord{13, 11, 425},
- dictWord{13, 11, 475},
- dictWord{
- 14,
- 11,
- 63,
- },
- dictWord{14, 11, 380},
- dictWord{14, 11, 384},
- dictWord{15, 11, 133},
- dictWord{18, 11, 112},
- dictWord{148, 11, 72},
- dictWord{5, 11, 955},
- dictWord{136, 11, 814},
- dictWord{134, 0, 1301},
- dictWord{5, 10, 66},
- dictWord{7, 10, 1896},
- dictWord{136, 10, 288},
- dictWord{133, 11, 56},
- dictWord{
- 134,
- 10,
- 1643,
- },
- dictWord{6, 0, 1298},
- dictWord{148, 11, 100},
- dictWord{5, 0, 782},
- dictWord{5, 0, 829},
- dictWord{6, 0, 671},
- dictWord{6, 0, 1156},
- dictWord{6, 0, 1738},
- dictWord{137, 11, 621},
- dictWord{4, 0, 306},
- dictWord{5, 0, 570},
- dictWord{7, 0, 1347},
- dictWord{5, 10, 91},
- dictWord{5, 10, 648},
- dictWord{5, 10, 750},
- dictWord{
- 5,
- 10,
- 781,
- },
- dictWord{6, 10, 54},
- dictWord{6, 10, 112},
- dictWord{6, 10, 402},
- dictWord{6, 10, 1732},
- dictWord{7, 10, 315},
- dictWord{7, 10, 749},
- dictWord{
- 7,
- 10,
- 1900,
- },
- dictWord{9, 10, 78},
- dictWord{9, 10, 508},
- dictWord{10, 10, 611},
- dictWord{10, 10, 811},
- dictWord{11, 10, 510},
- dictWord{11, 10, 728},
- dictWord{
- 13,
- 10,
- 36,
- },
- dictWord{14, 10, 39},
- dictWord{16, 10, 83},
- dictWord{17, 10, 124},
- dictWord{148, 10, 30},
- dictWord{8, 10, 570},
- dictWord{9, 11, 477},
- dictWord{
- 141,
- 11,
- 78,
- },
- dictWord{4, 11, 639},
- dictWord{10, 11, 4},
- dictWord{10, 10, 322},
- dictWord{10, 10, 719},
- dictWord{11, 10, 407},
- dictWord{11, 11, 638},
- dictWord{
- 12,
- 11,
- 177,
- },
- dictWord{148, 11, 57},
- dictWord{7, 0, 1823},
- dictWord{139, 0, 693},
- dictWord{7, 0, 759},
- dictWord{5, 11, 758},
- dictWord{8, 10, 125},
- dictWord{
- 8,
- 10,
- 369,
- },
- dictWord{8, 10, 524},
- dictWord{10, 10, 486},
- dictWord{11, 10, 13},
- dictWord{11, 10, 381},
- dictWord{11, 10, 736},
- dictWord{11, 10, 766},
- dictWord{
- 11,
- 10,
- 845,
- },
- dictWord{13, 10, 114},
- dictWord{13, 10, 292},
- dictWord{142, 10, 47},
- dictWord{7, 0, 1932},
- dictWord{6, 10, 1684},
- dictWord{6, 10, 1731},
- dictWord{7, 10, 356},
- dictWord{8, 10, 54},
- dictWord{8, 10, 221},
- dictWord{9, 10, 225},
- dictWord{9, 10, 356},
- dictWord{10, 10, 77},
- dictWord{10, 10, 446},
- dictWord{
- 10,
- 10,
- 731,
- },
- dictWord{12, 10, 404},
- dictWord{141, 10, 491},
- dictWord{135, 11, 552},
- dictWord{135, 11, 1112},
- dictWord{4, 0, 78},
- dictWord{5, 0, 96},
- dictWord{
- 5,
- 0,
- 182,
- },
- dictWord{6, 0, 1257},
- dictWord{7, 0, 1724},
- dictWord{7, 0, 1825},
- dictWord{10, 0, 394},
- dictWord{10, 0, 471},
- dictWord{11, 0, 532},
- dictWord{
- 14,
- 0,
- 340,
- },
- dictWord{145, 0, 88},
- dictWord{139, 11, 328},
- dictWord{135, 0, 1964},
- dictWord{132, 10, 411},
- dictWord{4, 10, 80},
- dictWord{5, 10, 44},
- dictWord{
- 137,
- 11,
- 133,
- },
- dictWord{5, 11, 110},
- dictWord{6, 11, 169},
- dictWord{6, 11, 1702},
- dictWord{7, 11, 400},
- dictWord{8, 11, 538},
- dictWord{9, 11, 184},
- dictWord{
- 9,
- 11,
- 524,
- },
- dictWord{140, 11, 218},
- dictWord{4, 0, 521},
- dictWord{5, 10, 299},
- dictWord{7, 10, 1083},
- dictWord{140, 11, 554},
- dictWord{6, 11, 133},
- dictWord{
- 9,
- 11,
- 353,
- },
- dictWord{12, 11, 628},
- dictWord{146, 11, 79},
- dictWord{6, 0, 215},
- dictWord{7, 0, 584},
- dictWord{7, 0, 1028},
- dictWord{7, 0, 1473},
- dictWord{
- 7,
- 0,
- 1721,
- },
- dictWord{9, 0, 424},
- dictWord{138, 0, 779},
- dictWord{7, 0, 857},
- dictWord{7, 0, 1209},
- dictWord{7, 10, 1713},
- dictWord{9, 10, 537},
- dictWord{
- 10,
- 10,
- 165,
- },
- dictWord{12, 10, 219},
- dictWord{140, 10, 561},
- dictWord{4, 10, 219},
- dictWord{6, 11, 93},
- dictWord{7, 11, 1422},
- dictWord{7, 10, 1761},
- dictWord{
- 7,
- 11,
- 1851,
- },
- dictWord{8, 11, 673},
- dictWord{9, 10, 86},
- dictWord{9, 11, 529},
- dictWord{140, 11, 43},
- dictWord{137, 11, 371},
- dictWord{136, 0, 671},
- dictWord{
- 5,
- 0,
- 328,
- },
- dictWord{135, 0, 918},
- dictWord{132, 0, 529},
- dictWord{9, 11, 25},
- dictWord{10, 11, 467},
- dictWord{138, 11, 559},
- dictWord{4, 11, 335},
- dictWord{
- 135,
- 11,
- 942,
- },
- dictWord{134, 0, 716},
- dictWord{134, 0, 1509},
- dictWord{6, 0, 67},
- dictWord{7, 0, 258},
- dictWord{7, 0, 1630},
- dictWord{9, 0, 354},
- dictWord{
- 9,
- 0,
- 675,
- },
- dictWord{10, 0, 830},
- dictWord{14, 0, 80},
- dictWord{17, 0, 80},
- dictWord{140, 10, 428},
- dictWord{134, 0, 1112},
- dictWord{6, 0, 141},
- dictWord{7, 0, 225},
- dictWord{9, 0, 59},
- dictWord{9, 0, 607},
- dictWord{10, 0, 312},
- dictWord{11, 0, 687},
- dictWord{12, 0, 555},
- dictWord{13, 0, 373},
- dictWord{13, 0, 494},
- dictWord{
- 148,
- 0,
- 58,
- },
- dictWord{133, 10, 514},
- dictWord{8, 11, 39},
- dictWord{10, 11, 773},
- dictWord{11, 11, 84},
- dictWord{12, 11, 205},
- dictWord{142, 11, 1},
- dictWord{
- 8,
- 0,
- 783,
- },
- dictWord{5, 11, 601},
- dictWord{133, 11, 870},
- dictWord{136, 11, 594},
- dictWord{4, 10, 55},
- dictWord{5, 10, 301},
- dictWord{6, 10, 571},
- dictWord{
- 14,
- 10,
- 49,
- },
- dictWord{146, 10, 102},
- dictWord{132, 11, 181},
- dictWord{134, 11, 1652},
- dictWord{133, 10, 364},
- dictWord{4, 11, 97},
- dictWord{5, 11, 147},
- dictWord{6, 11, 286},
- dictWord{7, 11, 1362},
- dictWord{141, 11, 176},
- dictWord{4, 10, 76},
- dictWord{7, 10, 1550},
- dictWord{9, 10, 306},
- dictWord{9, 10, 430},
- dictWord{9, 10, 663},
- dictWord{10, 10, 683},
- dictWord{11, 10, 427},
- dictWord{11, 10, 753},
- dictWord{12, 10, 334},
- dictWord{12, 10, 442},
- dictWord{
- 14,
- 10,
- 258,
- },
- dictWord{14, 10, 366},
- dictWord{143, 10, 131},
- dictWord{137, 10, 52},
- dictWord{6, 0, 955},
- dictWord{134, 0, 1498},
- dictWord{6, 11, 375},
- dictWord{
- 7,
- 11,
- 169,
- },
- dictWord{7, 11, 254},
- dictWord{136, 11, 780},
- dictWord{7, 0, 430},
- dictWord{11, 0, 46},
- dictWord{14, 0, 343},
- dictWord{142, 11, 343},
- dictWord{
- 135,
- 0,
- 1183,
- },
- dictWord{5, 0, 602},
- dictWord{7, 0, 2018},
- dictWord{9, 0, 418},
- dictWord{9, 0, 803},
- dictWord{135, 11, 1447},
- dictWord{8, 0, 677},
- dictWord{
- 135,
- 11,
- 1044,
- },
- dictWord{139, 11, 285},
- dictWord{4, 10, 656},
- dictWord{135, 10, 779},
- dictWord{135, 10, 144},
- dictWord{5, 11, 629},
- dictWord{
- 135,
- 11,
- 1549,
- },
- dictWord{135, 10, 1373},
- dictWord{138, 11, 209},
- dictWord{7, 10, 554},
- dictWord{7, 10, 605},
- dictWord{141, 10, 10},
- dictWord{5, 10, 838},
- dictWord{
- 5,
- 10,
- 841,
- },
- dictWord{134, 10, 1649},
- dictWord{133, 10, 1012},
- dictWord{6, 0, 1357},
- dictWord{134, 0, 1380},
- dictWord{144, 0, 53},
- dictWord{6, 0, 590},
- dictWord{7, 10, 365},
- dictWord{7, 10, 1357},
- dictWord{7, 10, 1497},
- dictWord{8, 10, 154},
- dictWord{141, 10, 281},
- dictWord{133, 10, 340},
- dictWord{
- 132,
- 11,
- 420,
- },
- dictWord{135, 0, 329},
- dictWord{147, 11, 32},
- dictWord{4, 0, 469},
- dictWord{10, 11, 429},
- dictWord{139, 10, 495},
- dictWord{8, 10, 261},
- dictWord{
- 9,
- 10,
- 144,
- },
- dictWord{9, 10, 466},
- dictWord{10, 10, 370},
- dictWord{12, 10, 470},
- dictWord{13, 10, 144},
- dictWord{142, 10, 348},
- dictWord{142, 0, 460},
- dictWord{4, 11, 325},
- dictWord{9, 10, 897},
- dictWord{138, 11, 125},
- dictWord{6, 0, 1743},
- dictWord{6, 10, 248},
- dictWord{9, 10, 546},
- dictWord{10, 10, 535},
- dictWord{11, 10, 681},
- dictWord{141, 10, 135},
- dictWord{4, 0, 990},
- dictWord{5, 0, 929},
- dictWord{6, 0, 340},
- dictWord{8, 0, 376},
- dictWord{8, 0, 807},
- dictWord{
- 8,
- 0,
- 963,
- },
- dictWord{8, 0, 980},
- dictWord{138, 0, 1007},
- dictWord{134, 0, 1603},
- dictWord{140, 0, 250},
- dictWord{4, 11, 714},
- dictWord{133, 11, 469},
- dictWord{134, 10, 567},
- dictWord{136, 10, 445},
- dictWord{5, 0, 218},
- dictWord{7, 0, 1610},
- dictWord{8, 0, 646},
- dictWord{10, 0, 83},
- dictWord{11, 11, 138},
- dictWord{140, 11, 40},
- dictWord{7, 0, 1512},
- dictWord{135, 0, 1794},
- dictWord{135, 11, 1216},
- dictWord{11, 0, 0},
- dictWord{16, 0, 78},
- dictWord{132, 11, 718},
- dictWord{133, 0, 571},
- dictWord{132, 0, 455},
- dictWord{134, 0, 1012},
- dictWord{5, 11, 124},
- dictWord{5, 11, 144},
- dictWord{6, 11, 548},
- dictWord{7, 11, 15},
- dictWord{7, 11, 153},
- dictWord{137, 11, 629},
- dictWord{142, 11, 10},
- dictWord{6, 11, 75},
- dictWord{7, 11, 1531},
- dictWord{8, 11, 416},
- dictWord{9, 11, 240},
- dictWord{9, 11, 275},
- dictWord{10, 11, 100},
- dictWord{11, 11, 658},
- dictWord{11, 11, 979},
- dictWord{12, 11, 86},
- dictWord{13, 11, 468},
- dictWord{14, 11, 66},
- dictWord{14, 11, 207},
- dictWord{15, 11, 20},
- dictWord{15, 11, 25},
- dictWord{144, 11, 58},
- dictWord{132, 10, 577},
- dictWord{5, 11, 141},
- dictWord{
- 5,
- 11,
- 915,
- },
- dictWord{6, 11, 1783},
- dictWord{7, 11, 211},
- dictWord{7, 11, 698},
- dictWord{7, 11, 1353},
- dictWord{9, 11, 83},
- dictWord{9, 11, 281},
- dictWord{
- 10,
- 11,
- 376,
- },
- dictWord{10, 11, 431},
- dictWord{11, 11, 543},
- dictWord{12, 11, 664},
- dictWord{13, 11, 280},
- dictWord{13, 11, 428},
- dictWord{14, 11, 61},
- dictWord{
- 14,
- 11,
- 128,
- },
- dictWord{17, 11, 52},
- dictWord{145, 11, 81},
- dictWord{6, 0, 161},
- dictWord{7, 0, 372},
- dictWord{137, 0, 597},
- dictWord{132, 0, 349},
- dictWord{
- 10,
- 11,
- 702,
- },
- dictWord{139, 11, 245},
- dictWord{134, 0, 524},
- dictWord{134, 10, 174},
- dictWord{6, 0, 432},
- dictWord{9, 0, 751},
- dictWord{139, 0, 322},
- dictWord{147, 11, 94},
- dictWord{4, 11, 338},
- dictWord{133, 11, 400},
- dictWord{5, 0, 468},
- dictWord{10, 0, 325},
- dictWord{11, 0, 856},
- dictWord{12, 0, 345},
- dictWord{143, 0, 104},
- dictWord{133, 0, 223},
- dictWord{132, 0, 566},
- dictWord{4, 11, 221},
- dictWord{5, 11, 659},
- dictWord{5, 11, 989},
- dictWord{7, 11, 697},
- dictWord{7, 11, 1211},
- dictWord{138, 11, 284},
- dictWord{135, 11, 1070},
- dictWord{4, 0, 59},
- dictWord{135, 0, 1394},
- dictWord{6, 0, 436},
- dictWord{11, 0, 481},
- dictWord{5, 10, 878},
- dictWord{133, 10, 972},
- dictWord{4, 0, 48},
- dictWord{5, 0, 271},
- dictWord{135, 0, 953},
- dictWord{5, 0, 610},
- dictWord{136, 0, 457},
- dictWord{
- 4,
- 0,
- 773,
- },
- dictWord{5, 0, 618},
- dictWord{137, 0, 756},
- dictWord{133, 0, 755},
- dictWord{135, 0, 1217},
- dictWord{138, 11, 507},
- dictWord{132, 10, 351},
- dictWord{132, 0, 197},
- dictWord{143, 11, 78},
- dictWord{4, 11, 188},
- dictWord{7, 11, 805},
- dictWord{11, 11, 276},
- dictWord{142, 11, 293},
- dictWord{
- 5,
- 11,
- 884,
- },
- dictWord{139, 11, 991},
- dictWord{132, 10, 286},
- dictWord{10, 0, 259},
- dictWord{10, 0, 428},
- dictWord{7, 10, 438},
- dictWord{7, 10, 627},
- dictWord{
- 7,
- 10,
- 1516,
- },
- dictWord{8, 10, 40},
- dictWord{9, 10, 56},
- dictWord{9, 10, 294},
- dictWord{11, 10, 969},
- dictWord{11, 10, 995},
- dictWord{146, 10, 148},
- dictWord{
- 4,
- 0,
- 356,
- },
- dictWord{5, 0, 217},
- dictWord{5, 0, 492},
- dictWord{5, 0, 656},
- dictWord{8, 0, 544},
- dictWord{136, 11, 544},
- dictWord{5, 0, 259},
- dictWord{6, 0, 1230},
- dictWord{7, 0, 414},
- dictWord{7, 0, 854},
- dictWord{142, 0, 107},
- dictWord{132, 0, 1007},
- dictWord{15, 0, 14},
- dictWord{144, 0, 5},
- dictWord{6, 0, 1580},
- dictWord{
- 132,
- 10,
- 738,
- },
- dictWord{132, 11, 596},
- dictWord{132, 0, 673},
- dictWord{133, 10, 866},
- dictWord{6, 0, 1843},
- dictWord{135, 11, 1847},
- dictWord{4, 0, 165},
- dictWord{7, 0, 1398},
- dictWord{135, 0, 1829},
- dictWord{135, 11, 1634},
- dictWord{147, 11, 65},
- dictWord{6, 0, 885},
- dictWord{6, 0, 1009},
- dictWord{
- 137,
- 0,
- 809,
- },
- dictWord{133, 10, 116},
- dictWord{132, 10, 457},
- dictWord{136, 11, 770},
- dictWord{9, 0, 498},
- dictWord{12, 0, 181},
- dictWord{10, 11, 361},
- dictWord{142, 11, 316},
- dictWord{134, 11, 595},
- dictWord{5, 0, 9},
- dictWord{7, 0, 297},
- dictWord{7, 0, 966},
- dictWord{140, 0, 306},
- dictWord{4, 11, 89},
- dictWord{
- 5,
- 11,
- 489,
- },
- dictWord{6, 11, 315},
- dictWord{7, 11, 553},
- dictWord{7, 11, 1745},
- dictWord{138, 11, 243},
- dictWord{134, 0, 1487},
- dictWord{132, 0, 437},
- dictWord{
- 5,
- 0,
- 146,
- },
- dictWord{6, 0, 411},
- dictWord{138, 0, 721},
- dictWord{5, 10, 527},
- dictWord{6, 10, 189},
- dictWord{135, 10, 859},
- dictWord{11, 10, 104},
- dictWord{
- 11,
- 10,
- 554,
- },
- dictWord{15, 10, 60},
- dictWord{143, 10, 125},
- dictWord{6, 11, 1658},
- dictWord{9, 11, 3},
- dictWord{10, 11, 154},
- dictWord{11, 11, 641},
- dictWord{13, 11, 85},
- dictWord{13, 11, 201},
- dictWord{141, 11, 346},
- dictWord{6, 0, 177},
- dictWord{135, 0, 467},
- dictWord{134, 0, 1377},
- dictWord{
- 134,
- 10,
- 116,
- },
- dictWord{136, 11, 645},
- dictWord{4, 11, 166},
- dictWord{5, 11, 505},
- dictWord{6, 11, 1670},
- dictWord{137, 11, 110},
- dictWord{133, 10, 487},
- dictWord{
- 4,
- 10,
- 86,
- },
- dictWord{5, 10, 667},
- dictWord{5, 10, 753},
- dictWord{6, 10, 316},
- dictWord{6, 10, 455},
- dictWord{135, 10, 946},
- dictWord{133, 0, 200},
- dictWord{132, 0, 959},
- dictWord{6, 0, 1928},
- dictWord{134, 0, 1957},
- dictWord{139, 11, 203},
- dictWord{150, 10, 45},
- dictWord{4, 10, 79},
- dictWord{7, 10, 1773},
- dictWord{10, 10, 450},
- dictWord{11, 10, 589},
- dictWord{13, 10, 332},
- dictWord{13, 10, 493},
- dictWord{14, 10, 183},
- dictWord{14, 10, 334},
- dictWord{
- 14,
- 10,
- 362,
- },
- dictWord{14, 10, 368},
- dictWord{14, 10, 376},
- dictWord{14, 10, 379},
- dictWord{19, 10, 90},
- dictWord{19, 10, 103},
- dictWord{19, 10, 127},
- dictWord{148, 10, 90},
- dictWord{6, 0, 1435},
- dictWord{135, 11, 1275},
- dictWord{134, 0, 481},
- dictWord{7, 11, 445},
- dictWord{8, 11, 307},
- dictWord{8, 11, 704},
- dictWord{10, 11, 41},
- dictWord{10, 11, 439},
- dictWord{11, 11, 237},
- dictWord{11, 11, 622},
- dictWord{140, 11, 201},
- dictWord{135, 11, 869},
- dictWord{
- 4,
- 0,
- 84,
- },
- dictWord{7, 0, 1482},
- dictWord{10, 0, 76},
- dictWord{138, 0, 142},
- dictWord{11, 11, 277},
- dictWord{144, 11, 14},
- dictWord{135, 11, 1977},
- dictWord{
- 4,
- 11,
- 189,
- },
- dictWord{5, 11, 713},
- dictWord{136, 11, 57},
- dictWord{133, 0, 1015},
- dictWord{138, 11, 371},
- dictWord{4, 0, 315},
- dictWord{5, 0, 507},
- dictWord{
- 135,
- 0,
- 1370,
- },
- dictWord{4, 11, 552},
- dictWord{142, 10, 381},
- dictWord{9, 0, 759},
- dictWord{16, 0, 31},
- dictWord{16, 0, 39},
- dictWord{16, 0, 75},
- dictWord{18, 0, 24},
- dictWord{20, 0, 42},
- dictWord{152, 0, 1},
- dictWord{134, 0, 712},
- dictWord{134, 0, 1722},
- dictWord{133, 10, 663},
- dictWord{133, 10, 846},
- dictWord{
- 8,
- 0,
- 222,
- },
- dictWord{8, 0, 476},
- dictWord{9, 0, 238},
- dictWord{11, 0, 516},
- dictWord{11, 0, 575},
- dictWord{15, 0, 109},
- dictWord{146, 0, 100},
- dictWord{7, 0, 1402},
- dictWord{7, 0, 1414},
- dictWord{12, 0, 456},
- dictWord{5, 10, 378},
- dictWord{8, 10, 465},
- dictWord{9, 10, 286},
- dictWord{10, 10, 185},
- dictWord{10, 10, 562},
- dictWord{10, 10, 635},
- dictWord{11, 10, 31},
- dictWord{11, 10, 393},
- dictWord{13, 10, 312},
- dictWord{18, 10, 65},
- dictWord{18, 10, 96},
- dictWord{147, 10, 89},
- dictWord{4, 0, 986},
- dictWord{6, 0, 1958},
- dictWord{6, 0, 2032},
- dictWord{8, 0, 934},
- dictWord{138, 0, 985},
- dictWord{7, 10, 1880},
- dictWord{9, 10, 680},
- dictWord{139, 10, 798},
- dictWord{134, 10, 1770},
- dictWord{145, 11, 49},
- dictWord{132, 11, 614},
- dictWord{132, 10, 648},
- dictWord{5, 10, 945},
- dictWord{
- 6,
- 10,
- 1656,
- },
- dictWord{6, 10, 1787},
- dictWord{7, 10, 167},
- dictWord{8, 10, 824},
- dictWord{9, 10, 391},
- dictWord{10, 10, 375},
- dictWord{139, 10, 185},
- dictWord{138, 11, 661},
- dictWord{7, 0, 1273},
- dictWord{135, 11, 1945},
- dictWord{7, 0, 706},
- dictWord{7, 0, 1058},
- dictWord{138, 0, 538},
- dictWord{7, 10, 1645},
- dictWord{8, 10, 352},
- dictWord{137, 10, 249},
- dictWord{132, 10, 152},
- dictWord{11, 0, 92},
- dictWord{11, 0, 196},
- dictWord{11, 0, 409},
- dictWord{11, 0, 450},
- dictWord{11, 0, 666},
- dictWord{11, 0, 777},
- dictWord{12, 0, 262},
- dictWord{13, 0, 385},
- dictWord{13, 0, 393},
- dictWord{15, 0, 115},
- dictWord{16, 0, 45},
- dictWord{145, 0, 82},
- dictWord{133, 10, 1006},
- dictWord{6, 0, 40},
- dictWord{135, 0, 1781},
- dictWord{9, 11, 614},
- dictWord{139, 11, 327},
- dictWord{5, 10, 420},
- dictWord{135, 10, 1449},
- dictWord{135, 0, 431},
- dictWord{10, 0, 97},
- dictWord{135, 10, 832},
- dictWord{6, 0, 423},
- dictWord{7, 0, 665},
- dictWord{
- 135,
- 0,
- 1210,
- },
- dictWord{7, 0, 237},
- dictWord{8, 0, 664},
- dictWord{9, 0, 42},
- dictWord{9, 0, 266},
- dictWord{9, 0, 380},
- dictWord{9, 0, 645},
- dictWord{10, 0, 177},
- dictWord{
- 138,
- 0,
- 276,
- },
- dictWord{7, 0, 264},
- dictWord{133, 10, 351},
- dictWord{8, 0, 213},
- dictWord{5, 10, 40},
- dictWord{7, 10, 598},
- dictWord{7, 10, 1638},
- dictWord{
- 9,
- 10,
- 166,
- },
- dictWord{9, 10, 640},
- dictWord{9, 10, 685},
- dictWord{9, 10, 773},
- dictWord{11, 10, 215},
- dictWord{13, 10, 65},
- dictWord{14, 10, 172},
- dictWord{
- 14,
- 10,
- 317,
- },
- dictWord{145, 10, 6},
- dictWord{5, 11, 84},
- dictWord{134, 11, 163},
- dictWord{8, 10, 60},
- dictWord{9, 10, 343},
- dictWord{139, 10, 769},
- dictWord{
- 137,
- 0,
- 455,
- },
- dictWord{133, 11, 410},
- dictWord{8, 0, 906},
- dictWord{12, 0, 700},
- dictWord{12, 0, 706},
- dictWord{140, 0, 729},
- dictWord{21, 11, 33},
- dictWord{
- 150,
- 11,
- 40,
- },
- dictWord{7, 10, 1951},
- dictWord{8, 10, 765},
- dictWord{8, 10, 772},
- dictWord{140, 10, 671},
- dictWord{7, 10, 108},
- dictWord{8, 10, 219},
- dictWord{
- 8,
- 10,
- 388,
- },
- dictWord{9, 10, 639},
- dictWord{9, 10, 775},
- dictWord{11, 10, 275},
- dictWord{140, 10, 464},
- dictWord{5, 11, 322},
- dictWord{7, 11, 1941},
- dictWord{
- 8,
- 11,
- 186,
- },
- dictWord{9, 11, 262},
- dictWord{10, 11, 187},
- dictWord{14, 11, 208},
- dictWord{146, 11, 130},
- dictWord{139, 0, 624},
- dictWord{8, 0, 574},
- dictWord{
- 5,
- 11,
- 227,
- },
- dictWord{140, 11, 29},
- dictWord{7, 11, 1546},
- dictWord{11, 11, 299},
- dictWord{142, 11, 407},
- dictWord{5, 10, 15},
- dictWord{6, 10, 56},
- dictWord{
- 7,
- 10,
- 1758,
- },
- dictWord{8, 10, 500},
- dictWord{9, 10, 730},
- dictWord{11, 10, 331},
- dictWord{13, 10, 150},
- dictWord{142, 10, 282},
- dictWord{7, 11, 1395},
- dictWord{8, 11, 486},
- dictWord{9, 11, 236},
- dictWord{9, 11, 878},
- dictWord{10, 11, 218},
- dictWord{11, 11, 95},
- dictWord{19, 11, 17},
- dictWord{147, 11, 31},
- dictWord{135, 11, 2043},
- dictWord{4, 0, 354},
- dictWord{146, 11, 4},
- dictWord{140, 11, 80},
- dictWord{135, 0, 1558},
- dictWord{134, 10, 1886},
- dictWord{
- 5,
- 10,
- 205,
- },
- dictWord{6, 10, 438},
- dictWord{137, 10, 711},
- dictWord{133, 11, 522},
- dictWord{133, 10, 534},
- dictWord{7, 0, 235},
- dictWord{7, 0, 1475},
- dictWord{
- 15,
- 0,
- 68,
- },
- dictWord{146, 0, 120},
- dictWord{137, 10, 691},
- dictWord{4, 0, 942},
- dictWord{6, 0, 1813},
- dictWord{8, 0, 917},
- dictWord{10, 0, 884},
- dictWord{
- 12,
- 0,
- 696,
- },
- dictWord{12, 0, 717},
- dictWord{12, 0, 723},
- dictWord{12, 0, 738},
- dictWord{12, 0, 749},
- dictWord{12, 0, 780},
- dictWord{16, 0, 97},
- dictWord{146, 0, 169},
- dictWord{6, 10, 443},
- dictWord{8, 11, 562},
- dictWord{9, 10, 237},
- dictWord{9, 10, 571},
- dictWord{9, 10, 695},
- dictWord{10, 10, 139},
- dictWord{11, 10, 715},
- dictWord{12, 10, 417},
- dictWord{141, 10, 421},
- dictWord{135, 0, 957},
- dictWord{133, 0, 830},
- dictWord{134, 11, 1771},
- dictWord{146, 0, 23},
- dictWord{
- 5,
- 0,
- 496,
- },
- dictWord{6, 0, 694},
- dictWord{7, 0, 203},
- dictWord{7, 11, 1190},
- dictWord{137, 11, 620},
- dictWord{137, 11, 132},
- dictWord{6, 0, 547},
- dictWord{
- 134,
- 0,
- 1549,
- },
- dictWord{8, 11, 258},
- dictWord{9, 11, 208},
- dictWord{137, 11, 359},
- dictWord{4, 0, 864},
- dictWord{5, 0, 88},
- dictWord{137, 0, 239},
- dictWord{
- 135,
- 11,
- 493,
- },
- dictWord{4, 11, 317},
- dictWord{135, 11, 1279},
- dictWord{132, 11, 477},
- dictWord{4, 10, 578},
- dictWord{5, 11, 63},
- dictWord{133, 11, 509},
- dictWord{
- 7,
- 0,
- 650,
- },
- dictWord{135, 0, 1310},
- dictWord{7, 0, 1076},
- dictWord{9, 0, 80},
- dictWord{11, 0, 78},
- dictWord{11, 0, 421},
- dictWord{11, 0, 534},
- dictWord{
- 140,
- 0,
- 545,
- },
- dictWord{132, 11, 288},
- dictWord{12, 0, 553},
- dictWord{14, 0, 118},
- dictWord{133, 10, 923},
- dictWord{7, 0, 274},
- dictWord{11, 0, 479},
- dictWord{
- 139,
- 0,
- 507,
- },
- dictWord{8, 11, 89},
- dictWord{8, 11, 620},
- dictWord{9, 11, 49},
- dictWord{10, 11, 774},
- dictWord{11, 11, 628},
- dictWord{12, 11, 322},
- dictWord{
- 143,
- 11,
- 124,
- },
- dictWord{4, 0, 497},
- dictWord{135, 0, 1584},
- dictWord{7, 0, 261},
- dictWord{7, 0, 1115},
- dictWord{7, 0, 1354},
- dictWord{7, 0, 1404},
- dictWord{
- 7,
- 0,
- 1588,
- },
- dictWord{7, 0, 1705},
- dictWord{7, 0, 1902},
- dictWord{9, 0, 465},
- dictWord{10, 0, 248},
- dictWord{10, 0, 349},
- dictWord{10, 0, 647},
- dictWord{11, 0, 527},
- dictWord{11, 0, 660},
- dictWord{11, 0, 669},
- dictWord{12, 0, 529},
- dictWord{13, 0, 305},
- dictWord{132, 10, 924},
- dictWord{133, 10, 665},
- dictWord{
- 136,
- 0,
- 13,
- },
- dictWord{6, 0, 791},
- dictWord{138, 11, 120},
- dictWord{7, 0, 642},
- dictWord{8, 0, 250},
- dictWord{11, 0, 123},
- dictWord{11, 0, 137},
- dictWord{13, 0, 48},
- dictWord{142, 0, 95},
- dictWord{4, 10, 265},
- dictWord{7, 10, 807},
- dictWord{135, 10, 950},
- dictWord{5, 10, 93},
- dictWord{140, 10, 267},
- dictWord{135, 0, 1429},
- dictWord{4, 0, 949},
- dictWord{10, 0, 885},
- dictWord{10, 0, 891},
- dictWord{10, 0, 900},
- dictWord{10, 0, 939},
- dictWord{12, 0, 760},
- dictWord{142, 0, 449},
- dictWord{139, 11, 366},
- dictWord{132, 0, 818},
- dictWord{134, 11, 85},
- dictWord{135, 10, 994},
- dictWord{7, 0, 330},
- dictWord{5, 10, 233},
- dictWord{5, 10, 320},
- dictWord{6, 10, 140},
- dictWord{136, 10, 295},
- dictWord{4, 0, 1004},
- dictWord{8, 0, 982},
- dictWord{136, 0, 993},
- dictWord{133, 10, 978},
- dictWord{4, 10, 905},
- dictWord{6, 10, 1701},
- dictWord{137, 10, 843},
- dictWord{10, 0, 545},
- dictWord{140, 0, 301},
- dictWord{6, 0, 947},
- dictWord{134, 0, 1062},
- dictWord{
- 134,
- 0,
- 1188,
- },
- dictWord{4, 0, 904},
- dictWord{5, 0, 794},
- dictWord{152, 10, 6},
- dictWord{134, 0, 1372},
- dictWord{135, 11, 608},
- dictWord{5, 11, 279},
- dictWord{
- 6,
- 11,
- 235,
- },
- dictWord{7, 11, 468},
- dictWord{8, 11, 446},
- dictWord{9, 11, 637},
- dictWord{10, 11, 717},
- dictWord{11, 11, 738},
- dictWord{140, 11, 514},
- dictWord{
- 132,
- 10,
- 509,
- },
- dictWord{5, 11, 17},
- dictWord{6, 11, 371},
- dictWord{137, 11, 528},
- dictWord{132, 0, 693},
- dictWord{4, 11, 115},
- dictWord{5, 11, 669},
- dictWord{
- 6,
- 11,
- 407,
- },
- dictWord{8, 11, 311},
- dictWord{11, 11, 10},
- dictWord{141, 11, 5},
- dictWord{11, 0, 377},
- dictWord{7, 10, 273},
- dictWord{137, 11, 381},
- dictWord{
- 135,
- 0,
- 695,
- },
- dictWord{7, 0, 386},
- dictWord{138, 0, 713},
- dictWord{135, 10, 1041},
- dictWord{134, 0, 1291},
- dictWord{6, 0, 7},
- dictWord{6, 0, 35},
- dictWord{
- 7,
- 0,
- 147,
- },
- dictWord{7, 0, 1069},
- dictWord{7, 0, 1568},
- dictWord{7, 0, 1575},
- dictWord{7, 0, 1917},
- dictWord{8, 0, 43},
- dictWord{8, 0, 208},
- dictWord{9, 0, 128},
- dictWord{
- 9,
- 0,
- 866,
- },
- dictWord{10, 0, 20},
- dictWord{11, 0, 981},
- dictWord{147, 0, 33},
- dictWord{7, 0, 893},
- dictWord{141, 0, 424},
- dictWord{139, 10, 234},
- dictWord{
- 150,
- 11,
- 56,
- },
- dictWord{5, 11, 779},
- dictWord{5, 11, 807},
- dictWord{6, 11, 1655},
- dictWord{134, 11, 1676},
- dictWord{5, 10, 802},
- dictWord{7, 10, 2021},
- dictWord{136, 10, 805},
- dictWord{4, 11, 196},
- dictWord{5, 10, 167},
- dictWord{5, 11, 558},
- dictWord{5, 10, 899},
- dictWord{5, 11, 949},
- dictWord{6, 10, 410},
- dictWord{137, 10, 777},
- dictWord{137, 10, 789},
- dictWord{134, 10, 1705},
- dictWord{8, 0, 904},
- dictWord{140, 0, 787},
- dictWord{6, 0, 322},
- dictWord{9, 0, 552},
- dictWord{11, 0, 274},
- dictWord{13, 0, 209},
- dictWord{13, 0, 499},
- dictWord{14, 0, 85},
- dictWord{15, 0, 126},
- dictWord{145, 0, 70},
- dictWord{135, 10, 10},
- dictWord{
- 5,
- 10,
- 11,
- },
- dictWord{6, 10, 117},
- dictWord{6, 10, 485},
- dictWord{7, 10, 1133},
- dictWord{9, 10, 582},
- dictWord{9, 10, 594},
- dictWord{11, 10, 21},
- dictWord{
- 11,
- 10,
- 818,
- },
- dictWord{12, 10, 535},
- dictWord{141, 10, 86},
- dictWord{4, 10, 264},
- dictWord{7, 10, 1067},
- dictWord{8, 10, 204},
- dictWord{8, 10, 385},
- dictWord{139, 10, 953},
- dictWord{132, 11, 752},
- dictWord{138, 10, 56},
- dictWord{133, 10, 470},
- dictWord{6, 0, 1808},
- dictWord{8, 0, 83},
- dictWord{8, 0, 742},
- dictWord{8, 0, 817},
- dictWord{9, 0, 28},
- dictWord{9, 0, 29},
- dictWord{9, 0, 885},
- dictWord{10, 0, 387},
- dictWord{11, 0, 633},
- dictWord{11, 0, 740},
- dictWord{13, 0, 235},
- dictWord{13, 0, 254},
- dictWord{15, 0, 143},
- dictWord{143, 0, 146},
- dictWord{140, 0, 49},
- dictWord{134, 0, 1832},
- dictWord{4, 11, 227},
- dictWord{5, 11, 159},
- dictWord{5, 11, 409},
- dictWord{7, 11, 80},
- dictWord{10, 11, 294},
- dictWord{10, 11, 479},
- dictWord{12, 11, 418},
- dictWord{14, 11, 50},
- dictWord{14, 11, 249},
- dictWord{142, 11, 295},
- dictWord{7, 11, 1470},
- dictWord{8, 11, 66},
- dictWord{8, 11, 137},
- dictWord{8, 11, 761},
- dictWord{9, 11, 638},
- dictWord{11, 11, 80},
- dictWord{11, 11, 212},
- dictWord{11, 11, 368},
- dictWord{11, 11, 418},
- dictWord{12, 11, 8},
- dictWord{13, 11, 15},
- dictWord{16, 11, 61},
- dictWord{17, 11, 59},
- dictWord{19, 11, 28},
- dictWord{148, 11, 84},
- dictWord{139, 10, 1015},
- dictWord{138, 11, 468},
- dictWord{135, 0, 421},
- dictWord{6, 0, 415},
- dictWord{
- 7,
- 0,
- 1049,
- },
- dictWord{137, 0, 442},
- dictWord{6, 11, 38},
- dictWord{7, 11, 1220},
- dictWord{8, 11, 185},
- dictWord{8, 11, 256},
- dictWord{9, 11, 22},
- dictWord{
- 9,
- 11,
- 331,
- },
- dictWord{10, 11, 738},
- dictWord{11, 11, 205},
- dictWord{11, 11, 540},
- dictWord{11, 11, 746},
- dictWord{13, 11, 399},
- dictWord{13, 11, 465},
- dictWord{
- 14,
- 11,
- 88,
- },
- dictWord{142, 11, 194},
- dictWord{139, 0, 289},
- dictWord{133, 10, 715},
- dictWord{4, 0, 110},
- dictWord{10, 0, 415},
- dictWord{10, 0, 597},
- dictWord{142, 0, 206},
- dictWord{4, 11, 159},
- dictWord{6, 11, 115},
- dictWord{7, 11, 252},
- dictWord{7, 11, 257},
- dictWord{7, 11, 1928},
- dictWord{8, 11, 69},
- dictWord{
- 9,
- 11,
- 384,
- },
- dictWord{10, 11, 91},
- dictWord{10, 11, 615},
- dictWord{12, 11, 375},
- dictWord{14, 11, 235},
- dictWord{18, 11, 117},
- dictWord{147, 11, 123},
- dictWord{5, 11, 911},
- dictWord{136, 11, 278},
- dictWord{7, 0, 205},
- dictWord{7, 0, 2000},
- dictWord{8, 10, 794},
- dictWord{9, 10, 400},
- dictWord{10, 10, 298},
- dictWord{142, 10, 228},
- dictWord{135, 11, 1774},
- dictWord{4, 11, 151},
- dictWord{7, 11, 1567},
- dictWord{8, 11, 351},
- dictWord{137, 11, 322},
- dictWord{
- 136,
- 10,
- 724,
- },
- dictWord{133, 11, 990},
- dictWord{7, 0, 1539},
- dictWord{11, 0, 512},
- dictWord{13, 0, 205},
- dictWord{19, 0, 30},
- dictWord{22, 0, 36},
- dictWord{23, 0, 19},
- dictWord{135, 11, 1539},
- dictWord{5, 11, 194},
- dictWord{7, 11, 1662},
- dictWord{9, 11, 90},
- dictWord{140, 11, 180},
- dictWord{6, 10, 190},
- dictWord{
- 7,
- 10,
- 768,
- },
- dictWord{135, 10, 1170},
- dictWord{134, 0, 1340},
- dictWord{4, 0, 283},
- dictWord{135, 0, 1194},
- dictWord{133, 11, 425},
- dictWord{133, 11, 971},
- dictWord{12, 0, 549},
- dictWord{14, 10, 67},
- dictWord{147, 10, 60},
- dictWord{135, 10, 1023},
- dictWord{134, 0, 1720},
- dictWord{138, 11, 587},
- dictWord{
- 5,
- 11,
- 72,
- },
- dictWord{6, 11, 264},
- dictWord{7, 11, 21},
- dictWord{7, 11, 46},
- dictWord{7, 11, 2013},
- dictWord{8, 11, 215},
- dictWord{8, 11, 513},
- dictWord{10, 11, 266},
- dictWord{139, 11, 22},
- dictWord{5, 0, 319},
- dictWord{135, 0, 534},
- dictWord{6, 10, 137},
- dictWord{9, 10, 75},
- dictWord{9, 10, 253},
- dictWord{10, 10, 194},
- dictWord{138, 10, 444},
- dictWord{7, 0, 1180},
- dictWord{20, 0, 112},
- dictWord{6, 11, 239},
- dictWord{7, 11, 118},
- dictWord{10, 11, 95},
- dictWord{11, 11, 603},
- dictWord{13, 11, 443},
- dictWord{14, 11, 160},
- dictWord{143, 11, 4},
- dictWord{134, 11, 431},
- dictWord{5, 11, 874},
- dictWord{6, 11, 1677},
- dictWord{
- 11,
- 10,
- 643,
- },
- dictWord{12, 10, 115},
- dictWord{143, 11, 0},
- dictWord{134, 0, 967},
- dictWord{6, 11, 65},
- dictWord{7, 11, 939},
- dictWord{7, 11, 1172},
- dictWord{
- 7,
- 11,
- 1671,
- },
- dictWord{9, 11, 540},
- dictWord{10, 11, 696},
- dictWord{11, 11, 265},
- dictWord{11, 11, 732},
- dictWord{11, 11, 928},
- dictWord{11, 11, 937},
- dictWord{
- 12,
- 11,
- 399,
- },
- dictWord{13, 11, 438},
- dictWord{149, 11, 19},
- dictWord{137, 11, 200},
- dictWord{135, 0, 1940},
- dictWord{5, 10, 760},
- dictWord{7, 10, 542},
- dictWord{8, 10, 135},
- dictWord{136, 10, 496},
- dictWord{140, 11, 44},
- dictWord{7, 11, 1655},
- dictWord{136, 11, 305},
- dictWord{7, 10, 319},
- dictWord{
- 7,
- 10,
- 355,
- },
- dictWord{7, 10, 763},
- dictWord{10, 10, 389},
- dictWord{145, 10, 43},
- dictWord{136, 0, 735},
- dictWord{138, 10, 786},
- dictWord{137, 11, 19},
- dictWord{132, 11, 696},
- dictWord{5, 0, 132},
- dictWord{9, 0, 486},
- dictWord{9, 0, 715},
- dictWord{10, 0, 458},
- dictWord{11, 0, 373},
- dictWord{11, 0, 668},
- dictWord{
- 11,
- 0,
- 795,
- },
- dictWord{11, 0, 897},
- dictWord{12, 0, 272},
- dictWord{12, 0, 424},
- dictWord{12, 0, 539},
- dictWord{12, 0, 558},
- dictWord{14, 0, 245},
- dictWord{
- 14,
- 0,
- 263,
- },
- dictWord{14, 0, 264},
- dictWord{14, 0, 393},
- dictWord{142, 0, 403},
- dictWord{10, 0, 38},
- dictWord{139, 0, 784},
- dictWord{132, 0, 838},
- dictWord{
- 4,
- 11,
- 302,
- },
- dictWord{135, 11, 1766},
- dictWord{133, 0, 379},
- dictWord{5, 0, 8},
- dictWord{6, 0, 89},
- dictWord{6, 0, 400},
- dictWord{7, 0, 1569},
- dictWord{7, 0, 1623},
- dictWord{7, 0, 1850},
- dictWord{8, 0, 218},
- dictWord{8, 0, 422},
- dictWord{9, 0, 570},
- dictWord{10, 0, 626},
- dictWord{4, 11, 726},
- dictWord{133, 11, 630},
- dictWord{
- 4,
- 0,
- 1017,
- },
- dictWord{138, 0, 660},
- dictWord{6, 0, 387},
- dictWord{7, 0, 882},
- dictWord{141, 0, 111},
- dictWord{6, 0, 224},
- dictWord{7, 0, 877},
- dictWord{
- 137,
- 0,
- 647,
- },
- dictWord{4, 10, 58},
- dictWord{5, 10, 286},
- dictWord{6, 10, 319},
- dictWord{7, 10, 402},
- dictWord{7, 10, 1254},
- dictWord{7, 10, 1903},
- dictWord{
- 8,
- 10,
- 356,
- },
- dictWord{140, 10, 408},
- dictWord{135, 0, 790},
- dictWord{9, 0, 510},
- dictWord{10, 0, 53},
- dictWord{4, 10, 389},
- dictWord{9, 10, 181},
- dictWord{
- 10,
- 10,
- 29,
- },
- dictWord{10, 10, 816},
- dictWord{11, 10, 311},
- dictWord{11, 10, 561},
- dictWord{12, 10, 67},
- dictWord{141, 10, 181},
- dictWord{142, 0, 458},
- dictWord{
- 6,
- 11,
- 118,
- },
- dictWord{7, 11, 215},
- dictWord{7, 11, 1521},
- dictWord{140, 11, 11},
- dictWord{134, 0, 954},
- dictWord{135, 0, 394},
- dictWord{134, 0, 1367},
- dictWord{5, 11, 225},
- dictWord{133, 10, 373},
- dictWord{132, 0, 882},
- dictWord{7, 0, 1409},
- dictWord{135, 10, 1972},
- dictWord{135, 10, 1793},
- dictWord{
- 4,
- 11,
- 370,
- },
- dictWord{5, 11, 756},
- dictWord{135, 11, 1326},
- dictWord{150, 11, 13},
- dictWord{7, 11, 354},
- dictWord{10, 11, 410},
- dictWord{139, 11, 815},
- dictWord{6, 11, 1662},
- dictWord{7, 11, 48},
- dictWord{8, 11, 771},
- dictWord{10, 11, 116},
- dictWord{13, 11, 104},
- dictWord{14, 11, 105},
- dictWord{14, 11, 184},
- dictWord{15, 11, 168},
- dictWord{19, 11, 92},
- dictWord{148, 11, 68},
- dictWord{7, 0, 124},
- dictWord{136, 0, 38},
- dictWord{5, 0, 261},
- dictWord{7, 0, 78},
- dictWord{
- 7,
- 0,
- 199,
- },
- dictWord{8, 0, 815},
- dictWord{9, 0, 126},
- dictWord{10, 0, 342},
- dictWord{140, 0, 647},
- dictWord{4, 0, 628},
- dictWord{140, 0, 724},
- dictWord{7, 0, 266},
- dictWord{8, 0, 804},
- dictWord{7, 10, 1651},
- dictWord{145, 10, 89},
- dictWord{135, 0, 208},
- dictWord{134, 0, 1178},
- dictWord{6, 0, 79},
- dictWord{135, 0, 1519},
- dictWord{132, 10, 672},
- dictWord{133, 10, 737},
- dictWord{136, 0, 741},
- dictWord{132, 11, 120},
- dictWord{4, 0, 710},
- dictWord{6, 0, 376},
- dictWord{
- 134,
- 0,
- 606,
- },
- dictWord{134, 0, 1347},
- dictWord{134, 0, 1494},
- dictWord{6, 0, 850},
- dictWord{6, 0, 1553},
- dictWord{137, 0, 821},
- dictWord{5, 10, 145},
- dictWord{
- 134,
- 11,
- 593,
- },
- dictWord{7, 0, 1311},
- dictWord{140, 0, 135},
- dictWord{4, 0, 467},
- dictWord{5, 0, 405},
- dictWord{134, 0, 544},
- dictWord{5, 11, 820},
- dictWord{
- 135,
- 11,
- 931,
- },
- dictWord{6, 0, 100},
- dictWord{7, 0, 244},
- dictWord{7, 0, 632},
- dictWord{7, 0, 1609},
- dictWord{8, 0, 178},
- dictWord{8, 0, 638},
- dictWord{141, 0, 58},
- dictWord{4, 10, 387},
- dictWord{135, 10, 1288},
- dictWord{6, 11, 151},
- dictWord{6, 11, 1675},
- dictWord{7, 11, 383},
- dictWord{151, 11, 10},
- dictWord{
- 132,
- 0,
- 481,
- },
- dictWord{135, 10, 550},
- dictWord{134, 0, 1378},
- dictWord{6, 11, 1624},
- dictWord{11, 11, 11},
- dictWord{12, 11, 422},
- dictWord{13, 11, 262},
- dictWord{142, 11, 360},
- dictWord{133, 0, 791},
- dictWord{4, 11, 43},
- dictWord{5, 11, 344},
- dictWord{133, 11, 357},
- dictWord{7, 0, 1227},
- dictWord{140, 0, 978},
- dictWord{7, 0, 686},
- dictWord{8, 0, 33},
- dictWord{8, 0, 238},
- dictWord{10, 0, 616},
- dictWord{11, 0, 467},
- dictWord{11, 0, 881},
- dictWord{13, 0, 217},
- dictWord{
- 13,
- 0,
- 253,
- },
- dictWord{142, 0, 268},
- dictWord{137, 0, 857},
- dictWord{8, 0, 467},
- dictWord{8, 0, 1006},
- dictWord{7, 11, 148},
- dictWord{8, 11, 284},
- dictWord{
- 141,
- 11,
- 63,
- },
- dictWord{4, 10, 576},
- dictWord{135, 10, 1263},
- dictWord{133, 11, 888},
- dictWord{5, 10, 919},
- dictWord{134, 10, 1673},
- dictWord{20, 10, 37},
- dictWord{148, 11, 37},
- dictWord{132, 0, 447},
- dictWord{132, 11, 711},
- dictWord{4, 0, 128},
- dictWord{5, 0, 415},
- dictWord{6, 0, 462},
- dictWord{7, 0, 294},
- dictWord{
- 7,
- 0,
- 578,
- },
- dictWord{10, 0, 710},
- dictWord{139, 0, 86},
- dictWord{4, 10, 82},
- dictWord{5, 10, 333},
- dictWord{5, 10, 904},
- dictWord{6, 10, 207},
- dictWord{7, 10, 325},
- dictWord{7, 10, 1726},
- dictWord{8, 10, 101},
- dictWord{10, 10, 778},
- dictWord{139, 10, 220},
- dictWord{136, 0, 587},
- dictWord{137, 11, 440},
- dictWord{
- 133,
- 10,
- 903,
- },
- dictWord{6, 0, 427},
- dictWord{7, 0, 1018},
- dictWord{138, 0, 692},
- dictWord{4, 0, 195},
- dictWord{135, 0, 802},
- dictWord{140, 10, 147},
- dictWord{
- 134,
- 0,
- 1546,
- },
- dictWord{134, 0, 684},
- dictWord{132, 10, 705},
- dictWord{136, 0, 345},
- dictWord{11, 11, 678},
- dictWord{140, 11, 307},
- dictWord{
- 133,
- 0,
- 365,
- },
- dictWord{134, 0, 1683},
- dictWord{4, 11, 65},
- dictWord{5, 11, 479},
- dictWord{5, 11, 1004},
- dictWord{7, 11, 1913},
- dictWord{8, 11, 317},
- dictWord{
- 9,
- 11,
- 302,
- },
- dictWord{10, 11, 612},
- dictWord{141, 11, 22},
- dictWord{138, 0, 472},
- dictWord{4, 11, 261},
- dictWord{135, 11, 510},
- dictWord{134, 10, 90},
- dictWord{142, 0, 433},
- dictWord{151, 0, 28},
- dictWord{4, 11, 291},
- dictWord{7, 11, 101},
- dictWord{9, 11, 515},
- dictWord{12, 11, 152},
- dictWord{12, 11, 443},
- dictWord{13, 11, 392},
- dictWord{142, 11, 357},
- dictWord{140, 0, 997},
- dictWord{5, 0, 3},
- dictWord{8, 0, 578},
- dictWord{9, 0, 118},
- dictWord{10, 0, 705},
- dictWord{
- 141,
- 0,
- 279,
- },
- dictWord{135, 11, 1266},
- dictWord{7, 10, 813},
- dictWord{12, 10, 497},
- dictWord{141, 10, 56},
- dictWord{133, 0, 229},
- dictWord{6, 10, 125},
- dictWord{135, 10, 1277},
- dictWord{8, 0, 102},
- dictWord{10, 0, 578},
- dictWord{10, 0, 672},
- dictWord{12, 0, 496},
- dictWord{13, 0, 408},
- dictWord{14, 0, 121},
- dictWord{17, 0, 106},
- dictWord{151, 10, 12},
- dictWord{6, 0, 866},
- dictWord{134, 0, 1080},
- dictWord{136, 0, 1022},
- dictWord{4, 11, 130},
- dictWord{135, 11, 843},
- dictWord{5, 11, 42},
- dictWord{5, 11, 879},
- dictWord{7, 11, 245},
- dictWord{7, 11, 324},
- dictWord{7, 11, 1532},
- dictWord{11, 11, 463},
- dictWord{11, 11, 472},
- dictWord{13, 11, 363},
- dictWord{144, 11, 52},
- dictWord{150, 0, 55},
- dictWord{8, 0, 115},
- dictWord{8, 0, 350},
- dictWord{9, 0, 489},
- dictWord{10, 0, 128},
- dictWord{
- 11,
- 0,
- 306,
- },
- dictWord{12, 0, 373},
- dictWord{14, 0, 30},
- dictWord{17, 0, 79},
- dictWord{19, 0, 80},
- dictWord{4, 11, 134},
- dictWord{133, 11, 372},
- dictWord{
- 134,
- 0,
- 657,
- },
- dictWord{134, 0, 933},
- dictWord{135, 11, 1147},
- dictWord{4, 0, 230},
- dictWord{133, 0, 702},
- dictWord{134, 0, 1728},
- dictWord{4, 0, 484},
- dictWord{
- 18,
- 0,
- 26,
- },
- dictWord{19, 0, 42},
- dictWord{20, 0, 43},
- dictWord{21, 0, 0},
- dictWord{23, 0, 27},
- dictWord{152, 0, 14},
- dictWord{7, 0, 185},
- dictWord{135, 0, 703},
- dictWord{
- 6,
- 0,
- 417,
- },
- dictWord{10, 0, 618},
- dictWord{7, 10, 1106},
- dictWord{9, 10, 770},
- dictWord{11, 10, 112},
- dictWord{140, 10, 413},
- dictWord{134, 0, 803},
- dictWord{132, 11, 644},
- dictWord{134, 0, 1262},
- dictWord{7, 11, 540},
- dictWord{12, 10, 271},
- dictWord{145, 10, 109},
- dictWord{135, 11, 123},
- dictWord{
- 132,
- 0,
- 633,
- },
- dictWord{134, 11, 623},
- dictWord{4, 11, 908},
- dictWord{5, 11, 359},
- dictWord{5, 11, 508},
- dictWord{6, 11, 1723},
- dictWord{7, 11, 343},
- dictWord{
- 7,
- 11,
- 1996,
- },
- dictWord{135, 11, 2026},
- dictWord{135, 0, 479},
- dictWord{10, 0, 262},
- dictWord{7, 10, 304},
- dictWord{9, 10, 646},
- dictWord{9, 10, 862},
- dictWord{
- 11,
- 10,
- 696,
- },
- dictWord{12, 10, 208},
- dictWord{15, 10, 79},
- dictWord{147, 10, 108},
- dictWord{4, 11, 341},
- dictWord{135, 11, 480},
- dictWord{134, 0, 830},
- dictWord{5, 0, 70},
- dictWord{5, 0, 622},
- dictWord{6, 0, 334},
- dictWord{7, 0, 1032},
- dictWord{9, 0, 171},
- dictWord{11, 0, 26},
- dictWord{11, 0, 213},
- dictWord{
- 11,
- 0,
- 637,
- },
- dictWord{11, 0, 707},
- dictWord{12, 0, 202},
- dictWord{12, 0, 380},
- dictWord{13, 0, 226},
- dictWord{13, 0, 355},
- dictWord{14, 0, 222},
- dictWord{145, 0, 42},
- dictWord{135, 10, 981},
- dictWord{143, 0, 217},
- dictWord{137, 11, 114},
- dictWord{4, 0, 23},
- dictWord{4, 0, 141},
- dictWord{5, 0, 313},
- dictWord{5, 0, 1014},
- dictWord{6, 0, 50},
- dictWord{6, 0, 51},
- dictWord{7, 0, 142},
- dictWord{7, 0, 384},
- dictWord{7, 0, 559},
- dictWord{8, 0, 640},
- dictWord{9, 0, 460},
- dictWord{9, 0, 783},
- dictWord{11, 0, 741},
- dictWord{12, 0, 183},
- dictWord{141, 0, 488},
- dictWord{141, 0, 360},
- dictWord{7, 0, 1586},
- dictWord{7, 11, 1995},
- dictWord{8, 11, 299},
- dictWord{11, 11, 890},
- dictWord{140, 11, 674},
- dictWord{132, 10, 434},
- dictWord{7, 0, 652},
- dictWord{134, 10, 550},
- dictWord{7, 0, 766},
- dictWord{5, 10, 553},
- dictWord{138, 10, 824},
- dictWord{7, 0, 737},
- dictWord{8, 0, 298},
- dictWord{136, 10, 452},
- dictWord{4, 11, 238},
- dictWord{5, 11, 503},
- dictWord{6, 11, 179},
- dictWord{7, 11, 2003},
- dictWord{8, 11, 381},
- dictWord{8, 11, 473},
- dictWord{9, 11, 149},
- dictWord{10, 11, 183},
- dictWord{15, 11, 45},
- dictWord{143, 11, 86},
- dictWord{133, 10, 292},
- dictWord{5, 0, 222},
- dictWord{9, 0, 655},
- dictWord{138, 0, 534},
- dictWord{138, 10, 135},
- dictWord{4, 11, 121},
- dictWord{5, 11, 156},
- dictWord{5, 11, 349},
- dictWord{9, 11, 136},
- dictWord{10, 11, 605},
- dictWord{14, 11, 342},
- dictWord{147, 11, 107},
- dictWord{137, 0, 906},
- dictWord{6, 0, 1013},
- dictWord{134, 0, 1250},
- dictWord{6, 0, 1956},
- dictWord{6, 0, 2009},
- dictWord{8, 0, 991},
- dictWord{144, 0, 120},
- dictWord{135, 11, 1192},
- dictWord{
- 138,
- 0,
- 503,
- },
- dictWord{5, 0, 154},
- dictWord{7, 0, 1491},
- dictWord{10, 0, 379},
- dictWord{138, 0, 485},
- dictWord{6, 0, 1867},
- dictWord{6, 0, 1914},
- dictWord{6, 0, 1925},
- dictWord{9, 0, 917},
- dictWord{9, 0, 925},
- dictWord{9, 0, 932},
- dictWord{9, 0, 951},
- dictWord{9, 0, 1007},
- dictWord{9, 0, 1013},
- dictWord{12, 0, 806},
- dictWord{
- 12,
- 0,
- 810,
- },
- dictWord{12, 0, 814},
- dictWord{12, 0, 816},
- dictWord{12, 0, 824},
- dictWord{12, 0, 832},
- dictWord{12, 0, 837},
- dictWord{12, 0, 863},
- dictWord{
- 12,
- 0,
- 868,
- },
- dictWord{12, 0, 870},
- dictWord{12, 0, 889},
- dictWord{12, 0, 892},
- dictWord{12, 0, 900},
- dictWord{12, 0, 902},
- dictWord{12, 0, 908},
- dictWord{12, 0, 933},
- dictWord{12, 0, 942},
- dictWord{12, 0, 949},
- dictWord{12, 0, 954},
- dictWord{15, 0, 175},
- dictWord{15, 0, 203},
- dictWord{15, 0, 213},
- dictWord{15, 0, 218},
- dictWord{15, 0, 225},
- dictWord{15, 0, 231},
- dictWord{15, 0, 239},
- dictWord{15, 0, 248},
- dictWord{15, 0, 252},
- dictWord{18, 0, 190},
- dictWord{18, 0, 204},
- dictWord{
- 18,
- 0,
- 215,
- },
- dictWord{18, 0, 216},
- dictWord{18, 0, 222},
- dictWord{18, 0, 225},
- dictWord{18, 0, 230},
- dictWord{18, 0, 239},
- dictWord{18, 0, 241},
- dictWord{
- 21,
- 0,
- 42,
- },
- dictWord{21, 0, 43},
- dictWord{21, 0, 44},
- dictWord{21, 0, 45},
- dictWord{21, 0, 46},
- dictWord{21, 0, 53},
- dictWord{24, 0, 27},
- dictWord{152, 0, 31},
- dictWord{
- 133,
- 0,
- 716,
- },
- dictWord{135, 0, 844},
- dictWord{4, 0, 91},
- dictWord{5, 0, 388},
- dictWord{5, 0, 845},
- dictWord{6, 0, 206},
- dictWord{6, 0, 252},
- dictWord{6, 0, 365},
- dictWord{
- 7,
- 0,
- 136,
- },
- dictWord{7, 0, 531},
- dictWord{136, 0, 621},
- dictWord{7, 10, 393},
- dictWord{10, 10, 603},
- dictWord{139, 10, 206},
- dictWord{6, 11, 80},
- dictWord{
- 6,
- 11,
- 1694,
- },
- dictWord{7, 11, 173},
- dictWord{7, 11, 1974},
- dictWord{9, 11, 547},
- dictWord{10, 11, 730},
- dictWord{14, 11, 18},
- dictWord{150, 11, 39},
- dictWord{137, 0, 748},
- dictWord{4, 11, 923},
- dictWord{134, 11, 1711},
- dictWord{4, 10, 912},
- dictWord{137, 10, 232},
- dictWord{7, 10, 98},
- dictWord{7, 10, 1973},
- dictWord{136, 10, 716},
- dictWord{14, 0, 103},
- dictWord{133, 10, 733},
- dictWord{132, 11, 595},
- dictWord{12, 0, 158},
- dictWord{18, 0, 8},
- dictWord{19, 0, 62},
- dictWord{20, 0, 6},
- dictWord{22, 0, 4},
- dictWord{23, 0, 2},
- dictWord{23, 0, 9},
- dictWord{5, 11, 240},
- dictWord{6, 11, 459},
- dictWord{7, 11, 12},
- dictWord{7, 11, 114},
- dictWord{7, 11, 502},
- dictWord{7, 11, 1751},
- dictWord{7, 11, 1753},
- dictWord{7, 11, 1805},
- dictWord{8, 11, 658},
- dictWord{9, 11, 1},
- dictWord{11, 11, 959},
- dictWord{13, 11, 446},
- dictWord{142, 11, 211},
- dictWord{135, 0, 576},
- dictWord{5, 0, 771},
- dictWord{5, 0, 863},
- dictWord{5, 0, 898},
- dictWord{6, 0, 648},
- dictWord{
- 6,
- 0,
- 1632,
- },
- dictWord{6, 0, 1644},
- dictWord{134, 0, 1780},
- dictWord{133, 0, 331},
- dictWord{7, 11, 633},
- dictWord{7, 11, 905},
- dictWord{7, 11, 909},
- dictWord{
- 7,
- 11,
- 1538,
- },
- dictWord{9, 11, 767},
- dictWord{140, 11, 636},
- dictWord{140, 0, 632},
- dictWord{5, 0, 107},
- dictWord{7, 0, 201},
- dictWord{136, 0, 518},
- dictWord{
- 6,
- 0,
- 446,
- },
- dictWord{7, 0, 1817},
- dictWord{134, 11, 490},
- dictWord{9, 0, 851},
- dictWord{141, 0, 510},
- dictWord{7, 11, 250},
- dictWord{8, 11, 506},
- dictWord{
- 136,
- 11,
- 507,
- },
- dictWord{4, 0, 504},
- dictWord{137, 10, 72},
- dictWord{132, 11, 158},
- dictWord{4, 11, 140},
- dictWord{7, 11, 362},
- dictWord{8, 11, 209},
- dictWord{
- 9,
- 11,
- 10,
- },
- dictWord{9, 11, 160},
- dictWord{9, 11, 503},
- dictWord{10, 11, 689},
- dictWord{11, 11, 350},
- dictWord{11, 11, 553},
- dictWord{11, 11, 725},
- dictWord{
- 12,
- 11,
- 252,
- },
- dictWord{12, 11, 583},
- dictWord{13, 11, 192},
- dictWord{13, 11, 352},
- dictWord{14, 11, 269},
- dictWord{14, 11, 356},
- dictWord{148, 11, 50},
- dictWord{6, 11, 597},
- dictWord{135, 11, 1318},
- dictWord{135, 10, 1454},
- dictWord{5, 0, 883},
- dictWord{5, 0, 975},
- dictWord{8, 0, 392},
- dictWord{148, 0, 7},
- dictWord{6, 11, 228},
- dictWord{7, 11, 1341},
- dictWord{9, 11, 408},
- dictWord{138, 11, 343},
- dictWord{11, 11, 348},
- dictWord{11, 10, 600},
- dictWord{12, 11, 99},
- dictWord{13, 10, 245},
- dictWord{18, 11, 1},
- dictWord{18, 11, 11},
- dictWord{147, 11, 4},
- dictWord{134, 11, 296},
- dictWord{5, 0, 922},
- dictWord{134, 0, 1707},
- dictWord{132, 11, 557},
- dictWord{4, 11, 548},
- dictWord{7, 10, 164},
- dictWord{7, 10, 1571},
- dictWord{9, 10, 107},
- dictWord{140, 10, 225},
- dictWord{
- 7,
- 11,
- 197,
- },
- dictWord{8, 11, 142},
- dictWord{8, 11, 325},
- dictWord{9, 11, 150},
- dictWord{9, 11, 596},
- dictWord{10, 11, 350},
- dictWord{10, 11, 353},
- dictWord{
- 11,
- 11,
- 74,
- },
- dictWord{11, 11, 315},
- dictWord{14, 11, 423},
- dictWord{143, 11, 141},
- dictWord{5, 0, 993},
- dictWord{7, 0, 515},
- dictWord{137, 0, 91},
- dictWord{4, 0, 131},
- dictWord{8, 0, 200},
- dictWord{5, 10, 484},
- dictWord{5, 10, 510},
- dictWord{6, 10, 434},
- dictWord{7, 10, 1000},
- dictWord{7, 10, 1098},
- dictWord{136, 10, 2},
- dictWord{152, 0, 10},
- dictWord{4, 11, 62},
- dictWord{5, 11, 83},
- dictWord{6, 11, 399},
- dictWord{6, 11, 579},
- dictWord{7, 11, 692},
- dictWord{7, 11, 846},
- dictWord{
- 7,
- 11,
- 1015,
- },
- dictWord{7, 11, 1799},
- dictWord{8, 11, 403},
- dictWord{9, 11, 394},
- dictWord{10, 11, 133},
- dictWord{12, 11, 4},
- dictWord{12, 11, 297},
- dictWord{
- 12,
- 11,
- 452,
- },
- dictWord{16, 11, 81},
- dictWord{18, 11, 19},
- dictWord{18, 11, 25},
- dictWord{21, 11, 14},
- dictWord{22, 11, 12},
- dictWord{151, 11, 18},
- dictWord{
- 140,
- 11,
- 459,
- },
- dictWord{132, 11, 177},
- dictWord{7, 0, 1433},
- dictWord{9, 0, 365},
- dictWord{137, 11, 365},
- dictWord{132, 10, 460},
- dictWord{5, 0, 103},
- dictWord{
- 6,
- 0,
- 2004,
- },
- dictWord{7, 0, 921},
- dictWord{8, 0, 580},
- dictWord{8, 0, 593},
- dictWord{8, 0, 630},
- dictWord{10, 0, 28},
- dictWord{5, 11, 411},
- dictWord{
- 135,
- 11,
- 653,
- },
- dictWord{4, 10, 932},
- dictWord{133, 10, 891},
- dictWord{4, 0, 911},
- dictWord{5, 0, 867},
- dictWord{5, 0, 1013},
- dictWord{7, 0, 2034},
- dictWord{8, 0, 798},
- dictWord{136, 0, 813},
- dictWord{7, 11, 439},
- dictWord{10, 11, 727},
- dictWord{11, 11, 260},
- dictWord{139, 11, 684},
- dictWord{136, 10, 625},
- dictWord{
- 5,
- 11,
- 208,
- },
- dictWord{7, 11, 753},
- dictWord{135, 11, 1528},
- dictWord{5, 0, 461},
- dictWord{7, 0, 1925},
- dictWord{12, 0, 39},
- dictWord{13, 0, 265},
- dictWord{
- 13,
- 0,
- 439,
- },
- dictWord{134, 10, 76},
- dictWord{6, 0, 853},
- dictWord{8, 10, 92},
- dictWord{137, 10, 221},
- dictWord{5, 0, 135},
- dictWord{6, 0, 519},
- dictWord{7, 0, 1722},
- dictWord{10, 0, 271},
- dictWord{11, 0, 261},
- dictWord{145, 0, 54},
- dictWord{139, 11, 814},
- dictWord{14, 0, 338},
- dictWord{148, 0, 81},
- dictWord{4, 0, 300},
- dictWord{133, 0, 436},
- dictWord{5, 0, 419},
- dictWord{5, 0, 687},
- dictWord{7, 0, 864},
- dictWord{9, 0, 470},
- dictWord{135, 11, 864},
- dictWord{9, 0, 836},
- dictWord{
- 133,
- 11,
- 242,
- },
- dictWord{134, 0, 1937},
- dictWord{4, 10, 763},
- dictWord{133, 11, 953},
- dictWord{132, 10, 622},
- dictWord{132, 0, 393},
- dictWord{
- 133,
- 10,
- 253,
- },
- dictWord{8, 0, 357},
- dictWord{10, 0, 745},
- dictWord{14, 0, 426},
- dictWord{17, 0, 94},
- dictWord{19, 0, 57},
- dictWord{135, 10, 546},
- dictWord{5, 11, 615},
- dictWord{146, 11, 37},
- dictWord{9, 10, 73},
- dictWord{10, 10, 110},
- dictWord{14, 10, 185},
- dictWord{145, 10, 119},
- dictWord{11, 0, 703},
- dictWord{7, 10, 624},
- dictWord{7, 10, 916},
- dictWord{10, 10, 256},
- dictWord{139, 10, 87},
- dictWord{133, 11, 290},
- dictWord{5, 10, 212},
- dictWord{12, 10, 35},
- dictWord{
- 141,
- 10,
- 382,
- },
- dictWord{132, 11, 380},
- dictWord{5, 11, 52},
- dictWord{7, 11, 277},
- dictWord{9, 11, 368},
- dictWord{139, 11, 791},
- dictWord{133, 0, 387},
- dictWord{
- 10,
- 11,
- 138,
- },
- dictWord{139, 11, 476},
- dictWord{4, 0, 6},
- dictWord{5, 0, 708},
- dictWord{136, 0, 75},
- dictWord{7, 0, 1351},
- dictWord{9, 0, 581},
- dictWord{10, 0, 639},
- dictWord{11, 0, 453},
- dictWord{140, 0, 584},
- dictWord{132, 0, 303},
- dictWord{138, 0, 772},
- dictWord{135, 10, 1175},
- dictWord{4, 0, 749},
- dictWord{
- 5,
- 10,
- 816,
- },
- dictWord{6, 11, 256},
- dictWord{7, 11, 307},
- dictWord{7, 11, 999},
- dictWord{7, 11, 1481},
- dictWord{7, 11, 1732},
- dictWord{7, 11, 1738},
- dictWord{
- 8,
- 11,
- 265,
- },
- dictWord{9, 11, 414},
- dictWord{11, 11, 316},
- dictWord{12, 11, 52},
- dictWord{13, 11, 420},
- dictWord{147, 11, 100},
- dictWord{135, 11, 1296},
- dictWord{
- 6,
- 0,
- 1065,
- },
- dictWord{5, 10, 869},
- dictWord{5, 10, 968},
- dictWord{6, 10, 1626},
- dictWord{8, 10, 734},
- dictWord{136, 10, 784},
- dictWord{4, 10, 542},
- dictWord{
- 6,
- 10,
- 1716,
- },
- dictWord{6, 10, 1727},
- dictWord{7, 10, 1082},
- dictWord{7, 10, 1545},
- dictWord{8, 10, 56},
- dictWord{8, 10, 118},
- dictWord{8, 10, 412},
- dictWord{
- 8,
- 10,
- 564,
- },
- dictWord{9, 10, 888},
- dictWord{9, 10, 908},
- dictWord{10, 10, 50},
- dictWord{10, 10, 423},
- dictWord{11, 10, 685},
- dictWord{11, 10, 697},
- dictWord{11, 10, 933},
- dictWord{12, 10, 299},
- dictWord{13, 10, 126},
- dictWord{13, 10, 136},
- dictWord{13, 10, 170},
- dictWord{141, 10, 190},
- dictWord{
- 134,
- 0,
- 226,
- },
- dictWord{4, 0, 106},
- dictWord{7, 0, 310},
- dictWord{11, 0, 717},
- dictWord{133, 11, 723},
- dictWord{5, 0, 890},
- dictWord{5, 0, 988},
- dictWord{4, 10, 232},
- dictWord{9, 10, 202},
- dictWord{10, 10, 474},
- dictWord{140, 10, 433},
- dictWord{6, 0, 626},
- dictWord{142, 0, 431},
- dictWord{10, 0, 706},
- dictWord{150, 0, 44},
- dictWord{13, 0, 51},
- dictWord{6, 10, 108},
- dictWord{7, 10, 1003},
- dictWord{7, 10, 1181},
- dictWord{8, 10, 111},
- dictWord{136, 10, 343},
- dictWord{132, 0, 698},
- dictWord{5, 11, 109},
- dictWord{6, 11, 1784},
- dictWord{7, 11, 1895},
- dictWord{12, 11, 296},
- dictWord{140, 11, 302},
- dictWord{134, 0, 828},
- dictWord{
- 134,
- 10,
- 1712,
- },
- dictWord{138, 0, 17},
- dictWord{7, 0, 1929},
- dictWord{4, 10, 133},
- dictWord{5, 11, 216},
- dictWord{7, 10, 711},
- dictWord{7, 10, 1298},
- dictWord{
- 7,
- 10,
- 1585,
- },
- dictWord{7, 11, 1879},
- dictWord{9, 11, 141},
- dictWord{9, 11, 270},
- dictWord{9, 11, 679},
- dictWord{10, 11, 159},
- dictWord{10, 11, 553},
- dictWord{
- 11,
- 11,
- 197,
- },
- dictWord{11, 11, 438},
- dictWord{12, 11, 538},
- dictWord{12, 11, 559},
- dictWord{13, 11, 193},
- dictWord{13, 11, 423},
- dictWord{14, 11, 144},
- dictWord{14, 11, 166},
- dictWord{14, 11, 167},
- dictWord{15, 11, 67},
- dictWord{147, 11, 84},
- dictWord{141, 11, 127},
- dictWord{7, 11, 1872},
- dictWord{
- 137,
- 11,
- 81,
- },
- dictWord{6, 10, 99},
- dictWord{7, 10, 1808},
- dictWord{145, 10, 57},
- dictWord{134, 11, 391},
- dictWord{5, 0, 689},
- dictWord{6, 0, 84},
- dictWord{7, 0, 1250},
- dictWord{6, 10, 574},
- dictWord{7, 10, 428},
- dictWord{10, 10, 669},
- dictWord{11, 10, 485},
- dictWord{11, 10, 840},
- dictWord{12, 10, 300},
- dictWord{
- 142,
- 10,
- 250,
- },
- dictWord{7, 11, 322},
- dictWord{136, 11, 249},
- dictWord{7, 11, 432},
- dictWord{135, 11, 1649},
- dictWord{135, 10, 1871},
- dictWord{137, 10, 252},
- dictWord{6, 11, 155},
- dictWord{140, 11, 234},
- dictWord{7, 0, 871},
- dictWord{19, 0, 27},
- dictWord{147, 11, 27},
- dictWord{140, 0, 498},
- dictWord{5, 0, 986},
- dictWord{6, 0, 130},
- dictWord{138, 0, 823},
- dictWord{6, 0, 1793},
- dictWord{7, 0, 1582},
- dictWord{8, 0, 458},
- dictWord{10, 0, 101},
- dictWord{10, 0, 318},
- dictWord{
- 10,
- 0,
- 945,
- },
- dictWord{12, 0, 734},
- dictWord{16, 0, 104},
- dictWord{18, 0, 177},
- dictWord{6, 10, 323},
- dictWord{135, 10, 1564},
- dictWord{5, 11, 632},
- dictWord{
- 138,
- 11,
- 526,
- },
- dictWord{10, 0, 435},
- dictWord{7, 10, 461},
- dictWord{136, 10, 775},
- dictWord{6, 11, 144},
- dictWord{7, 11, 948},
- dictWord{7, 11, 1042},
- dictWord{
- 7,
- 11,
- 1857,
- },
- dictWord{8, 11, 235},
- dictWord{8, 11, 461},
- dictWord{9, 11, 453},
- dictWord{9, 11, 530},
- dictWord{10, 11, 354},
- dictWord{17, 11, 77},
- dictWord{
- 19,
- 11,
- 99,
- },
- dictWord{148, 11, 79},
- dictWord{138, 0, 966},
- dictWord{7, 0, 1644},
- dictWord{137, 0, 129},
- dictWord{135, 0, 997},
- dictWord{136, 0, 502},
- dictWord{
- 5,
- 11,
- 196,
- },
- dictWord{6, 11, 486},
- dictWord{7, 11, 212},
- dictWord{8, 11, 309},
- dictWord{136, 11, 346},
- dictWord{7, 10, 727},
- dictWord{146, 10, 73},
- dictWord{132, 0, 823},
- dictWord{132, 11, 686},
- dictWord{135, 0, 1927},
- dictWord{4, 0, 762},
- dictWord{7, 0, 1756},
- dictWord{137, 0, 98},
- dictWord{136, 10, 577},
- dictWord{24, 0, 8},
- dictWord{4, 11, 30},
- dictWord{5, 11, 43},
- dictWord{152, 11, 8},
- dictWord{7, 0, 1046},
- dictWord{139, 0, 160},
- dictWord{7, 0, 492},
- dictWord{
- 4,
- 10,
- 413,
- },
- dictWord{5, 10, 677},
- dictWord{7, 11, 492},
- dictWord{8, 10, 432},
- dictWord{140, 10, 280},
- dictWord{6, 0, 45},
- dictWord{7, 0, 433},
- dictWord{8, 0, 129},
- dictWord{9, 0, 21},
- dictWord{10, 0, 392},
- dictWord{11, 0, 79},
- dictWord{12, 0, 499},
- dictWord{13, 0, 199},
- dictWord{141, 0, 451},
- dictWord{7, 0, 558},
- dictWord{
- 136,
- 0,
- 353,
- },
- dictWord{4, 11, 220},
- dictWord{7, 11, 1535},
- dictWord{9, 11, 93},
- dictWord{139, 11, 474},
- dictWord{7, 10, 646},
- dictWord{7, 10, 1730},
- dictWord{
- 11,
- 10,
- 446,
- },
- dictWord{141, 10, 178},
- dictWord{133, 0, 785},
- dictWord{134, 0, 1145},
- dictWord{8, 0, 81},
- dictWord{9, 0, 189},
- dictWord{9, 0, 201},
- dictWord{
- 11,
- 0,
- 478,
- },
- dictWord{11, 0, 712},
- dictWord{141, 0, 338},
- dictWord{5, 0, 353},
- dictWord{151, 0, 26},
- dictWord{11, 0, 762},
- dictWord{132, 10, 395},
- dictWord{
- 134,
- 0,
- 2024,
- },
- dictWord{4, 0, 611},
- dictWord{133, 0, 606},
- dictWord{9, 10, 174},
- dictWord{10, 10, 164},
- dictWord{11, 10, 440},
- dictWord{11, 10, 841},
- dictWord{
- 143,
- 10,
- 98,
- },
- dictWord{134, 10, 426},
- dictWord{10, 10, 608},
- dictWord{139, 10, 1002},
- dictWord{138, 10, 250},
- dictWord{6, 0, 25},
- dictWord{7, 0, 855},
- dictWord{7, 0, 1258},
- dictWord{144, 0, 32},
- dictWord{7, 11, 1725},
- dictWord{138, 11, 393},
- dictWord{5, 11, 263},
- dictWord{134, 11, 414},
- dictWord{6, 0, 2011},
- dictWord{133, 10, 476},
- dictWord{4, 0, 4},
- dictWord{7, 0, 1118},
- dictWord{7, 0, 1320},
- dictWord{7, 0, 1706},
- dictWord{8, 0, 277},
- dictWord{9, 0, 622},
- dictWord{
- 10,
- 0,
- 9,
- },
- dictWord{11, 0, 724},
- dictWord{12, 0, 350},
- dictWord{12, 0, 397},
- dictWord{13, 0, 28},
- dictWord{13, 0, 159},
- dictWord{15, 0, 89},
- dictWord{18, 0, 5},
- dictWord{
- 19,
- 0,
- 9,
- },
- dictWord{20, 0, 34},
- dictWord{22, 0, 47},
- dictWord{6, 11, 178},
- dictWord{6, 11, 1750},
- dictWord{8, 11, 251},
- dictWord{9, 11, 690},
- dictWord{
- 10,
- 11,
- 155,
- },
- dictWord{10, 11, 196},
- dictWord{10, 11, 373},
- dictWord{11, 11, 698},
- dictWord{13, 11, 155},
- dictWord{148, 11, 93},
- dictWord{5, 11, 97},
- dictWord{
- 137,
- 11,
- 393,
- },
- dictWord{7, 0, 764},
- dictWord{11, 0, 461},
- dictWord{12, 0, 172},
- dictWord{5, 10, 76},
- dictWord{6, 10, 458},
- dictWord{6, 10, 497},
- dictWord{
- 7,
- 10,
- 868,
- },
- dictWord{9, 10, 658},
- dictWord{10, 10, 594},
- dictWord{11, 10, 566},
- dictWord{12, 10, 338},
- dictWord{141, 10, 200},
- dictWord{134, 0, 1449},
- dictWord{138, 11, 40},
- dictWord{134, 11, 1639},
- dictWord{134, 0, 1445},
- dictWord{6, 0, 1168},
- dictWord{4, 10, 526},
- dictWord{7, 10, 1029},
- dictWord{
- 135,
- 10,
- 1054,
- },
- dictWord{4, 11, 191},
- dictWord{7, 11, 934},
- dictWord{8, 11, 647},
- dictWord{145, 11, 97},
- dictWord{132, 10, 636},
- dictWord{6, 0, 233},
- dictWord{
- 7,
- 10,
- 660,
- },
- dictWord{7, 10, 1124},
- dictWord{17, 10, 31},
- dictWord{19, 10, 22},
- dictWord{151, 10, 14},
- dictWord{6, 10, 1699},
- dictWord{136, 11, 110},
- dictWord{
- 12,
- 11,
- 246,
- },
- dictWord{15, 11, 162},
- dictWord{19, 11, 64},
- dictWord{20, 11, 8},
- dictWord{20, 11, 95},
- dictWord{22, 11, 24},
- dictWord{152, 11, 17},
- dictWord{
- 5,
- 11,
- 165,
- },
- dictWord{9, 11, 346},
- dictWord{138, 11, 655},
- dictWord{5, 11, 319},
- dictWord{135, 11, 534},
- dictWord{134, 0, 255},
- dictWord{9, 0, 216},
- dictWord{
- 8,
- 11,
- 128,
- },
- dictWord{139, 11, 179},
- dictWord{9, 0, 183},
- dictWord{139, 0, 286},
- dictWord{11, 0, 956},
- dictWord{151, 0, 3},
- dictWord{4, 0, 536},
- dictWord{
- 7,
- 0,
- 1141,
- },
- dictWord{10, 0, 723},
- dictWord{139, 0, 371},
- dictWord{4, 10, 279},
- dictWord{7, 10, 301},
- dictWord{137, 10, 362},
- dictWord{7, 0, 285},
- dictWord{
- 5,
- 11,
- 57,
- },
- dictWord{6, 11, 101},
- dictWord{6, 11, 1663},
- dictWord{7, 11, 132},
- dictWord{7, 11, 1048},
- dictWord{7, 11, 1154},
- dictWord{7, 11, 1415},
- dictWord{
- 7,
- 11,
- 1507,
- },
- dictWord{12, 11, 493},
- dictWord{15, 11, 105},
- dictWord{151, 11, 15},
- dictWord{5, 11, 459},
- dictWord{7, 11, 1073},
- dictWord{7, 10, 1743},
- dictWord{
- 8,
- 11,
- 241,
- },
- dictWord{136, 11, 334},
- dictWord{4, 10, 178},
- dictWord{133, 10, 399},
- dictWord{135, 0, 560},
- dictWord{132, 0, 690},
- dictWord{135, 0, 1246},
- dictWord{18, 0, 157},
- dictWord{147, 0, 63},
- dictWord{10, 0, 599},
- dictWord{11, 0, 33},
- dictWord{12, 0, 571},
- dictWord{149, 0, 1},
- dictWord{6, 11, 324},
- dictWord{
- 6,
- 11,
- 520,
- },
- dictWord{7, 11, 338},
- dictWord{7, 11, 1616},
- dictWord{7, 11, 1729},
- dictWord{8, 11, 228},
- dictWord{9, 11, 69},
- dictWord{139, 11, 750},
- dictWord{
- 7,
- 0,
- 1862,
- },
- dictWord{12, 0, 491},
- dictWord{12, 0, 520},
- dictWord{13, 0, 383},
- dictWord{142, 0, 244},
- dictWord{135, 11, 734},
- dictWord{134, 10, 1692},
- dictWord{10, 0, 448},
- dictWord{11, 0, 630},
- dictWord{17, 0, 117},
- dictWord{6, 10, 202},
- dictWord{7, 11, 705},
- dictWord{12, 10, 360},
- dictWord{17, 10, 118},
- dictWord{18, 10, 27},
- dictWord{148, 10, 67},
- dictWord{4, 11, 73},
- dictWord{6, 11, 612},
- dictWord{7, 11, 927},
- dictWord{7, 11, 1822},
- dictWord{8, 11, 217},
- dictWord{
- 9,
- 11,
- 472,
- },
- dictWord{9, 11, 765},
- dictWord{9, 11, 766},
- dictWord{10, 11, 408},
- dictWord{11, 11, 51},
- dictWord{11, 11, 793},
- dictWord{12, 11, 266},
- dictWord{
- 15,
- 11,
- 158,
- },
- dictWord{20, 11, 89},
- dictWord{150, 11, 32},
- dictWord{4, 0, 190},
- dictWord{133, 0, 554},
- dictWord{133, 0, 1001},
- dictWord{5, 11, 389},
- dictWord{
- 8,
- 11,
- 636,
- },
- dictWord{137, 11, 229},
- dictWord{5, 0, 446},
- dictWord{7, 10, 872},
- dictWord{10, 10, 516},
- dictWord{139, 10, 167},
- dictWord{137, 10, 313},
- dictWord{132, 10, 224},
- dictWord{134, 0, 1313},
- dictWord{5, 10, 546},
- dictWord{7, 10, 35},
- dictWord{8, 10, 11},
- dictWord{8, 10, 12},
- dictWord{9, 10, 315},
- dictWord{9, 10, 533},
- dictWord{10, 10, 802},
- dictWord{11, 10, 166},
- dictWord{12, 10, 525},
- dictWord{142, 10, 243},
- dictWord{6, 0, 636},
- dictWord{137, 0, 837},
- dictWord{5, 10, 241},
- dictWord{8, 10, 242},
- dictWord{9, 10, 451},
- dictWord{10, 10, 667},
- dictWord{11, 10, 598},
- dictWord{140, 10, 429},
- dictWord{22, 10, 46},
- dictWord{150, 11, 46},
- dictWord{136, 11, 472},
- dictWord{11, 0, 278},
- dictWord{142, 0, 73},
- dictWord{141, 11, 185},
- dictWord{132, 0, 868},
- dictWord{
- 134,
- 0,
- 972,
- },
- dictWord{4, 10, 366},
- dictWord{137, 10, 516},
- dictWord{138, 0, 1010},
- dictWord{5, 11, 189},
- dictWord{6, 10, 1736},
- dictWord{7, 11, 442},
- dictWord{
- 7,
- 11,
- 443,
- },
- dictWord{8, 11, 281},
- dictWord{12, 11, 174},
- dictWord{13, 11, 83},
- dictWord{141, 11, 261},
- dictWord{139, 11, 384},
- dictWord{6, 11, 2},
- dictWord{
- 7,
- 11,
- 191,
- },
- dictWord{7, 11, 446},
- dictWord{7, 11, 758},
- dictWord{7, 11, 1262},
- dictWord{7, 11, 1737},
- dictWord{8, 11, 22},
- dictWord{8, 11, 270},
- dictWord{
- 8,
- 11,
- 612,
- },
- dictWord{9, 11, 4},
- dictWord{9, 11, 167},
- dictWord{9, 11, 312},
- dictWord{9, 11, 436},
- dictWord{10, 11, 156},
- dictWord{10, 11, 216},
- dictWord{
- 10,
- 11,
- 311,
- },
- dictWord{10, 11, 623},
- dictWord{11, 11, 72},
- dictWord{11, 11, 330},
- dictWord{11, 11, 455},
- dictWord{12, 11, 101},
- dictWord{12, 11, 321},
- dictWord{
- 12,
- 11,
- 504,
- },
- dictWord{12, 11, 530},
- dictWord{12, 11, 543},
- dictWord{13, 11, 17},
- dictWord{13, 11, 156},
- dictWord{13, 11, 334},
- dictWord{14, 11, 48},
- dictWord{15, 11, 70},
- dictWord{17, 11, 60},
- dictWord{148, 11, 64},
- dictWord{6, 10, 331},
- dictWord{136, 10, 623},
- dictWord{135, 0, 1231},
- dictWord{132, 0, 304},
- dictWord{6, 11, 60},
- dictWord{7, 11, 670},
- dictWord{7, 11, 1327},
- dictWord{8, 11, 411},
- dictWord{8, 11, 435},
- dictWord{9, 11, 653},
- dictWord{9, 11, 740},
- dictWord{10, 11, 385},
- dictWord{11, 11, 222},
- dictWord{11, 11, 324},
- dictWord{11, 11, 829},
- dictWord{140, 11, 611},
- dictWord{7, 0, 506},
- dictWord{6, 11, 166},
- dictWord{7, 11, 374},
- dictWord{135, 11, 1174},
- dictWord{14, 11, 43},
- dictWord{146, 11, 21},
- dictWord{135, 11, 1694},
- dictWord{135, 10, 1888},
- dictWord{
- 5,
- 11,
- 206,
- },
- dictWord{134, 11, 398},
- dictWord{135, 11, 50},
- dictWord{150, 0, 26},
- dictWord{6, 0, 53},
- dictWord{6, 0, 199},
- dictWord{7, 0, 1408},
- dictWord{
- 8,
- 0,
- 32,
- },
- dictWord{8, 0, 93},
- dictWord{10, 0, 397},
- dictWord{10, 0, 629},
- dictWord{11, 0, 593},
- dictWord{11, 0, 763},
- dictWord{13, 0, 326},
- dictWord{145, 0, 35},
- dictWord{134, 0, 105},
- dictWord{132, 10, 394},
- dictWord{4, 0, 843},
- dictWord{138, 0, 794},
- dictWord{11, 0, 704},
- dictWord{141, 0, 396},
- dictWord{5, 0, 114},
- dictWord{5, 0, 255},
- dictWord{141, 0, 285},
- dictWord{6, 0, 619},
- dictWord{7, 0, 898},
- dictWord{7, 0, 1092},
- dictWord{8, 0, 485},
- dictWord{18, 0, 28},
- dictWord{
- 19,
- 0,
- 116,
- },
- dictWord{135, 10, 1931},
- dictWord{9, 0, 145},
- dictWord{7, 10, 574},
- dictWord{135, 10, 1719},
- dictWord{7, 0, 2035},
- dictWord{8, 0, 19},
- dictWord{
- 9,
- 0,
- 89,
- },
- dictWord{138, 0, 831},
- dictWord{132, 10, 658},
- dictWord{6, 11, 517},
- dictWord{7, 11, 1159},
- dictWord{10, 11, 621},
- dictWord{139, 11, 192},
- dictWord{
- 7,
- 0,
- 1933,
- },
- dictWord{7, 11, 1933},
- dictWord{9, 10, 781},
- dictWord{10, 10, 144},
- dictWord{11, 10, 385},
- dictWord{13, 10, 161},
- dictWord{13, 10, 228},
- dictWord{13, 10, 268},
- dictWord{148, 10, 107},
- dictWord{136, 10, 374},
- dictWord{10, 11, 223},
- dictWord{139, 11, 645},
- dictWord{135, 0, 1728},
- dictWord{
- 7,
- 11,
- 64,
- },
- dictWord{7, 11, 289},
- dictWord{136, 11, 245},
- dictWord{4, 10, 344},
- dictWord{6, 10, 498},
- dictWord{139, 10, 323},
- dictWord{136, 0, 746},
- dictWord{
- 135,
- 10,
- 1063,
- },
- dictWord{137, 10, 155},
- dictWord{4, 0, 987},
- dictWord{6, 0, 1964},
- dictWord{6, 0, 1974},
- dictWord{6, 0, 1990},
- dictWord{136, 0, 995},
- dictWord{133, 11, 609},
- dictWord{133, 10, 906},
- dictWord{134, 0, 1550},
- dictWord{134, 0, 874},
- dictWord{5, 11, 129},
- dictWord{6, 11, 61},
- dictWord{
- 135,
- 11,
- 947,
- },
- dictWord{4, 0, 1018},
- dictWord{6, 0, 1938},
- dictWord{6, 0, 2021},
- dictWord{134, 0, 2039},
- dictWord{132, 0, 814},
- dictWord{11, 0, 126},
- dictWord{
- 139,
- 0,
- 287,
- },
- dictWord{134, 0, 1264},
- dictWord{5, 0, 955},
- dictWord{136, 0, 814},
- dictWord{141, 11, 506},
- dictWord{132, 11, 314},
- dictWord{6, 0, 981},
- dictWord{139, 11, 1000},
- dictWord{5, 0, 56},
- dictWord{8, 0, 892},
- dictWord{8, 0, 915},
- dictWord{140, 0, 776},
- dictWord{148, 0, 100},
- dictWord{10, 0, 4},
- dictWord{
- 10,
- 0,
- 13,
- },
- dictWord{11, 0, 638},
- dictWord{148, 0, 57},
- dictWord{148, 11, 74},
- dictWord{5, 0, 738},
- dictWord{132, 10, 616},
- dictWord{133, 11, 637},
- dictWord{
- 136,
- 10,
- 692,
- },
- dictWord{133, 0, 758},
- dictWord{132, 10, 305},
- dictWord{137, 11, 590},
- dictWord{5, 11, 280},
- dictWord{135, 11, 1226},
- dictWord{
- 134,
- 11,
- 494,
- },
- dictWord{135, 0, 1112},
- dictWord{133, 11, 281},
- dictWord{13, 0, 44},
- dictWord{14, 0, 214},
- dictWord{5, 10, 214},
- dictWord{7, 10, 603},
- dictWord{
- 8,
- 10,
- 611,
- },
- dictWord{9, 10, 686},
- dictWord{10, 10, 88},
- dictWord{11, 10, 459},
- dictWord{11, 10, 496},
- dictWord{12, 10, 463},
- dictWord{140, 10, 590},
- dictWord{
- 139,
- 0,
- 328,
- },
- dictWord{135, 11, 1064},
- dictWord{137, 0, 133},
- dictWord{7, 0, 168},
- dictWord{13, 0, 196},
- dictWord{141, 0, 237},
- dictWord{134, 10, 1703},
- dictWord{134, 0, 1152},
- dictWord{135, 0, 1245},
- dictWord{5, 0, 110},
- dictWord{6, 0, 169},
- dictWord{6, 0, 1702},
- dictWord{7, 0, 400},
- dictWord{8, 0, 538},
- dictWord{
- 9,
- 0,
- 184,
- },
- dictWord{9, 0, 524},
- dictWord{140, 0, 218},
- dictWord{6, 0, 1816},
- dictWord{10, 0, 871},
- dictWord{12, 0, 769},
- dictWord{140, 0, 785},
- dictWord{
- 132,
- 11,
- 630,
- },
- dictWord{7, 11, 33},
- dictWord{7, 11, 120},
- dictWord{8, 11, 489},
- dictWord{9, 11, 319},
- dictWord{10, 11, 820},
- dictWord{11, 11, 1004},
- dictWord{
- 12,
- 11,
- 379,
- },
- dictWord{13, 11, 117},
- dictWord{13, 11, 412},
- dictWord{14, 11, 25},
- dictWord{15, 11, 52},
- dictWord{15, 11, 161},
- dictWord{16, 11, 47},
- dictWord{149, 11, 2},
- dictWord{6, 0, 133},
- dictWord{8, 0, 413},
- dictWord{9, 0, 353},
- dictWord{139, 0, 993},
- dictWord{145, 10, 19},
- dictWord{4, 11, 937},
- dictWord{
- 133,
- 11,
- 801,
- },
- dictWord{134, 0, 978},
- dictWord{6, 0, 93},
- dictWord{6, 0, 1508},
- dictWord{7, 0, 1422},
- dictWord{7, 0, 1851},
- dictWord{8, 0, 673},
- dictWord{9, 0, 529},
- dictWord{140, 0, 43},
- dictWord{6, 0, 317},
- dictWord{10, 0, 512},
- dictWord{4, 10, 737},
- dictWord{11, 10, 294},
- dictWord{12, 10, 60},
- dictWord{12, 10, 437},
- dictWord{13, 10, 64},
- dictWord{13, 10, 380},
- dictWord{142, 10, 430},
- dictWord{9, 0, 371},
- dictWord{7, 11, 1591},
- dictWord{144, 11, 43},
- dictWord{6, 10, 1758},
- dictWord{8, 10, 520},
- dictWord{9, 10, 345},
- dictWord{9, 10, 403},
- dictWord{142, 10, 350},
- dictWord{5, 0, 526},
- dictWord{10, 10, 242},
- dictWord{
- 138,
- 10,
- 579,
- },
- dictWord{9, 0, 25},
- dictWord{10, 0, 467},
- dictWord{138, 0, 559},
- dictWord{5, 10, 139},
- dictWord{7, 10, 1168},
- dictWord{138, 10, 539},
- dictWord{
- 4,
- 0,
- 335,
- },
- dictWord{135, 0, 942},
- dictWord{140, 0, 754},
- dictWord{132, 11, 365},
- dictWord{11, 0, 182},
- dictWord{142, 0, 195},
- dictWord{142, 11, 29},
- dictWord{
- 5,
- 11,
- 7,
- },
- dictWord{139, 11, 774},
- dictWord{4, 11, 746},
- dictWord{135, 11, 1090},
- dictWord{8, 0, 39},
- dictWord{10, 0, 773},
- dictWord{11, 0, 84},
- dictWord{
- 12,
- 0,
- 205,
- },
- dictWord{142, 0, 1},
- dictWord{5, 0, 601},
- dictWord{5, 0, 870},
- dictWord{5, 11, 360},
- dictWord{136, 11, 237},
- dictWord{132, 0, 181},
- dictWord{
- 136,
- 0,
- 370,
- },
- dictWord{134, 0, 1652},
- dictWord{8, 0, 358},
- dictWord{4, 10, 107},
- dictWord{7, 10, 613},
- dictWord{8, 10, 439},
- dictWord{8, 10, 504},
- dictWord{
- 9,
- 10,
- 501,
- },
- dictWord{10, 10, 383},
- dictWord{139, 10, 477},
- dictWord{132, 10, 229},
- dictWord{137, 11, 785},
- dictWord{4, 0, 97},
- dictWord{5, 0, 147},
- dictWord{
- 6,
- 0,
- 286,
- },
- dictWord{7, 0, 1362},
- dictWord{141, 0, 176},
- dictWord{6, 0, 537},
- dictWord{7, 0, 788},
- dictWord{7, 0, 1816},
- dictWord{132, 10, 903},
- dictWord{
- 140,
- 10,
- 71,
- },
- dictWord{6, 0, 743},
- dictWord{134, 0, 1223},
- dictWord{6, 0, 375},
- dictWord{7, 0, 169},
- dictWord{7, 0, 254},
- dictWord{8, 0, 780},
- dictWord{135, 11, 1493},
- dictWord{7, 0, 1714},
- dictWord{4, 10, 47},
- dictWord{6, 10, 373},
- dictWord{7, 10, 452},
- dictWord{7, 10, 543},
- dictWord{7, 10, 1856},
- dictWord{9, 10, 6},
- dictWord{
- 11,
- 10,
- 257,
- },
- dictWord{139, 10, 391},
- dictWord{6, 0, 896},
- dictWord{136, 0, 1003},
- dictWord{135, 0, 1447},
- dictWord{137, 11, 341},
- dictWord{5, 10, 980},
- dictWord{134, 10, 1754},
- dictWord{145, 11, 22},
- dictWord{4, 11, 277},
- dictWord{5, 11, 608},
- dictWord{6, 11, 493},
- dictWord{7, 11, 457},
- dictWord{
- 140,
- 11,
- 384,
- },
- dictWord{7, 10, 536},
- dictWord{7, 10, 1331},
- dictWord{136, 10, 143},
- dictWord{140, 0, 744},
- dictWord{7, 11, 27},
- dictWord{135, 11, 316},
- dictWord{
- 18,
- 0,
- 126,
- },
- dictWord{5, 10, 19},
- dictWord{134, 10, 533},
- dictWord{4, 0, 788},
- dictWord{11, 0, 41},
- dictWord{5, 11, 552},
- dictWord{5, 11, 586},
- dictWord{
- 5,
- 11,
- 676,
- },
- dictWord{6, 11, 448},
- dictWord{8, 11, 244},
- dictWord{11, 11, 1},
- dictWord{11, 11, 41},
- dictWord{13, 11, 3},
- dictWord{16, 11, 54},
- dictWord{17, 11, 4},
- dictWord{146, 11, 13},
- dictWord{4, 0, 985},
- dictWord{6, 0, 1801},
- dictWord{4, 11, 401},
- dictWord{137, 11, 264},
- dictWord{5, 10, 395},
- dictWord{5, 10, 951},
- dictWord{134, 10, 1776},
- dictWord{5, 0, 629},
- dictWord{135, 0, 1549},
- dictWord{11, 10, 663},
- dictWord{12, 10, 210},
- dictWord{13, 10, 166},
- dictWord{
- 13,
- 10,
- 310,
- },
- dictWord{14, 10, 373},
- dictWord{147, 10, 43},
- dictWord{9, 11, 543},
- dictWord{10, 11, 524},
- dictWord{11, 11, 30},
- dictWord{12, 11, 524},
- dictWord{
- 14,
- 11,
- 315,
- },
- dictWord{16, 11, 18},
- dictWord{20, 11, 26},
- dictWord{148, 11, 65},
- dictWord{4, 11, 205},
- dictWord{5, 11, 623},
- dictWord{7, 11, 104},
- dictWord{
- 136,
- 11,
- 519,
- },
- dictWord{5, 0, 293},
- dictWord{134, 0, 601},
- dictWord{7, 11, 579},
- dictWord{9, 11, 41},
- dictWord{9, 11, 244},
- dictWord{9, 11, 669},
- dictWord{
- 10,
- 11,
- 5,
- },
- dictWord{11, 11, 861},
- dictWord{11, 11, 951},
- dictWord{139, 11, 980},
- dictWord{132, 11, 717},
- dictWord{132, 10, 695},
- dictWord{7, 10, 497},
- dictWord{
- 9,
- 10,
- 387,
- },
- dictWord{147, 10, 81},
- dictWord{132, 0, 420},
- dictWord{142, 0, 37},
- dictWord{6, 0, 1134},
- dictWord{6, 0, 1900},
- dictWord{12, 0, 830},
- dictWord{
- 12,
- 0,
- 878,
- },
- dictWord{12, 0, 894},
- dictWord{15, 0, 221},
- dictWord{143, 0, 245},
- dictWord{132, 11, 489},
- dictWord{7, 0, 1570},
- dictWord{140, 0, 542},
- dictWord{
- 8,
- 0,
- 933,
- },
- dictWord{136, 0, 957},
- dictWord{6, 0, 1371},
- dictWord{7, 0, 31},
- dictWord{8, 0, 373},
- dictWord{5, 10, 284},
- dictWord{6, 10, 49},
- dictWord{6, 10, 350},
- dictWord{7, 10, 377},
- dictWord{7, 10, 1693},
- dictWord{8, 10, 678},
- dictWord{9, 10, 161},
- dictWord{9, 10, 585},
- dictWord{9, 10, 671},
- dictWord{9, 10, 839},
- dictWord{11, 10, 912},
- dictWord{141, 10, 427},
- dictWord{135, 11, 892},
- dictWord{4, 0, 325},
- dictWord{138, 0, 125},
- dictWord{139, 11, 47},
- dictWord{
- 132,
- 10,
- 597,
- },
- dictWord{138, 0, 323},
- dictWord{6, 0, 1547},
- dictWord{7, 11, 1605},
- dictWord{9, 11, 473},
- dictWord{11, 11, 962},
- dictWord{146, 11, 139},
- dictWord{
- 139,
- 10,
- 908,
- },
- dictWord{7, 11, 819},
- dictWord{9, 11, 26},
- dictWord{9, 11, 392},
- dictWord{10, 11, 152},
- dictWord{10, 11, 226},
- dictWord{11, 11, 19},
- dictWord{
- 12,
- 11,
- 276,
- },
- dictWord{12, 11, 426},
- dictWord{12, 11, 589},
- dictWord{13, 11, 460},
- dictWord{15, 11, 97},
- dictWord{19, 11, 48},
- dictWord{148, 11, 104},
- dictWord{135, 11, 51},
- dictWord{4, 0, 718},
- dictWord{135, 0, 1216},
- dictWord{6, 0, 1896},
- dictWord{6, 0, 1905},
- dictWord{6, 0, 1912},
- dictWord{9, 0, 947},
- dictWord{
- 9,
- 0,
- 974,
- },
- dictWord{12, 0, 809},
- dictWord{12, 0, 850},
- dictWord{12, 0, 858},
- dictWord{12, 0, 874},
- dictWord{12, 0, 887},
- dictWord{12, 0, 904},
- dictWord{
- 12,
- 0,
- 929,
- },
- dictWord{12, 0, 948},
- dictWord{12, 0, 952},
- dictWord{15, 0, 198},
- dictWord{15, 0, 206},
- dictWord{15, 0, 220},
- dictWord{15, 0, 227},
- dictWord{15, 0, 247},
- dictWord{18, 0, 188},
- dictWord{21, 0, 48},
- dictWord{21, 0, 50},
- dictWord{24, 0, 25},
- dictWord{24, 0, 29},
- dictWord{7, 11, 761},
- dictWord{7, 11, 1051},
- dictWord{
- 137,
- 11,
- 545,
- },
- dictWord{5, 0, 124},
- dictWord{5, 0, 144},
- dictWord{6, 0, 548},
- dictWord{7, 0, 15},
- dictWord{7, 0, 153},
- dictWord{137, 0, 629},
- dictWord{
- 135,
- 11,
- 606,
- },
- dictWord{135, 10, 2014},
- dictWord{7, 10, 2007},
- dictWord{9, 11, 46},
- dictWord{9, 10, 101},
- dictWord{9, 10, 450},
- dictWord{10, 10, 66},
- dictWord{
- 10,
- 10,
- 842,
- },
- dictWord{11, 10, 536},
- dictWord{140, 10, 587},
- dictWord{6, 0, 75},
- dictWord{7, 0, 1531},
- dictWord{8, 0, 416},
- dictWord{9, 0, 240},
- dictWord{9, 0, 275},
- dictWord{10, 0, 100},
- dictWord{11, 0, 658},
- dictWord{11, 0, 979},
- dictWord{12, 0, 86},
- dictWord{14, 0, 207},
- dictWord{15, 0, 20},
- dictWord{143, 0, 25},
- dictWord{
- 5,
- 0,
- 141,
- },
- dictWord{5, 0, 915},
- dictWord{6, 0, 1783},
- dictWord{7, 0, 211},
- dictWord{7, 0, 698},
- dictWord{7, 0, 1353},
- dictWord{9, 0, 83},
- dictWord{9, 0, 281},
- dictWord{
- 10,
- 0,
- 376,
- },
- dictWord{10, 0, 431},
- dictWord{11, 0, 543},
- dictWord{12, 0, 664},
- dictWord{13, 0, 280},
- dictWord{13, 0, 428},
- dictWord{14, 0, 61},
- dictWord{
- 14,
- 0,
- 128,
- },
- dictWord{17, 0, 52},
- dictWord{145, 0, 81},
- dictWord{132, 11, 674},
- dictWord{135, 0, 533},
- dictWord{149, 0, 6},
- dictWord{132, 11, 770},
- dictWord{
- 133,
- 0,
- 538,
- },
- dictWord{5, 11, 79},
- dictWord{7, 11, 1027},
- dictWord{7, 11, 1477},
- dictWord{139, 11, 52},
- dictWord{139, 10, 62},
- dictWord{4, 0, 338},
- dictWord{
- 133,
- 0,
- 400,
- },
- dictWord{5, 11, 789},
- dictWord{134, 11, 195},
- dictWord{4, 11, 251},
- dictWord{4, 11, 688},
- dictWord{7, 11, 513},
- dictWord{7, 11, 1284},
- dictWord{
- 9,
- 11,
- 87,
- },
- dictWord{138, 11, 365},
- dictWord{134, 10, 1766},
- dictWord{6, 0, 0},
- dictWord{7, 0, 84},
- dictWord{11, 0, 895},
- dictWord{145, 0, 11},
- dictWord{
- 139,
- 0,
- 892,
- },
- dictWord{4, 0, 221},
- dictWord{5, 0, 659},
- dictWord{7, 0, 697},
- dictWord{7, 0, 1211},
- dictWord{138, 0, 284},
- dictWord{133, 0, 989},
- dictWord{
- 133,
- 11,
- 889,
- },
- dictWord{4, 11, 160},
- dictWord{5, 11, 330},
- dictWord{7, 11, 1434},
- dictWord{136, 11, 174},
- dictWord{6, 10, 1665},
- dictWord{7, 10, 256},
- dictWord{
- 7,
- 10,
- 1388,
- },
- dictWord{10, 10, 499},
- dictWord{139, 10, 670},
- dictWord{7, 0, 848},
- dictWord{4, 10, 22},
- dictWord{5, 10, 10},
- dictWord{136, 10, 97},
- dictWord{
- 138,
- 0,
- 507,
- },
- dictWord{133, 10, 481},
- dictWord{4, 0, 188},
- dictWord{135, 0, 805},
- dictWord{5, 0, 884},
- dictWord{6, 0, 732},
- dictWord{139, 0, 991},
- dictWord{
- 135,
- 11,
- 968,
- },
- dictWord{11, 11, 636},
- dictWord{15, 11, 145},
- dictWord{17, 11, 34},
- dictWord{19, 11, 50},
- dictWord{151, 11, 20},
- dictWord{7, 0, 959},
- dictWord{
- 16,
- 0,
- 60,
- },
- dictWord{6, 10, 134},
- dictWord{7, 10, 437},
- dictWord{9, 10, 37},
- dictWord{14, 10, 285},
- dictWord{142, 10, 371},
- dictWord{7, 10, 486},
- dictWord{
- 8,
- 10,
- 155,
- },
- dictWord{11, 10, 93},
- dictWord{140, 10, 164},
- dictWord{134, 0, 1653},
- dictWord{7, 0, 337},
- dictWord{133, 10, 591},
- dictWord{6, 0, 1989},
- dictWord{
- 8,
- 0,
- 922,
- },
- dictWord{8, 0, 978},
- dictWord{133, 11, 374},
- dictWord{132, 0, 638},
- dictWord{138, 0, 500},
- dictWord{133, 11, 731},
- dictWord{5, 10, 380},
- dictWord{
- 5,
- 10,
- 650,
- },
- dictWord{136, 10, 310},
- dictWord{138, 11, 381},
- dictWord{4, 10, 364},
- dictWord{7, 10, 1156},
- dictWord{7, 10, 1187},
- dictWord{137, 10, 409},
- dictWord{137, 11, 224},
- dictWord{140, 0, 166},
- dictWord{134, 10, 482},
- dictWord{4, 11, 626},
- dictWord{5, 11, 642},
- dictWord{6, 11, 425},
- dictWord{
- 10,
- 11,
- 202,
- },
- dictWord{139, 11, 141},
- dictWord{4, 10, 781},
- dictWord{6, 10, 487},
- dictWord{7, 10, 926},
- dictWord{8, 10, 263},
- dictWord{139, 10, 500},
- dictWord{
- 135,
- 0,
- 418,
- },
- dictWord{4, 10, 94},
- dictWord{135, 10, 1265},
- dictWord{136, 0, 760},
- dictWord{132, 10, 417},
- dictWord{136, 11, 835},
- dictWord{5, 10, 348},
- dictWord{134, 10, 522},
- dictWord{6, 0, 1277},
- dictWord{134, 0, 1538},
- dictWord{139, 11, 541},
- dictWord{135, 11, 1597},
- dictWord{5, 11, 384},
- dictWord{
- 8,
- 11,
- 455,
- },
- dictWord{140, 11, 48},
- dictWord{136, 0, 770},
- dictWord{5, 11, 264},
- dictWord{134, 11, 184},
- dictWord{4, 0, 89},
- dictWord{5, 0, 489},
- dictWord{
- 6,
- 0,
- 315,
- },
- dictWord{7, 0, 553},
- dictWord{7, 0, 1745},
- dictWord{138, 0, 243},
- dictWord{4, 10, 408},
- dictWord{4, 10, 741},
- dictWord{135, 10, 500},
- dictWord{
- 134,
- 0,
- 1396,
- },
- dictWord{133, 0, 560},
- dictWord{6, 0, 1658},
- dictWord{9, 0, 3},
- dictWord{10, 0, 154},
- dictWord{11, 0, 641},
- dictWord{13, 0, 85},
- dictWord{13, 0, 201},
- dictWord{141, 0, 346},
- dictWord{135, 11, 1595},
- dictWord{5, 11, 633},
- dictWord{6, 11, 28},
- dictWord{7, 11, 219},
- dictWord{135, 11, 1323},
- dictWord{
- 9,
- 11,
- 769,
- },
- dictWord{140, 11, 185},
- dictWord{135, 11, 785},
- dictWord{7, 11, 359},
- dictWord{8, 11, 243},
- dictWord{140, 11, 175},
- dictWord{138, 0, 586},
- dictWord{
- 7,
- 0,
- 1271,
- },
- dictWord{134, 10, 73},
- dictWord{132, 11, 105},
- dictWord{4, 0, 166},
- dictWord{5, 0, 505},
- dictWord{134, 0, 1670},
- dictWord{133, 10, 576},
- dictWord{4, 11, 324},
- dictWord{138, 11, 104},
- dictWord{142, 10, 231},
- dictWord{6, 0, 637},
- dictWord{7, 10, 1264},
- dictWord{7, 10, 1678},
- dictWord{
- 11,
- 10,
- 945,
- },
- dictWord{12, 10, 341},
- dictWord{12, 10, 471},
- dictWord{12, 10, 569},
- dictWord{23, 11, 21},
- dictWord{151, 11, 23},
- dictWord{8, 11, 559},
- dictWord{
- 141,
- 11,
- 109,
- },
- dictWord{134, 0, 1947},
- dictWord{7, 0, 445},
- dictWord{8, 0, 307},
- dictWord{8, 0, 704},
- dictWord{10, 0, 41},
- dictWord{10, 0, 439},
- dictWord{
- 11,
- 0,
- 237,
- },
- dictWord{11, 0, 622},
- dictWord{140, 0, 201},
- dictWord{135, 11, 963},
- dictWord{135, 0, 1977},
- dictWord{4, 0, 189},
- dictWord{5, 0, 713},
- dictWord{
- 136,
- 0,
- 57,
- },
- dictWord{138, 0, 371},
- dictWord{135, 10, 538},
- dictWord{132, 0, 552},
- dictWord{6, 0, 883},
- dictWord{133, 10, 413},
- dictWord{6, 0, 923},
- dictWord{
- 132,
- 11,
- 758,
- },
- dictWord{138, 11, 215},
- dictWord{136, 10, 495},
- dictWord{7, 10, 54},
- dictWord{8, 10, 312},
- dictWord{10, 10, 191},
- dictWord{10, 10, 614},
- dictWord{140, 10, 567},
- dictWord{7, 11, 351},
- dictWord{139, 11, 128},
- dictWord{7, 0, 875},
- dictWord{6, 10, 468},
- dictWord{7, 10, 1478},
- dictWord{8, 10, 530},
- dictWord{142, 10, 290},
- dictWord{135, 0, 1788},
- dictWord{17, 0, 49},
- dictWord{133, 11, 918},
- dictWord{12, 11, 398},
- dictWord{20, 11, 39},
- dictWord{
- 21,
- 11,
- 11,
- },
- dictWord{150, 11, 41},
- dictWord{10, 0, 661},
- dictWord{6, 10, 484},
- dictWord{135, 10, 822},
- dictWord{135, 0, 1945},
- dictWord{134, 0, 794},
- dictWord{
- 137,
- 10,
- 900,
- },
- dictWord{135, 10, 1335},
- dictWord{6, 10, 1724},
- dictWord{135, 10, 2022},
- dictWord{132, 11, 340},
- dictWord{134, 0, 1135},
- dictWord{
- 4,
- 0,
- 784,
- },
- dictWord{133, 0, 745},
- dictWord{5, 0, 84},
- dictWord{134, 0, 163},
- dictWord{133, 0, 410},
- dictWord{4, 0, 976},
- dictWord{5, 11, 985},
- dictWord{7, 11, 509},
- dictWord{7, 11, 529},
- dictWord{145, 11, 96},
- dictWord{132, 10, 474},
- dictWord{134, 0, 703},
- dictWord{135, 11, 1919},
- dictWord{5, 0, 322},
- dictWord{
- 8,
- 0,
- 186,
- },
- dictWord{9, 0, 262},
- dictWord{10, 0, 187},
- dictWord{142, 0, 208},
- dictWord{135, 10, 1504},
- dictWord{133, 0, 227},
- dictWord{9, 0, 560},
- dictWord{
- 13,
- 0,
- 208,
- },
- dictWord{133, 10, 305},
- dictWord{132, 11, 247},
- dictWord{7, 0, 1395},
- dictWord{8, 0, 486},
- dictWord{9, 0, 236},
- dictWord{9, 0, 878},
- dictWord{
- 10,
- 0,
- 218,
- },
- dictWord{11, 0, 95},
- dictWord{19, 0, 17},
- dictWord{147, 0, 31},
- dictWord{7, 0, 2043},
- dictWord{8, 0, 672},
- dictWord{141, 0, 448},
- dictWord{4, 11, 184},
- dictWord{5, 11, 390},
- dictWord{6, 11, 337},
- dictWord{7, 11, 23},
- dictWord{7, 11, 494},
- dictWord{7, 11, 618},
- dictWord{7, 11, 1456},
- dictWord{8, 11, 27},
- dictWord{
- 8,
- 11,
- 599,
- },
- dictWord{10, 11, 153},
- dictWord{139, 11, 710},
- dictWord{135, 0, 466},
- dictWord{135, 10, 1236},
- dictWord{6, 0, 167},
- dictWord{7, 0, 186},
- dictWord{7, 0, 656},
- dictWord{10, 0, 643},
- dictWord{4, 10, 480},
- dictWord{6, 10, 302},
- dictWord{6, 10, 1642},
- dictWord{7, 10, 837},
- dictWord{7, 10, 1547},
- dictWord{
- 7,
- 10,
- 1657,
- },
- dictWord{8, 10, 429},
- dictWord{9, 10, 228},
- dictWord{13, 10, 289},
- dictWord{13, 10, 343},
- dictWord{147, 10, 101},
- dictWord{134, 0, 1428},
- dictWord{134, 0, 1440},
- dictWord{5, 0, 412},
- dictWord{7, 10, 278},
- dictWord{10, 10, 739},
- dictWord{11, 10, 708},
- dictWord{141, 10, 348},
- dictWord{
- 134,
- 0,
- 1118,
- },
- dictWord{136, 0, 562},
- dictWord{148, 11, 46},
- dictWord{9, 0, 316},
- dictWord{139, 0, 256},
- dictWord{134, 0, 1771},
- dictWord{135, 0, 1190},
- dictWord{137, 0, 132},
- dictWord{10, 11, 227},
- dictWord{11, 11, 497},
- dictWord{11, 11, 709},
- dictWord{140, 11, 415},
- dictWord{143, 0, 66},
- dictWord{6, 11, 360},
- dictWord{7, 11, 1664},
- dictWord{136, 11, 478},
- dictWord{144, 10, 28},
- dictWord{4, 0, 317},
- dictWord{135, 0, 1279},
- dictWord{5, 0, 63},
- dictWord{
- 133,
- 0,
- 509,
- },
- dictWord{136, 11, 699},
- dictWord{145, 10, 36},
- dictWord{134, 0, 1475},
- dictWord{11, 11, 343},
- dictWord{142, 11, 127},
- dictWord{132, 11, 739},
- dictWord{132, 0, 288},
- dictWord{135, 11, 1757},
- dictWord{8, 0, 89},
- dictWord{8, 0, 620},
- dictWord{9, 0, 608},
- dictWord{11, 0, 628},
- dictWord{12, 0, 322},
- dictWord{143, 0, 124},
- dictWord{134, 0, 1225},
- dictWord{7, 0, 1189},
- dictWord{4, 11, 67},
- dictWord{5, 11, 422},
- dictWord{6, 10, 363},
- dictWord{7, 11, 1037},
- dictWord{7, 11, 1289},
- dictWord{7, 11, 1555},
- dictWord{7, 10, 1955},
- dictWord{8, 10, 725},
- dictWord{9, 11, 741},
- dictWord{145, 11, 108},
- dictWord{
- 134,
- 0,
- 1468,
- },
- dictWord{6, 0, 689},
- dictWord{134, 0, 1451},
- dictWord{138, 0, 120},
- dictWord{151, 0, 1},
- dictWord{137, 10, 805},
- dictWord{142, 0, 329},
- dictWord{
- 5,
- 10,
- 813,
- },
- dictWord{135, 10, 2046},
- dictWord{135, 0, 226},
- dictWord{138, 11, 96},
- dictWord{7, 0, 1855},
- dictWord{5, 10, 712},
- dictWord{11, 10, 17},
- dictWord{13, 10, 321},
- dictWord{144, 10, 67},
- dictWord{9, 0, 461},
- dictWord{6, 10, 320},
- dictWord{7, 10, 781},
- dictWord{7, 10, 1921},
- dictWord{9, 10, 55},
- dictWord{
- 10,
- 10,
- 186,
- },
- dictWord{10, 10, 273},
- dictWord{10, 10, 664},
- dictWord{10, 10, 801},
- dictWord{11, 10, 996},
- dictWord{11, 10, 997},
- dictWord{13, 10, 157},
- dictWord{142, 10, 170},
- dictWord{8, 11, 203},
- dictWord{8, 10, 271},
- dictWord{11, 11, 823},
- dictWord{11, 11, 846},
- dictWord{12, 11, 482},
- dictWord{
- 13,
- 11,
- 133,
- },
- dictWord{13, 11, 277},
- dictWord{13, 11, 302},
- dictWord{13, 11, 464},
- dictWord{14, 11, 205},
- dictWord{142, 11, 221},
- dictWord{135, 0, 1346},
- dictWord{4, 11, 449},
- dictWord{133, 11, 718},
- dictWord{134, 0, 85},
- dictWord{14, 0, 299},
- dictWord{7, 10, 103},
- dictWord{7, 10, 863},
- dictWord{11, 10, 184},
- dictWord{145, 10, 62},
- dictWord{4, 11, 355},
- dictWord{6, 11, 311},
- dictWord{9, 11, 256},
- dictWord{138, 11, 404},
- dictWord{137, 10, 659},
- dictWord{
- 138,
- 11,
- 758,
- },
- dictWord{133, 11, 827},
- dictWord{5, 11, 64},
- dictWord{140, 11, 581},
- dictWord{134, 0, 1171},
- dictWord{4, 11, 442},
- dictWord{7, 11, 1047},
- dictWord{
- 7,
- 11,
- 1352,
- },
- dictWord{135, 11, 1643},
- dictWord{132, 0, 980},
- dictWord{5, 11, 977},
- dictWord{6, 11, 288},
- dictWord{7, 11, 528},
- dictWord{135, 11, 1065},
- dictWord{5, 0, 279},
- dictWord{6, 0, 235},
- dictWord{7, 0, 468},
- dictWord{8, 0, 446},
- dictWord{9, 0, 637},
- dictWord{10, 0, 717},
- dictWord{11, 0, 738},
- dictWord{
- 140,
- 0,
- 514,
- },
- dictWord{132, 0, 293},
- dictWord{11, 10, 337},
- dictWord{142, 10, 303},
- dictWord{136, 11, 285},
- dictWord{5, 0, 17},
- dictWord{6, 0, 371},
- dictWord{
- 9,
- 0,
- 528,
- },
- dictWord{12, 0, 364},
- dictWord{132, 11, 254},
- dictWord{5, 10, 77},
- dictWord{7, 10, 1455},
- dictWord{10, 10, 843},
- dictWord{147, 10, 73},
- dictWord{
- 150,
- 0,
- 5,
- },
- dictWord{132, 10, 458},
- dictWord{6, 11, 12},
- dictWord{7, 11, 1219},
- dictWord{145, 11, 73},
- dictWord{135, 10, 1420},
- dictWord{6, 10, 109},
- dictWord{138, 10, 382},
- dictWord{135, 11, 125},
- dictWord{6, 10, 330},
- dictWord{7, 10, 1084},
- dictWord{139, 10, 142},
- dictWord{6, 11, 369},
- dictWord{
- 6,
- 11,
- 502,
- },
- dictWord{7, 11, 1036},
- dictWord{8, 11, 348},
- dictWord{9, 11, 452},
- dictWord{10, 11, 26},
- dictWord{11, 11, 224},
- dictWord{11, 11, 387},
- dictWord{
- 11,
- 11,
- 772,
- },
- dictWord{12, 11, 95},
- dictWord{12, 11, 629},
- dictWord{13, 11, 195},
- dictWord{13, 11, 207},
- dictWord{13, 11, 241},
- dictWord{14, 11, 260},
- dictWord{
- 14,
- 11,
- 270,
- },
- dictWord{143, 11, 140},
- dictWord{132, 11, 269},
- dictWord{5, 11, 480},
- dictWord{7, 11, 532},
- dictWord{7, 11, 1197},
- dictWord{7, 11, 1358},
- dictWord{8, 11, 291},
- dictWord{11, 11, 349},
- dictWord{142, 11, 396},
- dictWord{150, 0, 48},
- dictWord{10, 0, 601},
- dictWord{13, 0, 353},
- dictWord{141, 0, 376},
- dictWord{5, 0, 779},
- dictWord{5, 0, 807},
- dictWord{6, 0, 1655},
- dictWord{134, 0, 1676},
- dictWord{142, 11, 223},
- dictWord{4, 0, 196},
- dictWord{5, 0, 558},
- dictWord{133, 0, 949},
- dictWord{148, 11, 15},
- dictWord{135, 11, 1764},
- dictWord{134, 0, 1322},
- dictWord{132, 0, 752},
- dictWord{139, 0, 737},
- dictWord{
- 135,
- 11,
- 657,
- },
- dictWord{136, 11, 533},
- dictWord{135, 0, 412},
- dictWord{4, 0, 227},
- dictWord{5, 0, 159},
- dictWord{5, 0, 409},
- dictWord{7, 0, 80},
- dictWord{8, 0, 556},
- dictWord{10, 0, 479},
- dictWord{12, 0, 418},
- dictWord{14, 0, 50},
- dictWord{14, 0, 123},
- dictWord{14, 0, 192},
- dictWord{14, 0, 249},
- dictWord{14, 0, 295},
- dictWord{143, 0, 27},
- dictWord{7, 0, 1470},
- dictWord{8, 0, 66},
- dictWord{8, 0, 137},
- dictWord{8, 0, 761},
- dictWord{9, 0, 638},
- dictWord{11, 0, 80},
- dictWord{11, 0, 212},
- dictWord{11, 0, 368},
- dictWord{11, 0, 418},
- dictWord{12, 0, 8},
- dictWord{13, 0, 15},
- dictWord{16, 0, 61},
- dictWord{17, 0, 59},
- dictWord{19, 0, 28},
- dictWord{
- 148,
- 0,
- 84,
- },
- dictWord{135, 10, 1985},
- dictWord{4, 11, 211},
- dictWord{4, 11, 332},
- dictWord{5, 11, 335},
- dictWord{6, 11, 238},
- dictWord{7, 11, 269},
- dictWord{
- 7,
- 11,
- 811,
- },
- dictWord{7, 11, 1797},
- dictWord{8, 10, 122},
- dictWord{8, 11, 836},
- dictWord{9, 11, 507},
- dictWord{141, 11, 242},
- dictWord{6, 0, 683},
- dictWord{
- 134,
- 0,
- 1252,
- },
- dictWord{4, 0, 873},
- dictWord{132, 10, 234},
- dictWord{134, 0, 835},
- dictWord{6, 0, 38},
- dictWord{7, 0, 1220},
- dictWord{8, 0, 185},
- dictWord{8, 0, 256},
- dictWord{9, 0, 22},
- dictWord{9, 0, 331},
- dictWord{10, 0, 738},
- dictWord{11, 0, 205},
- dictWord{11, 0, 540},
- dictWord{11, 0, 746},
- dictWord{13, 0, 465},
- dictWord{
- 14,
- 0,
- 88,
- },
- dictWord{142, 0, 194},
- dictWord{138, 0, 986},
- dictWord{5, 11, 1009},
- dictWord{12, 11, 582},
- dictWord{146, 11, 131},
- dictWord{4, 0, 159},
- dictWord{
- 6,
- 0,
- 115,
- },
- dictWord{7, 0, 252},
- dictWord{7, 0, 257},
- dictWord{7, 0, 1928},
- dictWord{8, 0, 69},
- dictWord{9, 0, 384},
- dictWord{10, 0, 91},
- dictWord{10, 0, 615},
- dictWord{
- 12,
- 0,
- 375,
- },
- dictWord{14, 0, 235},
- dictWord{18, 0, 117},
- dictWord{147, 0, 123},
- dictWord{133, 0, 911},
- dictWord{136, 0, 278},
- dictWord{5, 10, 430},
- dictWord{
- 5,
- 10,
- 932,
- },
- dictWord{6, 10, 131},
- dictWord{7, 10, 417},
- dictWord{9, 10, 522},
- dictWord{11, 10, 314},
- dictWord{141, 10, 390},
- dictWord{14, 10, 149},
- dictWord{14, 10, 399},
- dictWord{143, 10, 57},
- dictWord{4, 0, 151},
- dictWord{7, 0, 1567},
- dictWord{136, 0, 749},
- dictWord{5, 11, 228},
- dictWord{6, 11, 203},
- dictWord{
- 7,
- 11,
- 156,
- },
- dictWord{8, 11, 347},
- dictWord{137, 11, 265},
- dictWord{132, 10, 507},
- dictWord{10, 0, 989},
- dictWord{140, 0, 956},
- dictWord{133, 0, 990},
- dictWord{5, 0, 194},
- dictWord{6, 0, 927},
- dictWord{7, 0, 1662},
- dictWord{9, 0, 90},
- dictWord{140, 0, 564},
- dictWord{4, 10, 343},
- dictWord{133, 10, 511},
- dictWord{133, 0, 425},
- dictWord{7, 10, 455},
- dictWord{138, 10, 591},
- dictWord{4, 0, 774},
- dictWord{7, 11, 476},
- dictWord{7, 11, 1592},
- dictWord{138, 11, 87},
- dictWord{5, 0, 971},
- dictWord{135, 10, 1381},
- dictWord{5, 11, 318},
- dictWord{147, 11, 121},
- dictWord{5, 11, 291},
- dictWord{7, 11, 765},
- dictWord{9, 11, 389},
- dictWord{140, 11, 548},
- dictWord{134, 10, 575},
- dictWord{4, 0, 827},
- dictWord{12, 0, 646},
- dictWord{12, 0, 705},
- dictWord{12, 0, 712},
- dictWord{140, 0, 714},
- dictWord{139, 0, 752},
- dictWord{137, 0, 662},
- dictWord{5, 0, 72},
- dictWord{6, 0, 264},
- dictWord{7, 0, 21},
- dictWord{7, 0, 46},
- dictWord{7, 0, 2013},
- dictWord{
- 8,
- 0,
- 215,
- },
- dictWord{8, 0, 513},
- dictWord{10, 0, 266},
- dictWord{139, 0, 22},
- dictWord{139, 11, 522},
- dictWord{6, 0, 239},
- dictWord{7, 0, 118},
- dictWord{10, 0, 95},
- dictWord{11, 0, 603},
- dictWord{13, 0, 443},
- dictWord{14, 0, 160},
- dictWord{143, 0, 4},
- dictWord{6, 0, 431},
- dictWord{134, 0, 669},
- dictWord{7, 10, 1127},
- dictWord{
- 7,
- 10,
- 1572,
- },
- dictWord{10, 10, 297},
- dictWord{10, 10, 422},
- dictWord{11, 10, 764},
- dictWord{11, 10, 810},
- dictWord{12, 10, 264},
- dictWord{13, 10, 102},
- dictWord{13, 10, 300},
- dictWord{13, 10, 484},
- dictWord{14, 10, 147},
- dictWord{14, 10, 229},
- dictWord{17, 10, 71},
- dictWord{18, 10, 118},
- dictWord{
- 147,
- 10,
- 120,
- },
- dictWord{5, 0, 874},
- dictWord{6, 0, 1677},
- dictWord{15, 0, 0},
- dictWord{10, 11, 525},
- dictWord{139, 11, 82},
- dictWord{6, 0, 65},
- dictWord{7, 0, 939},
- dictWord{
- 7,
- 0,
- 1172,
- },
- dictWord{7, 0, 1671},
- dictWord{9, 0, 540},
- dictWord{10, 0, 696},
- dictWord{11, 0, 265},
- dictWord{11, 0, 732},
- dictWord{11, 0, 928},
- dictWord{
- 11,
- 0,
- 937,
- },
- dictWord{141, 0, 438},
- dictWord{134, 0, 1350},
- dictWord{136, 11, 547},
- dictWord{132, 11, 422},
- dictWord{5, 11, 355},
- dictWord{145, 11, 0},
- dictWord{137, 11, 905},
- dictWord{5, 0, 682},
- dictWord{135, 0, 1887},
- dictWord{132, 0, 809},
- dictWord{4, 0, 696},
- dictWord{133, 11, 865},
- dictWord{6, 0, 1074},
- dictWord{6, 0, 1472},
- dictWord{14, 10, 35},
- dictWord{142, 10, 191},
- dictWord{5, 11, 914},
- dictWord{134, 11, 1625},
- dictWord{133, 11, 234},
- dictWord{
- 135,
- 11,
- 1383,
- },
- dictWord{137, 11, 780},
- dictWord{132, 10, 125},
- dictWord{4, 0, 726},
- dictWord{133, 0, 630},
- dictWord{8, 0, 802},
- dictWord{136, 0, 838},
- dictWord{132, 10, 721},
- dictWord{6, 0, 1337},
- dictWord{7, 0, 776},
- dictWord{19, 0, 56},
- dictWord{136, 10, 145},
- dictWord{132, 0, 970},
- dictWord{7, 10, 792},
- dictWord{8, 10, 147},
- dictWord{10, 10, 821},
- dictWord{139, 10, 1021},
- dictWord{139, 10, 970},
- dictWord{8, 0, 940},
- dictWord{137, 0, 797},
- dictWord{
- 135,
- 11,
- 1312,
- },
- dictWord{9, 0, 248},
- dictWord{10, 0, 400},
- dictWord{7, 11, 816},
- dictWord{7, 11, 1241},
- dictWord{7, 10, 1999},
- dictWord{9, 11, 283},
- dictWord{
- 9,
- 11,
- 520,
- },
- dictWord{10, 11, 213},
- dictWord{10, 11, 307},
- dictWord{10, 11, 463},
- dictWord{10, 11, 671},
- dictWord{10, 11, 746},
- dictWord{11, 11, 401},
- dictWord{
- 11,
- 11,
- 794,
- },
- dictWord{12, 11, 517},
- dictWord{18, 11, 107},
- dictWord{147, 11, 115},
- dictWord{6, 0, 1951},
- dictWord{134, 0, 2040},
- dictWord{
- 135,
- 11,
- 339,
- },
- dictWord{13, 0, 41},
- dictWord{15, 0, 93},
- dictWord{5, 10, 168},
- dictWord{5, 10, 930},
- dictWord{8, 10, 74},
- dictWord{9, 10, 623},
- dictWord{12, 10, 500},
- dictWord{140, 10, 579},
- dictWord{6, 0, 118},
- dictWord{7, 0, 215},
- dictWord{7, 0, 1521},
- dictWord{140, 0, 11},
- dictWord{6, 10, 220},
- dictWord{7, 10, 1101},
- dictWord{141, 10, 105},
- dictWord{6, 11, 421},
- dictWord{7, 11, 61},
- dictWord{7, 11, 1540},
- dictWord{10, 11, 11},
- dictWord{138, 11, 501},
- dictWord{7, 0, 615},
- dictWord{138, 0, 251},
- dictWord{140, 11, 631},
- dictWord{135, 0, 1044},
- dictWord{6, 10, 19},
- dictWord{7, 10, 1413},
- dictWord{139, 10, 428},
- dictWord{
- 133,
- 0,
- 225,
- },
- dictWord{7, 10, 96},
- dictWord{8, 10, 401},
- dictWord{8, 10, 703},
- dictWord{137, 10, 896},
- dictWord{145, 10, 116},
- dictWord{6, 11, 102},
- dictWord{
- 7,
- 11,
- 72,
- },
- dictWord{15, 11, 142},
- dictWord{147, 11, 67},
- dictWord{7, 10, 1961},
- dictWord{7, 10, 1965},
- dictWord{8, 10, 702},
- dictWord{136, 10, 750},
- dictWord{
- 7,
- 10,
- 2030,
- },
- dictWord{8, 10, 150},
- dictWord{8, 10, 737},
- dictWord{12, 10, 366},
- dictWord{151, 11, 30},
- dictWord{4, 0, 370},
- dictWord{5, 0, 756},
- dictWord{
- 7,
- 0,
- 1326,
- },
- dictWord{135, 11, 823},
- dictWord{8, 10, 800},
- dictWord{9, 10, 148},
- dictWord{9, 10, 872},
- dictWord{9, 10, 890},
- dictWord{11, 10, 309},
- dictWord{
- 11,
- 10,
- 1001,
- },
- dictWord{13, 10, 267},
- dictWord{141, 10, 323},
- dictWord{6, 0, 1662},
- dictWord{7, 0, 48},
- dictWord{8, 0, 771},
- dictWord{10, 0, 116},
- dictWord{
- 13,
- 0,
- 104,
- },
- dictWord{14, 0, 105},
- dictWord{14, 0, 184},
- dictWord{15, 0, 168},
- dictWord{19, 0, 92},
- dictWord{148, 0, 68},
- dictWord{10, 0, 209},
- dictWord{
- 135,
- 11,
- 1870,
- },
- dictWord{7, 11, 68},
- dictWord{8, 11, 48},
- dictWord{8, 11, 88},
- dictWord{8, 11, 582},
- dictWord{8, 11, 681},
- dictWord{9, 11, 373},
- dictWord{9, 11, 864},
- dictWord{11, 11, 157},
- dictWord{11, 11, 336},
- dictWord{11, 11, 843},
- dictWord{148, 11, 27},
- dictWord{134, 0, 930},
- dictWord{4, 11, 88},
- dictWord{5, 11, 137},
- dictWord{5, 11, 174},
- dictWord{5, 11, 777},
- dictWord{6, 11, 1664},
- dictWord{6, 11, 1725},
- dictWord{7, 11, 77},
- dictWord{7, 11, 426},
- dictWord{7, 11, 1317},
- dictWord{7, 11, 1355},
- dictWord{8, 11, 126},
- dictWord{8, 11, 563},
- dictWord{9, 11, 523},
- dictWord{9, 11, 750},
- dictWord{10, 11, 310},
- dictWord{10, 11, 836},
- dictWord{11, 11, 42},
- dictWord{11, 11, 318},
- dictWord{11, 11, 731},
- dictWord{12, 11, 68},
- dictWord{12, 11, 92},
- dictWord{12, 11, 507},
- dictWord{12, 11, 692},
- dictWord{13, 11, 81},
- dictWord{13, 11, 238},
- dictWord{13, 11, 374},
- dictWord{18, 11, 138},
- dictWord{19, 11, 78},
- dictWord{19, 11, 111},
- dictWord{20, 11, 55},
- dictWord{20, 11, 77},
- dictWord{148, 11, 92},
- dictWord{4, 11, 938},
- dictWord{135, 11, 1831},
- dictWord{5, 10, 547},
- dictWord{7, 10, 424},
- dictWord{
- 8,
- 11,
- 617,
- },
- dictWord{138, 11, 351},
- dictWord{6, 0, 1286},
- dictWord{6, 11, 1668},
- dictWord{7, 11, 1499},
- dictWord{8, 11, 117},
- dictWord{9, 11, 314},
- dictWord{
- 138,
- 11,
- 174,
- },
- dictWord{6, 0, 759},
- dictWord{6, 0, 894},
- dictWord{7, 11, 707},
- dictWord{139, 11, 563},
- dictWord{4, 0, 120},
- dictWord{135, 0, 1894},
- dictWord{
- 9,
- 0,
- 385,
- },
- dictWord{149, 0, 17},
- dictWord{138, 0, 429},
- dictWord{133, 11, 403},
- dictWord{5, 0, 820},
- dictWord{135, 0, 931},
- dictWord{10, 0, 199},
- dictWord{
- 133,
- 10,
- 133,
- },
- dictWord{6, 0, 151},
- dictWord{6, 0, 1675},
- dictWord{7, 0, 383},
- dictWord{151, 0, 10},
- dictWord{6, 0, 761},
- dictWord{136, 10, 187},
- dictWord{
- 8,
- 0,
- 365,
- },
- dictWord{10, 10, 0},
- dictWord{10, 10, 818},
- dictWord{139, 10, 988},
- dictWord{4, 11, 44},
- dictWord{5, 11, 311},
- dictWord{6, 11, 156},
- dictWord{
- 7,
- 11,
- 639,
- },
- dictWord{7, 11, 762},
- dictWord{7, 11, 1827},
- dictWord{9, 11, 8},
- dictWord{9, 11, 462},
- dictWord{148, 11, 83},
- dictWord{4, 11, 346},
- dictWord{7, 11, 115},
- dictWord{9, 11, 180},
- dictWord{9, 11, 456},
- dictWord{138, 11, 363},
- dictWord{136, 10, 685},
- dictWord{7, 0, 1086},
- dictWord{145, 0, 46},
- dictWord{
- 6,
- 0,
- 1624,
- },
- dictWord{11, 0, 11},
- dictWord{12, 0, 422},
- dictWord{13, 0, 444},
- dictWord{142, 0, 360},
- dictWord{6, 0, 1020},
- dictWord{6, 0, 1260},
- dictWord{
- 134,
- 0,
- 1589,
- },
- dictWord{4, 0, 43},
- dictWord{5, 0, 344},
- dictWord{5, 0, 357},
- dictWord{14, 0, 472},
- dictWord{150, 0, 58},
- dictWord{6, 0, 1864},
- dictWord{6, 0, 1866},
- dictWord{6, 0, 1868},
- dictWord{6, 0, 1869},
- dictWord{6, 0, 1874},
- dictWord{6, 0, 1877},
- dictWord{6, 0, 1903},
- dictWord{6, 0, 1911},
- dictWord{9, 0, 920},
- dictWord{
- 9,
- 0,
- 921,
- },
- dictWord{9, 0, 924},
- dictWord{9, 0, 946},
- dictWord{9, 0, 959},
- dictWord{9, 0, 963},
- dictWord{9, 0, 970},
- dictWord{9, 0, 997},
- dictWord{9, 0, 1008},
- dictWord{
- 9,
- 0,
- 1017,
- },
- dictWord{12, 0, 795},
- dictWord{12, 0, 797},
- dictWord{12, 0, 798},
- dictWord{12, 0, 800},
- dictWord{12, 0, 803},
- dictWord{12, 0, 811},
- dictWord{
- 12,
- 0,
- 820,
- },
- dictWord{12, 0, 821},
- dictWord{12, 0, 839},
- dictWord{12, 0, 841},
- dictWord{12, 0, 848},
- dictWord{12, 0, 911},
- dictWord{12, 0, 921},
- dictWord{12, 0, 922},
- dictWord{12, 0, 925},
- dictWord{12, 0, 937},
- dictWord{12, 0, 944},
- dictWord{12, 0, 945},
- dictWord{12, 0, 953},
- dictWord{15, 0, 184},
- dictWord{15, 0, 191},
- dictWord{15, 0, 199},
- dictWord{15, 0, 237},
- dictWord{15, 0, 240},
- dictWord{15, 0, 243},
- dictWord{15, 0, 246},
- dictWord{18, 0, 203},
- dictWord{21, 0, 40},
- dictWord{
- 21,
- 0,
- 52,
- },
- dictWord{21, 0, 57},
- dictWord{24, 0, 23},
- dictWord{24, 0, 28},
- dictWord{152, 0, 30},
- dictWord{134, 0, 725},
- dictWord{145, 11, 58},
- dictWord{133, 0, 888},
- dictWord{137, 10, 874},
- dictWord{4, 0, 711},
- dictWord{8, 10, 774},
- dictWord{10, 10, 670},
- dictWord{140, 10, 51},
- dictWord{144, 11, 40},
- dictWord{
- 6,
- 11,
- 185,
- },
- dictWord{7, 11, 1899},
- dictWord{139, 11, 673},
- dictWord{137, 10, 701},
- dictWord{137, 0, 440},
- dictWord{4, 11, 327},
- dictWord{5, 11, 478},
- dictWord{
- 7,
- 11,
- 1332,
- },
- dictWord{8, 11, 753},
- dictWord{140, 11, 227},
- dictWord{4, 10, 127},
- dictWord{5, 10, 350},
- dictWord{6, 10, 356},
- dictWord{8, 10, 426},
- dictWord{
- 9,
- 10,
- 572,
- },
- dictWord{10, 10, 247},
- dictWord{139, 10, 312},
- dictWord{5, 11, 1020},
- dictWord{133, 11, 1022},
- dictWord{4, 11, 103},
- dictWord{
- 133,
- 11,
- 401,
- },
- dictWord{6, 0, 1913},
- dictWord{6, 0, 1926},
- dictWord{6, 0, 1959},
- dictWord{9, 0, 914},
- dictWord{9, 0, 939},
- dictWord{9, 0, 952},
- dictWord{9, 0, 979},
- dictWord{
- 9,
- 0,
- 990,
- },
- dictWord{9, 0, 998},
- dictWord{9, 0, 1003},
- dictWord{9, 0, 1023},
- dictWord{12, 0, 827},
- dictWord{12, 0, 834},
- dictWord{12, 0, 845},
- dictWord{
- 12,
- 0,
- 912,
- },
- dictWord{12, 0, 935},
- dictWord{12, 0, 951},
- dictWord{15, 0, 172},
- dictWord{15, 0, 174},
- dictWord{18, 0, 198},
- dictWord{149, 0, 63},
- dictWord{5, 0, 958},
- dictWord{5, 0, 987},
- dictWord{4, 11, 499},
- dictWord{135, 11, 1421},
- dictWord{7, 0, 885},
- dictWord{6, 10, 59},
- dictWord{6, 10, 1762},
- dictWord{9, 10, 603},
- dictWord{141, 10, 397},
- dictWord{10, 11, 62},
- dictWord{141, 11, 164},
- dictWord{4, 0, 847},
- dictWord{135, 0, 326},
- dictWord{11, 0, 276},
- dictWord{142, 0, 293},
- dictWord{4, 0, 65},
- dictWord{5, 0, 479},
- dictWord{5, 0, 1004},
- dictWord{7, 0, 1913},
- dictWord{8, 0, 317},
- dictWord{9, 0, 302},
- dictWord{10, 0, 612},
- dictWord{
- 13,
- 0,
- 22,
- },
- dictWord{132, 11, 96},
- dictWord{4, 0, 261},
- dictWord{135, 0, 510},
- dictWord{135, 0, 1514},
- dictWord{6, 10, 111},
- dictWord{7, 10, 4},
- dictWord{8, 10, 163},
- dictWord{8, 10, 776},
- dictWord{138, 10, 566},
- dictWord{4, 0, 291},
- dictWord{9, 0, 515},
- dictWord{12, 0, 152},
- dictWord{12, 0, 443},
- dictWord{13, 0, 392},
- dictWord{142, 0, 357},
- dictWord{7, 11, 399},
- dictWord{135, 11, 1492},
- dictWord{4, 0, 589},
- dictWord{139, 0, 282},
- dictWord{6, 11, 563},
- dictWord{
- 135,
- 10,
- 1994,
- },
- dictWord{5, 10, 297},
- dictWord{135, 10, 1038},
- dictWord{4, 0, 130},
- dictWord{7, 0, 843},
- dictWord{135, 0, 1562},
- dictWord{5, 0, 42},
- dictWord{
- 5,
- 0,
- 879,
- },
- dictWord{7, 0, 245},
- dictWord{7, 0, 324},
- dictWord{7, 0, 1532},
- dictWord{11, 0, 463},
- dictWord{11, 0, 472},
- dictWord{13, 0, 363},
- dictWord{144, 0, 52},
- dictWord{4, 0, 134},
- dictWord{133, 0, 372},
- dictWord{133, 0, 680},
- dictWord{136, 10, 363},
- dictWord{6, 0, 1997},
- dictWord{8, 0, 935},
- dictWord{136, 0, 977},
- dictWord{4, 0, 810},
- dictWord{135, 0, 1634},
- dictWord{135, 10, 1675},
- dictWord{7, 0, 1390},
- dictWord{4, 11, 910},
- dictWord{133, 11, 832},
- dictWord{
- 7,
- 10,
- 808,
- },
- dictWord{8, 11, 266},
- dictWord{139, 11, 578},
- dictWord{132, 0, 644},
- dictWord{4, 0, 982},
- dictWord{138, 0, 867},
- dictWord{132, 10, 280},
- dictWord{
- 135,
- 0,
- 540,
- },
- dictWord{140, 10, 54},
- dictWord{135, 0, 123},
- dictWord{134, 0, 1978},
- dictWord{4, 10, 421},
- dictWord{133, 10, 548},
- dictWord{6, 0, 623},
- dictWord{136, 0, 789},
- dictWord{4, 0, 908},
- dictWord{5, 0, 359},
- dictWord{5, 0, 508},
- dictWord{6, 0, 1723},
- dictWord{7, 0, 343},
- dictWord{7, 0, 1996},
- dictWord{
- 135,
- 0,
- 2026,
- },
- dictWord{134, 0, 1220},
- dictWord{4, 0, 341},
- dictWord{135, 0, 480},
- dictWord{6, 10, 254},
- dictWord{9, 10, 109},
- dictWord{138, 10, 103},
- dictWord{
- 134,
- 0,
- 888,
- },
- dictWord{8, 11, 528},
- dictWord{137, 11, 348},
- dictWord{7, 0, 1995},
- dictWord{8, 0, 299},
- dictWord{11, 0, 890},
- dictWord{12, 0, 674},
- dictWord{
- 4,
- 11,
- 20,
- },
- dictWord{133, 11, 616},
- dictWord{135, 11, 1094},
- dictWord{134, 10, 1630},
- dictWord{4, 0, 238},
- dictWord{5, 0, 503},
- dictWord{6, 0, 179},
- dictWord{
- 7,
- 0,
- 2003,
- },
- dictWord{8, 0, 381},
- dictWord{8, 0, 473},
- dictWord{9, 0, 149},
- dictWord{10, 0, 788},
- dictWord{15, 0, 45},
- dictWord{15, 0, 86},
- dictWord{20, 0, 110},
- dictWord{150, 0, 57},
- dictWord{133, 10, 671},
- dictWord{4, 11, 26},
- dictWord{5, 11, 429},
- dictWord{6, 11, 245},
- dictWord{7, 11, 704},
- dictWord{7, 11, 1379},
- dictWord{135, 11, 1474},
- dictWord{4, 0, 121},
- dictWord{5, 0, 156},
- dictWord{5, 0, 349},
- dictWord{9, 0, 431},
- dictWord{10, 0, 605},
- dictWord{142, 0, 342},
- dictWord{
- 7,
- 11,
- 943,
- },
- dictWord{139, 11, 614},
- dictWord{132, 10, 889},
- dictWord{132, 11, 621},
- dictWord{7, 10, 1382},
- dictWord{7, 11, 1382},
- dictWord{
- 135,
- 10,
- 1910,
- },
- dictWord{132, 10, 627},
- dictWord{133, 10, 775},
- dictWord{133, 11, 542},
- dictWord{133, 11, 868},
- dictWord{136, 11, 433},
- dictWord{6, 0, 1373},
- dictWord{7, 0, 1011},
- dictWord{11, 10, 362},
- dictWord{11, 10, 948},
- dictWord{140, 10, 388},
- dictWord{6, 0, 80},
- dictWord{7, 0, 173},
- dictWord{9, 0, 547},
- dictWord{10, 0, 730},
- dictWord{14, 0, 18},
- dictWord{22, 0, 39},
- dictWord{135, 11, 1495},
- dictWord{6, 0, 1694},
- dictWord{135, 0, 1974},
- dictWord{140, 0, 196},
- dictWord{4, 0, 923},
- dictWord{6, 0, 507},
- dictWord{6, 0, 1711},
- dictWord{7, 10, 451},
- dictWord{8, 10, 389},
- dictWord{12, 10, 490},
- dictWord{13, 10, 16},
- dictWord{
- 13,
- 10,
- 215,
- },
- dictWord{13, 10, 351},
- dictWord{18, 10, 132},
- dictWord{147, 10, 125},
- dictWord{6, 0, 646},
- dictWord{134, 0, 1047},
- dictWord{135, 10, 841},
- dictWord{136, 10, 566},
- dictWord{6, 0, 1611},
- dictWord{135, 0, 1214},
- dictWord{139, 0, 926},
- dictWord{132, 11, 525},
- dictWord{132, 0, 595},
- dictWord{
- 5,
- 0,
- 240,
- },
- dictWord{6, 0, 459},
- dictWord{7, 0, 12},
- dictWord{7, 0, 114},
- dictWord{7, 0, 949},
- dictWord{7, 0, 1753},
- dictWord{7, 0, 1805},
- dictWord{8, 0, 658},
- dictWord{
- 9,
- 0,
- 1,
- },
- dictWord{11, 0, 959},
- dictWord{141, 0, 446},
- dictWord{5, 10, 912},
- dictWord{134, 10, 1695},
- dictWord{132, 0, 446},
- dictWord{7, 11, 62},
- dictWord{
- 12,
- 11,
- 45,
- },
- dictWord{147, 11, 112},
- dictWord{5, 10, 236},
- dictWord{6, 10, 572},
- dictWord{8, 10, 492},
- dictWord{11, 10, 618},
- dictWord{144, 10, 56},
- dictWord{
- 5,
- 10,
- 190,
- },
- dictWord{136, 10, 318},
- dictWord{135, 10, 1376},
- dictWord{4, 11, 223},
- dictWord{6, 11, 359},
- dictWord{11, 11, 3},
- dictWord{13, 11, 108},
- dictWord{
- 14,
- 11,
- 89,
- },
- dictWord{144, 11, 22},
- dictWord{132, 11, 647},
- dictWord{134, 0, 490},
- dictWord{134, 0, 491},
- dictWord{134, 0, 1584},
- dictWord{
- 135,
- 11,
- 685,
- },
- dictWord{138, 11, 220},
- dictWord{7, 0, 250},
- dictWord{136, 0, 507},
- dictWord{132, 0, 158},
- dictWord{4, 0, 140},
- dictWord{7, 0, 362},
- dictWord{8, 0, 209},
- dictWord{9, 0, 10},
- dictWord{9, 0, 160},
- dictWord{9, 0, 503},
- dictWord{9, 0, 614},
- dictWord{10, 0, 689},
- dictWord{11, 0, 327},
- dictWord{11, 0, 553},
- dictWord{
- 11,
- 0,
- 725,
- },
- dictWord{11, 0, 767},
- dictWord{12, 0, 252},
- dictWord{12, 0, 583},
- dictWord{13, 0, 192},
- dictWord{14, 0, 269},
- dictWord{14, 0, 356},
- dictWord{148, 0, 50},
- dictWord{19, 0, 1},
- dictWord{19, 0, 26},
- dictWord{150, 0, 9},
- dictWord{132, 11, 109},
- dictWord{6, 0, 228},
- dictWord{7, 0, 1341},
- dictWord{9, 0, 408},
- dictWord{
- 138,
- 0,
- 343,
- },
- dictWord{4, 0, 373},
- dictWord{5, 0, 283},
- dictWord{6, 0, 480},
- dictWord{7, 0, 609},
- dictWord{10, 0, 860},
- dictWord{138, 0, 878},
- dictWord{6, 0, 779},
- dictWord{134, 0, 1209},
- dictWord{4, 0, 557},
- dictWord{7, 11, 263},
- dictWord{7, 11, 628},
- dictWord{136, 11, 349},
- dictWord{132, 0, 548},
- dictWord{7, 0, 197},
- dictWord{8, 0, 142},
- dictWord{8, 0, 325},
- dictWord{9, 0, 150},
- dictWord{9, 0, 596},
- dictWord{10, 0, 350},
- dictWord{10, 0, 353},
- dictWord{11, 0, 74},
- dictWord{
- 11,
- 0,
- 315,
- },
- dictWord{12, 0, 662},
- dictWord{12, 0, 681},
- dictWord{14, 0, 423},
- dictWord{143, 0, 141},
- dictWord{4, 11, 40},
- dictWord{10, 11, 67},
- dictWord{
- 11,
- 11,
- 117,
- },
- dictWord{11, 11, 768},
- dictWord{139, 11, 935},
- dictWord{7, 11, 992},
- dictWord{8, 11, 301},
- dictWord{9, 11, 722},
- dictWord{12, 11, 63},
- dictWord{
- 13,
- 11,
- 29,
- },
- dictWord{14, 11, 161},
- dictWord{143, 11, 18},
- dictWord{6, 0, 1490},
- dictWord{138, 11, 532},
- dictWord{5, 0, 580},
- dictWord{7, 0, 378},
- dictWord{
- 7,
- 0,
- 674,
- },
- dictWord{7, 0, 1424},
- dictWord{15, 0, 83},
- dictWord{16, 0, 11},
- dictWord{15, 11, 83},
- dictWord{144, 11, 11},
- dictWord{6, 0, 1057},
- dictWord{6, 0, 1335},
- dictWord{10, 0, 316},
- dictWord{7, 10, 85},
- dictWord{7, 10, 247},
- dictWord{8, 10, 585},
- dictWord{138, 10, 163},
- dictWord{4, 0, 169},
- dictWord{5, 0, 83},
- dictWord{
- 6,
- 0,
- 399,
- },
- dictWord{6, 0, 579},
- dictWord{6, 0, 1513},
- dictWord{7, 0, 692},
- dictWord{7, 0, 846},
- dictWord{7, 0, 1015},
- dictWord{7, 0, 1799},
- dictWord{8, 0, 403},
- dictWord{9, 0, 394},
- dictWord{10, 0, 133},
- dictWord{12, 0, 4},
- dictWord{12, 0, 297},
- dictWord{12, 0, 452},
- dictWord{16, 0, 81},
- dictWord{18, 0, 25},
- dictWord{21, 0, 14},
- dictWord{22, 0, 12},
- dictWord{151, 0, 18},
- dictWord{134, 0, 1106},
- dictWord{7, 0, 1546},
- dictWord{11, 0, 299},
- dictWord{142, 0, 407},
- dictWord{134, 0, 1192},
- dictWord{132, 0, 177},
- dictWord{5, 0, 411},
- dictWord{135, 0, 653},
- dictWord{7, 0, 439},
- dictWord{10, 0, 727},
- dictWord{11, 0, 260},
- dictWord{139, 0, 684},
- dictWord{138, 10, 145},
- dictWord{147, 10, 83},
- dictWord{5, 0, 208},
- dictWord{7, 0, 753},
- dictWord{135, 0, 1528},
- dictWord{137, 11, 617},
- dictWord{
- 135,
- 10,
- 1922,
- },
- dictWord{135, 11, 825},
- dictWord{11, 0, 422},
- dictWord{13, 0, 389},
- dictWord{4, 10, 124},
- dictWord{10, 10, 457},
- dictWord{11, 10, 121},
- dictWord{
- 11,
- 10,
- 169,
- },
- dictWord{11, 10, 870},
- dictWord{12, 10, 214},
- dictWord{14, 10, 187},
- dictWord{143, 10, 77},
- dictWord{11, 0, 615},
- dictWord{15, 0, 58},
- dictWord{
- 11,
- 11,
- 615,
- },
- dictWord{143, 11, 58},
- dictWord{9, 0, 618},
- dictWord{138, 0, 482},
- dictWord{6, 0, 1952},
- dictWord{6, 0, 1970},
- dictWord{142, 0, 505},
- dictWord{
- 7,
- 10,
- 1193,
- },
- dictWord{135, 11, 1838},
- dictWord{133, 0, 242},
- dictWord{135, 10, 1333},
- dictWord{6, 10, 107},
- dictWord{7, 10, 638},
- dictWord{
- 7,
- 10,
- 1632,
- },
- dictWord{137, 10, 396},
- dictWord{133, 0, 953},
- dictWord{5, 10, 370},
- dictWord{134, 10, 1756},
- dictWord{5, 11, 28},
- dictWord{6, 11, 204},
- dictWord{
- 10,
- 11,
- 320,
- },
- dictWord{10, 11, 583},
- dictWord{13, 11, 502},
- dictWord{14, 11, 72},
- dictWord{14, 11, 274},
- dictWord{14, 11, 312},
- dictWord{14, 11, 344},
- dictWord{15, 11, 159},
- dictWord{16, 11, 62},
- dictWord{16, 11, 69},
- dictWord{17, 11, 30},
- dictWord{18, 11, 42},
- dictWord{18, 11, 53},
- dictWord{18, 11, 84},
- dictWord{18, 11, 140},
- dictWord{19, 11, 68},
- dictWord{19, 11, 85},
- dictWord{20, 11, 5},
- dictWord{20, 11, 45},
- dictWord{20, 11, 101},
- dictWord{22, 11, 7},
- dictWord{
- 150,
- 11,
- 20,
- },
- dictWord{4, 11, 558},
- dictWord{6, 11, 390},
- dictWord{7, 11, 162},
- dictWord{7, 11, 689},
- dictWord{9, 11, 360},
- dictWord{138, 11, 653},
- dictWord{
- 11,
- 0,
- 802,
- },
- dictWord{141, 0, 67},
- dictWord{133, 10, 204},
- dictWord{133, 0, 290},
- dictWord{5, 10, 970},
- dictWord{134, 10, 1706},
- dictWord{132, 0, 380},
- dictWord{5, 0, 52},
- dictWord{7, 0, 277},
- dictWord{9, 0, 368},
- dictWord{139, 0, 791},
- dictWord{5, 11, 856},
- dictWord{6, 11, 1672},
- dictWord{6, 11, 1757},
- dictWord{
- 6,
- 11,
- 1781,
- },
- dictWord{7, 11, 1150},
- dictWord{7, 11, 1425},
- dictWord{7, 11, 1453},
- dictWord{140, 11, 513},
- dictWord{5, 11, 92},
- dictWord{7, 10, 3},
- dictWord{
- 10,
- 11,
- 736,
- },
- dictWord{140, 11, 102},
- dictWord{4, 0, 112},
- dictWord{5, 0, 653},
- dictWord{5, 10, 483},
- dictWord{5, 10, 685},
- dictWord{6, 10, 489},
- dictWord{
- 7,
- 10,
- 1204,
- },
- dictWord{136, 10, 394},
- dictWord{132, 10, 921},
- dictWord{6, 0, 1028},
- dictWord{133, 10, 1007},
- dictWord{5, 11, 590},
- dictWord{9, 11, 213},
- dictWord{145, 11, 91},
- dictWord{135, 10, 1696},
- dictWord{10, 0, 138},
- dictWord{139, 0, 476},
- dictWord{5, 0, 725},
- dictWord{5, 0, 727},
- dictWord{135, 0, 1811},
- dictWord{4, 0, 979},
- dictWord{6, 0, 1821},
- dictWord{6, 0, 1838},
- dictWord{8, 0, 876},
- dictWord{8, 0, 883},
- dictWord{8, 0, 889},
- dictWord{8, 0, 893},
- dictWord{
- 8,
- 0,
- 895,
- },
- dictWord{10, 0, 934},
- dictWord{12, 0, 720},
- dictWord{14, 0, 459},
- dictWord{148, 0, 123},
- dictWord{135, 11, 551},
- dictWord{4, 0, 38},
- dictWord{6, 0, 435},
- dictWord{7, 0, 307},
- dictWord{7, 0, 999},
- dictWord{7, 0, 1481},
- dictWord{7, 0, 1732},
- dictWord{7, 0, 1738},
- dictWord{8, 0, 371},
- dictWord{9, 0, 414},
- dictWord{
- 11,
- 0,
- 316,
- },
- dictWord{12, 0, 52},
- dictWord{13, 0, 420},
- dictWord{147, 0, 100},
- dictWord{135, 0, 1296},
- dictWord{132, 10, 712},
- dictWord{134, 10, 1629},
- dictWord{133, 0, 723},
- dictWord{134, 0, 651},
- dictWord{136, 11, 191},
- dictWord{9, 11, 791},
- dictWord{10, 11, 93},
- dictWord{11, 11, 301},
- dictWord{16, 11, 13},
- dictWord{17, 11, 23},
- dictWord{18, 11, 135},
- dictWord{19, 11, 12},
- dictWord{20, 11, 1},
- dictWord{20, 11, 12},
- dictWord{148, 11, 14},
- dictWord{136, 11, 503},
- dictWord{6, 11, 466},
- dictWord{135, 11, 671},
- dictWord{6, 0, 1200},
- dictWord{134, 0, 1330},
- dictWord{135, 0, 1255},
- dictWord{134, 0, 986},
- dictWord{
- 5,
- 0,
- 109,
- },
- dictWord{6, 0, 1784},
- dictWord{7, 0, 1895},
- dictWord{12, 0, 296},
- dictWord{140, 0, 302},
- dictWord{135, 11, 983},
- dictWord{133, 10, 485},
- dictWord{
- 134,
- 0,
- 660,
- },
- dictWord{134, 0, 800},
- dictWord{5, 0, 216},
- dictWord{5, 0, 294},
- dictWord{6, 0, 591},
- dictWord{7, 0, 1879},
- dictWord{9, 0, 141},
- dictWord{9, 0, 270},
- dictWord{9, 0, 679},
- dictWord{10, 0, 159},
- dictWord{11, 0, 197},
- dictWord{11, 0, 438},
- dictWord{12, 0, 538},
- dictWord{12, 0, 559},
- dictWord{14, 0, 144},
- dictWord{
- 14,
- 0,
- 167,
- },
- dictWord{15, 0, 67},
- dictWord{4, 10, 285},
- dictWord{5, 10, 317},
- dictWord{6, 10, 301},
- dictWord{7, 10, 7},
- dictWord{8, 10, 153},
- dictWord{
- 10,
- 10,
- 766,
- },
- dictWord{11, 10, 468},
- dictWord{12, 10, 467},
- dictWord{141, 10, 143},
- dictWord{136, 0, 945},
- dictWord{134, 0, 1090},
- dictWord{137, 0, 81},
- dictWord{12, 11, 468},
- dictWord{19, 11, 96},
- dictWord{148, 11, 24},
- dictWord{134, 0, 391},
- dictWord{138, 11, 241},
- dictWord{7, 0, 322},
- dictWord{136, 0, 249},
- dictWord{134, 0, 1412},
- dictWord{135, 11, 795},
- dictWord{5, 0, 632},
- dictWord{138, 0, 526},
- dictWord{136, 10, 819},
- dictWord{6, 0, 144},
- dictWord{7, 0, 948},
- dictWord{7, 0, 1042},
- dictWord{8, 0, 235},
- dictWord{8, 0, 461},
- dictWord{9, 0, 453},
- dictWord{9, 0, 796},
- dictWord{10, 0, 354},
- dictWord{17, 0, 77},
- dictWord{
- 135,
- 11,
- 954,
- },
- dictWord{139, 10, 917},
- dictWord{6, 0, 940},
- dictWord{134, 0, 1228},
- dictWord{4, 0, 362},
- dictWord{7, 0, 52},
- dictWord{135, 0, 303},
- dictWord{
- 6,
- 11,
- 549,
- },
- dictWord{8, 11, 34},
- dictWord{8, 11, 283},
- dictWord{9, 11, 165},
- dictWord{138, 11, 475},
- dictWord{7, 11, 370},
- dictWord{7, 11, 1007},
- dictWord{
- 7,
- 11,
- 1177,
- },
- dictWord{135, 11, 1565},
- dictWord{5, 11, 652},
- dictWord{5, 11, 701},
- dictWord{135, 11, 449},
- dictWord{5, 0, 196},
- dictWord{6, 0, 486},
- dictWord{
- 7,
- 0,
- 212,
- },
- dictWord{8, 0, 309},
- dictWord{136, 0, 346},
- dictWord{6, 10, 1719},
- dictWord{6, 10, 1735},
- dictWord{7, 10, 2016},
- dictWord{7, 10, 2020},
- dictWord{
- 8,
- 10,
- 837,
- },
- dictWord{137, 10, 852},
- dictWord{6, 11, 159},
- dictWord{6, 11, 364},
- dictWord{7, 11, 516},
- dictWord{7, 11, 1439},
- dictWord{137, 11, 518},
- dictWord{135, 0, 1912},
- dictWord{135, 0, 1290},
- dictWord{132, 0, 686},
- dictWord{141, 11, 151},
- dictWord{138, 0, 625},
- dictWord{136, 0, 706},
- dictWord{
- 138,
- 10,
- 568,
- },
- dictWord{139, 0, 412},
- dictWord{4, 0, 30},
- dictWord{133, 0, 43},
- dictWord{8, 10, 67},
- dictWord{138, 10, 419},
- dictWord{7, 0, 967},
- dictWord{
- 141,
- 0,
- 11,
- },
- dictWord{12, 0, 758},
- dictWord{14, 0, 441},
- dictWord{142, 0, 462},
- dictWord{10, 10, 657},
- dictWord{14, 10, 297},
- dictWord{142, 10, 361},
- dictWord{
- 139,
- 10,
- 729,
- },
- dictWord{4, 0, 220},
- dictWord{135, 0, 1535},
- dictWord{7, 11, 501},
- dictWord{9, 11, 111},
- dictWord{10, 11, 141},
- dictWord{11, 11, 332},
- dictWord{
- 13,
- 11,
- 43,
- },
- dictWord{13, 11, 429},
- dictWord{14, 11, 130},
- dictWord{14, 11, 415},
- dictWord{145, 11, 102},
- dictWord{4, 0, 950},
- dictWord{6, 0, 1859},
- dictWord{
- 7,
- 0,
- 11,
- },
- dictWord{8, 0, 873},
- dictWord{12, 0, 710},
- dictWord{12, 0, 718},
- dictWord{12, 0, 748},
- dictWord{12, 0, 765},
- dictWord{148, 0, 124},
- dictWord{
- 5,
- 11,
- 149,
- },
- dictWord{5, 11, 935},
- dictWord{136, 11, 233},
- dictWord{142, 11, 291},
- dictWord{134, 0, 1579},
- dictWord{7, 0, 890},
- dictWord{8, 10, 51},
- dictWord{
- 9,
- 10,
- 868,
- },
- dictWord{10, 10, 833},
- dictWord{12, 10, 481},
- dictWord{12, 10, 570},
- dictWord{148, 10, 106},
- dictWord{141, 0, 2},
- dictWord{132, 10, 445},
- dictWord{136, 11, 801},
- dictWord{135, 0, 1774},
- dictWord{7, 0, 1725},
- dictWord{138, 0, 393},
- dictWord{5, 0, 263},
- dictWord{134, 0, 414},
- dictWord{
- 132,
- 11,
- 322,
- },
- dictWord{133, 10, 239},
- dictWord{7, 0, 456},
- dictWord{7, 10, 1990},
- dictWord{8, 10, 130},
- dictWord{139, 10, 720},
- dictWord{137, 0, 818},
- dictWord{
- 5,
- 10,
- 123,
- },
- dictWord{6, 10, 530},
- dictWord{7, 10, 348},
- dictWord{135, 10, 1419},
- dictWord{135, 10, 2024},
- dictWord{6, 0, 178},
- dictWord{6, 0, 1750},
- dictWord{8, 0, 251},
- dictWord{9, 0, 690},
- dictWord{10, 0, 155},
- dictWord{10, 0, 196},
- dictWord{10, 0, 373},
- dictWord{11, 0, 698},
- dictWord{13, 0, 155},
- dictWord{
- 148,
- 0,
- 93,
- },
- dictWord{5, 0, 97},
- dictWord{137, 0, 393},
- dictWord{134, 0, 674},
- dictWord{11, 0, 223},
- dictWord{140, 0, 168},
- dictWord{132, 10, 210},
- dictWord{
- 139,
- 11,
- 464,
- },
- dictWord{6, 0, 1639},
- dictWord{146, 0, 159},
- dictWord{139, 11, 2},
- dictWord{7, 0, 934},
- dictWord{8, 0, 647},
- dictWord{17, 0, 97},
- dictWord{19, 0, 59},
- dictWord{150, 0, 2},
- dictWord{132, 0, 191},
- dictWord{5, 0, 165},
- dictWord{9, 0, 346},
- dictWord{10, 0, 655},
- dictWord{11, 0, 885},
- dictWord{4, 10, 430},
- dictWord{135, 11, 357},
- dictWord{133, 0, 877},
- dictWord{5, 10, 213},
- dictWord{133, 11, 406},
- dictWord{8, 0, 128},
- dictWord{139, 0, 179},
- dictWord{6, 11, 69},
- dictWord{135, 11, 117},
- dictWord{135, 0, 1297},
- dictWord{11, 11, 43},
- dictWord{13, 11, 72},
- dictWord{141, 11, 142},
- dictWord{135, 11, 1830},
- dictWord{
- 142,
- 0,
- 164,
- },
- dictWord{5, 0, 57},
- dictWord{6, 0, 101},
- dictWord{6, 0, 586},
- dictWord{6, 0, 1663},
- dictWord{7, 0, 132},
- dictWord{7, 0, 1154},
- dictWord{7, 0, 1415},
- dictWord{7, 0, 1507},
- dictWord{12, 0, 493},
- dictWord{15, 0, 105},
- dictWord{151, 0, 15},
- dictWord{5, 0, 459},
- dictWord{7, 0, 1073},
- dictWord{8, 0, 241},
- dictWord{
- 136,
- 0,
- 334,
- },
- dictWord{133, 11, 826},
- dictWord{133, 10, 108},
- dictWord{5, 10, 219},
- dictWord{10, 11, 132},
- dictWord{11, 11, 191},
- dictWord{11, 11, 358},
- dictWord{139, 11, 460},
- dictWord{6, 0, 324},
- dictWord{6, 0, 520},
- dictWord{7, 0, 338},
- dictWord{7, 0, 1729},
- dictWord{8, 0, 228},
- dictWord{139, 0, 750},
- dictWord{
- 21,
- 0,
- 30,
- },
- dictWord{22, 0, 53},
- dictWord{4, 10, 193},
- dictWord{5, 10, 916},
- dictWord{7, 10, 364},
- dictWord{10, 10, 398},
- dictWord{10, 10, 726},
- dictWord{
- 11,
- 10,
- 317,
- },
- dictWord{11, 10, 626},
- dictWord{12, 10, 142},
- dictWord{12, 10, 288},
- dictWord{12, 10, 678},
- dictWord{13, 10, 313},
- dictWord{15, 10, 113},
- dictWord{146, 10, 114},
- dictWord{6, 11, 110},
- dictWord{135, 11, 1681},
- dictWord{135, 0, 910},
- dictWord{6, 10, 241},
- dictWord{7, 10, 907},
- dictWord{8, 10, 832},
- dictWord{9, 10, 342},
- dictWord{10, 10, 729},
- dictWord{11, 10, 284},
- dictWord{11, 10, 445},
- dictWord{11, 10, 651},
- dictWord{11, 10, 863},
- dictWord{
- 13,
- 10,
- 398,
- },
- dictWord{146, 10, 99},
- dictWord{7, 0, 705},
- dictWord{9, 0, 734},
- dictWord{5, 11, 1000},
- dictWord{7, 11, 733},
- dictWord{137, 11, 583},
- dictWord{4, 0, 73},
- dictWord{6, 0, 612},
- dictWord{7, 0, 927},
- dictWord{7, 0, 1822},
- dictWord{8, 0, 217},
- dictWord{9, 0, 765},
- dictWord{9, 0, 766},
- dictWord{10, 0, 408},
- dictWord{
- 11,
- 0,
- 51,
- },
- dictWord{11, 0, 793},
- dictWord{12, 0, 266},
- dictWord{15, 0, 158},
- dictWord{20, 0, 89},
- dictWord{150, 0, 32},
- dictWord{7, 0, 1330},
- dictWord{4, 11, 297},
- dictWord{6, 11, 529},
- dictWord{7, 11, 152},
- dictWord{7, 11, 713},
- dictWord{7, 11, 1845},
- dictWord{8, 11, 710},
- dictWord{8, 11, 717},
- dictWord{140, 11, 639},
- dictWord{5, 0, 389},
- dictWord{136, 0, 636},
- dictWord{134, 0, 1409},
- dictWord{4, 10, 562},
- dictWord{9, 10, 254},
- dictWord{139, 10, 879},
- dictWord{134, 0, 893},
- dictWord{132, 10, 786},
- dictWord{4, 11, 520},
- dictWord{135, 11, 575},
- dictWord{136, 0, 21},
- dictWord{140, 0, 721},
- dictWord{136, 0, 959},
- dictWord{
- 7,
- 11,
- 1428,
- },
- dictWord{7, 11, 1640},
- dictWord{9, 11, 169},
- dictWord{9, 11, 182},
- dictWord{9, 11, 367},
- dictWord{9, 11, 478},
- dictWord{9, 11, 506},
- dictWord{
- 9,
- 11,
- 551,
- },
- dictWord{9, 11, 648},
- dictWord{9, 11, 651},
- dictWord{9, 11, 697},
- dictWord{9, 11, 705},
- dictWord{9, 11, 725},
- dictWord{9, 11, 787},
- dictWord{9, 11, 794},
- dictWord{10, 11, 198},
- dictWord{10, 11, 214},
- dictWord{10, 11, 267},
- dictWord{10, 11, 275},
- dictWord{10, 11, 456},
- dictWord{10, 11, 551},
- dictWord{
- 10,
- 11,
- 561,
- },
- dictWord{10, 11, 613},
- dictWord{10, 11, 627},
- dictWord{10, 11, 668},
- dictWord{10, 11, 675},
- dictWord{10, 11, 691},
- dictWord{10, 11, 695},
- dictWord{10, 11, 707},
- dictWord{10, 11, 715},
- dictWord{11, 11, 183},
- dictWord{11, 11, 201},
- dictWord{11, 11, 244},
- dictWord{11, 11, 262},
- dictWord{
- 11,
- 11,
- 352,
- },
- dictWord{11, 11, 439},
- dictWord{11, 11, 493},
- dictWord{11, 11, 572},
- dictWord{11, 11, 591},
- dictWord{11, 11, 608},
- dictWord{11, 11, 611},
- dictWord{
- 11,
- 11,
- 646,
- },
- dictWord{11, 11, 674},
- dictWord{11, 11, 711},
- dictWord{11, 11, 751},
- dictWord{11, 11, 761},
- dictWord{11, 11, 776},
- dictWord{11, 11, 785},
- dictWord{11, 11, 850},
- dictWord{11, 11, 853},
- dictWord{11, 11, 862},
- dictWord{11, 11, 865},
- dictWord{11, 11, 868},
- dictWord{11, 11, 898},
- dictWord{
- 11,
- 11,
- 902,
- },
- dictWord{11, 11, 903},
- dictWord{11, 11, 910},
- dictWord{11, 11, 932},
- dictWord{11, 11, 942},
- dictWord{11, 11, 957},
- dictWord{11, 11, 967},
- dictWord{
- 11,
- 11,
- 972,
- },
- dictWord{12, 11, 148},
- dictWord{12, 11, 195},
- dictWord{12, 11, 220},
- dictWord{12, 11, 237},
- dictWord{12, 11, 318},
- dictWord{12, 11, 339},
- dictWord{12, 11, 393},
- dictWord{12, 11, 445},
- dictWord{12, 11, 450},
- dictWord{12, 11, 474},
- dictWord{12, 11, 509},
- dictWord{12, 11, 533},
- dictWord{
- 12,
- 11,
- 591,
- },
- dictWord{12, 11, 594},
- dictWord{12, 11, 597},
- dictWord{12, 11, 621},
- dictWord{12, 11, 633},
- dictWord{12, 11, 642},
- dictWord{13, 11, 59},
- dictWord{
- 13,
- 11,
- 60,
- },
- dictWord{13, 11, 145},
- dictWord{13, 11, 239},
- dictWord{13, 11, 250},
- dictWord{13, 11, 273},
- dictWord{13, 11, 329},
- dictWord{13, 11, 344},
- dictWord{13, 11, 365},
- dictWord{13, 11, 372},
- dictWord{13, 11, 387},
- dictWord{13, 11, 403},
- dictWord{13, 11, 414},
- dictWord{13, 11, 456},
- dictWord{
- 13,
- 11,
- 478,
- },
- dictWord{13, 11, 483},
- dictWord{13, 11, 489},
- dictWord{14, 11, 55},
- dictWord{14, 11, 57},
- dictWord{14, 11, 81},
- dictWord{14, 11, 90},
- dictWord{
- 14,
- 11,
- 148,
- },
- dictWord{14, 11, 239},
- dictWord{14, 11, 266},
- dictWord{14, 11, 321},
- dictWord{14, 11, 326},
- dictWord{14, 11, 327},
- dictWord{14, 11, 330},
- dictWord{
- 14,
- 11,
- 347,
- },
- dictWord{14, 11, 355},
- dictWord{14, 11, 401},
- dictWord{14, 11, 411},
- dictWord{14, 11, 414},
- dictWord{14, 11, 416},
- dictWord{14, 11, 420},
- dictWord{15, 11, 61},
- dictWord{15, 11, 74},
- dictWord{15, 11, 87},
- dictWord{15, 11, 88},
- dictWord{15, 11, 94},
- dictWord{15, 11, 96},
- dictWord{15, 11, 116},
- dictWord{15, 11, 149},
- dictWord{15, 11, 154},
- dictWord{16, 11, 50},
- dictWord{16, 11, 63},
- dictWord{16, 11, 73},
- dictWord{17, 11, 2},
- dictWord{17, 11, 66},
- dictWord{
- 17,
- 11,
- 92,
- },
- dictWord{17, 11, 103},
- dictWord{17, 11, 112},
- dictWord{18, 11, 50},
- dictWord{18, 11, 54},
- dictWord{18, 11, 82},
- dictWord{18, 11, 86},
- dictWord{
- 18,
- 11,
- 90,
- },
- dictWord{18, 11, 111},
- dictWord{18, 11, 115},
- dictWord{18, 11, 156},
- dictWord{19, 11, 40},
- dictWord{19, 11, 79},
- dictWord{20, 11, 78},
- dictWord{
- 149,
- 11,
- 22,
- },
- dictWord{137, 11, 170},
- dictWord{134, 0, 1433},
- dictWord{135, 11, 1307},
- dictWord{139, 11, 411},
- dictWord{5, 0, 189},
- dictWord{7, 0, 442},
- dictWord{7, 0, 443},
- dictWord{8, 0, 281},
- dictWord{12, 0, 174},
- dictWord{141, 0, 261},
- dictWord{6, 10, 216},
- dictWord{7, 10, 901},
- dictWord{7, 10, 1343},
- dictWord{136, 10, 493},
- dictWord{5, 11, 397},
- dictWord{6, 11, 154},
- dictWord{7, 10, 341},
- dictWord{7, 11, 676},
- dictWord{8, 11, 443},
- dictWord{8, 11, 609},
- dictWord{
- 9,
- 11,
- 24,
- },
- dictWord{9, 11, 325},
- dictWord{10, 11, 35},
- dictWord{11, 10, 219},
- dictWord{11, 11, 535},
- dictWord{11, 11, 672},
- dictWord{11, 11, 1018},
- dictWord{12, 11, 637},
- dictWord{144, 11, 30},
- dictWord{6, 0, 2},
- dictWord{7, 0, 191},
- dictWord{7, 0, 446},
- dictWord{7, 0, 1262},
- dictWord{7, 0, 1737},
- dictWord{8, 0, 22},
- dictWord{8, 0, 270},
- dictWord{8, 0, 612},
- dictWord{9, 0, 4},
- dictWord{9, 0, 312},
- dictWord{9, 0, 436},
- dictWord{9, 0, 626},
- dictWord{10, 0, 216},
- dictWord{10, 0, 311},
- dictWord{10, 0, 521},
- dictWord{10, 0, 623},
- dictWord{11, 0, 72},
- dictWord{11, 0, 330},
- dictWord{11, 0, 455},
- dictWord{12, 0, 321},
- dictWord{12, 0, 504},
- dictWord{12, 0, 530},
- dictWord{12, 0, 543},
- dictWord{13, 0, 17},
- dictWord{13, 0, 156},
- dictWord{13, 0, 334},
- dictWord{14, 0, 131},
- dictWord{17, 0, 60},
- dictWord{
- 148,
- 0,
- 64,
- },
- dictWord{7, 0, 354},
- dictWord{10, 0, 410},
- dictWord{139, 0, 815},
- dictWord{139, 10, 130},
- dictWord{7, 10, 1734},
- dictWord{137, 11, 631},
- dictWord{
- 12,
- 0,
- 425,
- },
- dictWord{15, 0, 112},
- dictWord{10, 10, 115},
- dictWord{11, 10, 420},
- dictWord{13, 10, 404},
- dictWord{14, 10, 346},
- dictWord{143, 10, 54},
- dictWord{
- 6,
- 0,
- 60,
- },
- dictWord{6, 0, 166},
- dictWord{7, 0, 374},
- dictWord{7, 0, 670},
- dictWord{7, 0, 1327},
- dictWord{8, 0, 411},
- dictWord{8, 0, 435},
- dictWord{9, 0, 653},
- dictWord{
- 9,
- 0,
- 740,
- },
- dictWord{10, 0, 385},
- dictWord{11, 0, 222},
- dictWord{11, 0, 324},
- dictWord{11, 0, 829},
- dictWord{140, 0, 611},
- dictWord{7, 0, 1611},
- dictWord{
- 13,
- 0,
- 14,
- },
- dictWord{15, 0, 44},
- dictWord{19, 0, 13},
- dictWord{148, 0, 76},
- dictWord{133, 11, 981},
- dictWord{4, 11, 56},
- dictWord{7, 11, 1791},
- dictWord{8, 11, 607},
- dictWord{8, 11, 651},
- dictWord{11, 11, 465},
- dictWord{11, 11, 835},
- dictWord{12, 11, 337},
- dictWord{141, 11, 480},
- dictWord{6, 0, 1478},
- dictWord{
- 5,
- 10,
- 1011,
- },
- dictWord{136, 10, 701},
- dictWord{139, 0, 596},
- dictWord{5, 0, 206},
- dictWord{134, 0, 398},
- dictWord{4, 10, 54},
- dictWord{5, 10, 666},
- dictWord{
- 7,
- 10,
- 1039,
- },
- dictWord{7, 10, 1130},
- dictWord{9, 10, 195},
- dictWord{138, 10, 302},
- dictWord{7, 0, 50},
- dictWord{9, 11, 158},
- dictWord{138, 11, 411},
- dictWord{
- 135,
- 11,
- 1120,
- },
- dictWord{6, 0, 517},
- dictWord{7, 0, 1159},
- dictWord{10, 0, 621},
- dictWord{11, 0, 192},
- dictWord{134, 10, 1669},
- dictWord{4, 0, 592},
- dictWord{
- 6,
- 0,
- 600,
- },
- dictWord{135, 0, 1653},
- dictWord{10, 0, 223},
- dictWord{139, 0, 645},
- dictWord{136, 11, 139},
- dictWord{7, 0, 64},
- dictWord{136, 0, 245},
- dictWord{
- 142,
- 0,
- 278,
- },
- dictWord{6, 11, 622},
- dictWord{135, 11, 1030},
- dictWord{136, 0, 604},
- dictWord{134, 0, 1502},
- dictWord{138, 0, 265},
- dictWord{
- 141,
- 11,
- 168,
- },
- dictWord{7, 0, 1763},
- dictWord{140, 0, 310},
- dictWord{7, 10, 798},
- dictWord{139, 11, 719},
- dictWord{7, 11, 160},
- dictWord{10, 11, 624},
- dictWord{
- 142,
- 11,
- 279,
- },
- dictWord{132, 11, 363},
- dictWord{7, 10, 122},
- dictWord{9, 10, 259},
- dictWord{10, 10, 84},
- dictWord{11, 10, 470},
- dictWord{12, 10, 541},
- dictWord{141, 10, 379},
- dictWord{5, 0, 129},
- dictWord{6, 0, 61},
- dictWord{135, 0, 947},
- dictWord{134, 0, 1356},
- dictWord{135, 11, 1191},
- dictWord{13, 0, 505},
- dictWord{141, 0, 506},
- dictWord{11, 0, 1000},
- dictWord{5, 10, 82},
- dictWord{5, 10, 131},
- dictWord{7, 10, 1755},
- dictWord{8, 10, 31},
- dictWord{9, 10, 168},
- dictWord{9, 10, 764},
- dictWord{139, 10, 869},
- dictWord{134, 0, 966},
- dictWord{134, 10, 605},
- dictWord{134, 11, 292},
- dictWord{5, 11, 177},
- dictWord{
- 6,
- 11,
- 616,
- },
- dictWord{7, 11, 827},
- dictWord{9, 11, 525},
- dictWord{138, 11, 656},
- dictWord{135, 11, 1486},
- dictWord{138, 11, 31},
- dictWord{5, 10, 278},
- dictWord{137, 10, 68},
- dictWord{4, 10, 163},
- dictWord{5, 10, 201},
- dictWord{5, 10, 307},
- dictWord{5, 10, 310},
- dictWord{6, 10, 335},
- dictWord{7, 10, 284},
- dictWord{136, 10, 165},
- dictWord{6, 0, 839},
- dictWord{135, 10, 1660},
- dictWord{136, 10, 781},
- dictWord{6, 10, 33},
- dictWord{135, 10, 1244},
- dictWord{
- 133,
- 0,
- 637,
- },
- dictWord{4, 11, 161},
- dictWord{133, 11, 631},
- dictWord{137, 0, 590},
- dictWord{7, 10, 1953},
- dictWord{136, 10, 720},
- dictWord{5, 0, 280},
- dictWord{
- 7,
- 0,
- 1226,
- },
- dictWord{138, 10, 203},
- dictWord{134, 0, 1386},
- dictWord{5, 0, 281},
- dictWord{6, 0, 1026},
- dictWord{6, 10, 326},
- dictWord{7, 10, 677},
- dictWord{
- 137,
- 10,
- 425,
- },
- dictWord{7, 11, 1557},
- dictWord{135, 11, 1684},
- dictWord{135, 0, 1064},
- dictWord{9, 11, 469},
- dictWord{9, 11, 709},
- dictWord{12, 11, 512},
- dictWord{14, 11, 65},
- dictWord{145, 11, 12},
- dictWord{134, 0, 917},
- dictWord{10, 11, 229},
- dictWord{11, 11, 73},
- dictWord{11, 11, 376},
- dictWord{
- 139,
- 11,
- 433,
- },
- dictWord{7, 0, 555},
- dictWord{9, 0, 192},
- dictWord{13, 0, 30},
- dictWord{13, 0, 49},
- dictWord{15, 0, 150},
- dictWord{16, 0, 76},
- dictWord{20, 0, 52},
- dictWord{
- 7,
- 10,
- 1316,
- },
- dictWord{7, 10, 1412},
- dictWord{7, 10, 1839},
- dictWord{9, 10, 589},
- dictWord{11, 10, 241},
- dictWord{11, 10, 676},
- dictWord{11, 10, 811},
- dictWord{11, 10, 891},
- dictWord{12, 10, 140},
- dictWord{12, 10, 346},
- dictWord{12, 10, 479},
- dictWord{13, 10, 381},
- dictWord{14, 10, 188},
- dictWord{
- 146,
- 10,
- 30,
- },
- dictWord{149, 0, 15},
- dictWord{6, 0, 1882},
- dictWord{6, 0, 1883},
- dictWord{6, 0, 1897},
- dictWord{9, 0, 945},
- dictWord{9, 0, 1014},
- dictWord{9, 0, 1020},
- dictWord{12, 0, 823},
- dictWord{12, 0, 842},
- dictWord{12, 0, 866},
- dictWord{12, 0, 934},
- dictWord{15, 0, 242},
- dictWord{146, 0, 208},
- dictWord{6, 0, 965},
- dictWord{134, 0, 1499},
- dictWord{7, 0, 33},
- dictWord{7, 0, 120},
- dictWord{8, 0, 489},
- dictWord{9, 0, 319},
- dictWord{10, 0, 820},
- dictWord{11, 0, 1004},
- dictWord{
- 12,
- 0,
- 379,
- },
- dictWord{12, 0, 679},
- dictWord{13, 0, 117},
- dictWord{13, 0, 412},
- dictWord{14, 0, 25},
- dictWord{15, 0, 52},
- dictWord{15, 0, 161},
- dictWord{16, 0, 47},
- dictWord{149, 0, 2},
- dictWord{6, 11, 558},
- dictWord{7, 11, 651},
- dictWord{8, 11, 421},
- dictWord{9, 11, 0},
- dictWord{138, 11, 34},
- dictWord{4, 0, 937},
- dictWord{
- 5,
- 0,
- 801,
- },
- dictWord{7, 0, 473},
- dictWord{5, 10, 358},
- dictWord{7, 10, 1184},
- dictWord{10, 10, 662},
- dictWord{13, 10, 212},
- dictWord{13, 10, 304},
- dictWord{
- 13,
- 10,
- 333,
- },
- dictWord{145, 10, 98},
- dictWord{132, 0, 877},
- dictWord{6, 0, 693},
- dictWord{134, 0, 824},
- dictWord{132, 0, 365},
- dictWord{7, 11, 1832},
- dictWord{
- 138,
- 11,
- 374,
- },
- dictWord{5, 0, 7},
- dictWord{139, 0, 774},
- dictWord{4, 0, 734},
- dictWord{5, 0, 662},
- dictWord{134, 0, 430},
- dictWord{4, 0, 746},
- dictWord{
- 135,
- 0,
- 1090,
- },
- dictWord{5, 0, 360},
- dictWord{8, 0, 237},
- dictWord{10, 0, 231},
- dictWord{147, 0, 124},
- dictWord{138, 11, 348},
- dictWord{6, 11, 6},
- dictWord{7, 11, 81},
- dictWord{7, 11, 771},
- dictWord{7, 11, 1731},
- dictWord{9, 11, 405},
- dictWord{138, 11, 421},
- dictWord{6, 0, 740},
- dictWord{137, 0, 822},
- dictWord{
- 133,
- 10,
- 946,
- },
- dictWord{7, 0, 1485},
- dictWord{136, 0, 929},
- dictWord{7, 10, 411},
- dictWord{8, 10, 631},
- dictWord{9, 10, 323},
- dictWord{10, 10, 355},
- dictWord{
- 11,
- 10,
- 491,
- },
- dictWord{12, 10, 143},
- dictWord{12, 10, 402},
- dictWord{13, 10, 73},
- dictWord{14, 10, 408},
- dictWord{15, 10, 107},
- dictWord{146, 10, 71},
- dictWord{
- 135,
- 10,
- 590,
- },
- dictWord{5, 11, 881},
- dictWord{133, 11, 885},
- dictWord{150, 11, 25},
- dictWord{4, 0, 852},
- dictWord{5, 11, 142},
- dictWord{134, 11, 546},
- dictWord{7, 10, 1467},
- dictWord{8, 10, 328},
- dictWord{10, 10, 544},
- dictWord{11, 10, 955},
- dictWord{13, 10, 320},
- dictWord{145, 10, 83},
- dictWord{9, 0, 17},
- dictWord{10, 0, 291},
- dictWord{11, 10, 511},
- dictWord{13, 10, 394},
- dictWord{14, 10, 298},
- dictWord{14, 10, 318},
- dictWord{146, 10, 103},
- dictWord{5, 11, 466},
- dictWord{11, 11, 571},
- dictWord{12, 11, 198},
- dictWord{13, 11, 283},
- dictWord{14, 11, 186},
- dictWord{15, 11, 21},
- dictWord{143, 11, 103},
- dictWord{
- 134,
- 0,
- 1001,
- },
- dictWord{4, 11, 185},
- dictWord{5, 11, 257},
- dictWord{5, 11, 839},
- dictWord{5, 11, 936},
- dictWord{7, 11, 171},
- dictWord{9, 11, 399},
- dictWord{
- 10,
- 11,
- 258,
- },
- dictWord{10, 11, 395},
- dictWord{10, 11, 734},
- dictWord{11, 11, 1014},
- dictWord{12, 11, 23},
- dictWord{13, 11, 350},
- dictWord{14, 11, 150},
- dictWord{147, 11, 6},
- dictWord{143, 0, 35},
- dictWord{132, 0, 831},
- dictWord{5, 10, 835},
- dictWord{134, 10, 483},
- dictWord{4, 0, 277},
- dictWord{5, 0, 608},
- dictWord{
- 6,
- 0,
- 493,
- },
- dictWord{7, 0, 457},
- dictWord{12, 0, 384},
- dictWord{7, 11, 404},
- dictWord{7, 11, 1377},
- dictWord{7, 11, 1430},
- dictWord{7, 11, 2017},
- dictWord{
- 8,
- 11,
- 149,
- },
- dictWord{8, 11, 239},
- dictWord{8, 11, 512},
- dictWord{8, 11, 793},
- dictWord{8, 11, 818},
- dictWord{9, 11, 474},
- dictWord{9, 11, 595},
- dictWord{
- 10,
- 11,
- 122,
- },
- dictWord{10, 11, 565},
- dictWord{10, 11, 649},
- dictWord{10, 11, 783},
- dictWord{11, 11, 239},
- dictWord{11, 11, 295},
- dictWord{11, 11, 447},
- dictWord{
- 11,
- 11,
- 528,
- },
- dictWord{11, 11, 639},
- dictWord{11, 11, 800},
- dictWord{11, 11, 936},
- dictWord{12, 11, 25},
- dictWord{12, 11, 73},
- dictWord{12, 11, 77},
- dictWord{12, 11, 157},
- dictWord{12, 11, 316},
- dictWord{12, 11, 390},
- dictWord{12, 11, 391},
- dictWord{12, 11, 394},
- dictWord{12, 11, 395},
- dictWord{
- 12,
- 11,
- 478,
- },
- dictWord{12, 11, 503},
- dictWord{12, 11, 592},
- dictWord{12, 11, 680},
- dictWord{13, 11, 50},
- dictWord{13, 11, 53},
- dictWord{13, 11, 132},
- dictWord{
- 13,
- 11,
- 198,
- },
- dictWord{13, 11, 275},
- dictWord{13, 11, 322},
- dictWord{13, 11, 415},
- dictWord{14, 11, 71},
- dictWord{14, 11, 257},
- dictWord{14, 11, 395},
- dictWord{15, 11, 71},
- dictWord{15, 11, 136},
- dictWord{17, 11, 123},
- dictWord{18, 11, 93},
- dictWord{147, 11, 58},
- dictWord{134, 0, 1351},
- dictWord{7, 0, 27},
- dictWord{135, 0, 316},
- dictWord{136, 11, 712},
- dictWord{136, 0, 984},
- dictWord{133, 0, 552},
- dictWord{137, 0, 264},
- dictWord{132, 0, 401},
- dictWord{6, 0, 710},
- dictWord{6, 0, 1111},
- dictWord{134, 0, 1343},
- dictWord{134, 0, 1211},
- dictWord{9, 0, 543},
- dictWord{10, 0, 524},
- dictWord{11, 0, 108},
- dictWord{11, 0, 653},
- dictWord{12, 0, 524},
- dictWord{13, 0, 123},
- dictWord{14, 0, 252},
- dictWord{16, 0, 18},
- dictWord{19, 0, 38},
- dictWord{20, 0, 26},
- dictWord{20, 0, 65},
- dictWord{
- 21,
- 0,
- 3,
- },
- dictWord{151, 0, 11},
- dictWord{4, 0, 205},
- dictWord{5, 0, 623},
- dictWord{7, 0, 104},
- dictWord{8, 0, 519},
- dictWord{137, 0, 716},
- dictWord{132, 10, 677},
- dictWord{4, 11, 377},
- dictWord{152, 11, 13},
- dictWord{135, 11, 1673},
- dictWord{7, 0, 579},
- dictWord{9, 0, 41},
- dictWord{9, 0, 244},
- dictWord{9, 0, 669},
- dictWord{
- 10,
- 0,
- 5,
- },
- dictWord{11, 0, 861},
- dictWord{11, 0, 951},
- dictWord{139, 0, 980},
- dictWord{132, 0, 717},
- dictWord{136, 0, 1011},
- dictWord{132, 0, 805},
- dictWord{
- 4,
- 11,
- 180,
- },
- dictWord{135, 11, 1906},
- dictWord{132, 10, 777},
- dictWord{132, 10, 331},
- dictWord{132, 0, 489},
- dictWord{6, 0, 1024},
- dictWord{4, 11, 491},
- dictWord{133, 10, 747},
- dictWord{135, 11, 1182},
- dictWord{4, 11, 171},
- dictWord{138, 11, 234},
- dictWord{4, 11, 586},
- dictWord{7, 11, 1186},
- dictWord{
- 138,
- 11,
- 631,
- },
- dictWord{135, 0, 892},
- dictWord{135, 11, 336},
- dictWord{9, 11, 931},
- dictWord{10, 11, 334},
- dictWord{148, 11, 71},
- dictWord{137, 0, 473},
- dictWord{6, 0, 864},
- dictWord{12, 0, 659},
- dictWord{139, 11, 926},
- dictWord{7, 0, 819},
- dictWord{9, 0, 26},
- dictWord{9, 0, 392},
- dictWord{10, 0, 152},
- dictWord{
- 10,
- 0,
- 226,
- },
- dictWord{11, 0, 19},
- dictWord{12, 0, 276},
- dictWord{12, 0, 426},
- dictWord{12, 0, 589},
- dictWord{13, 0, 460},
- dictWord{15, 0, 97},
- dictWord{19, 0, 48},
- dictWord{148, 0, 104},
- dictWord{135, 0, 51},
- dictWord{133, 10, 326},
- dictWord{4, 10, 691},
- dictWord{146, 10, 16},
- dictWord{9, 0, 130},
- dictWord{11, 0, 765},
- dictWord{10, 10, 680},
- dictWord{10, 10, 793},
- dictWord{141, 10, 357},
- dictWord{133, 11, 765},
- dictWord{8, 0, 229},
- dictWord{6, 10, 32},
- dictWord{7, 10, 385},
- dictWord{7, 10, 757},
- dictWord{7, 10, 1916},
- dictWord{8, 10, 94},
- dictWord{8, 10, 711},
- dictWord{9, 10, 541},
- dictWord{10, 10, 162},
- dictWord{10, 10, 795},
- dictWord{11, 10, 989},
- dictWord{11, 10, 1010},
- dictWord{12, 10, 14},
- dictWord{142, 10, 308},
- dictWord{7, 11, 474},
- dictWord{137, 11, 578},
- dictWord{
- 132,
- 0,
- 674,
- },
- dictWord{132, 0, 770},
- dictWord{5, 0, 79},
- dictWord{7, 0, 1027},
- dictWord{7, 0, 1477},
- dictWord{139, 0, 52},
- dictWord{133, 11, 424},
- dictWord{
- 134,
- 0,
- 1666,
- },
- dictWord{6, 0, 409},
- dictWord{6, 10, 349},
- dictWord{6, 10, 1682},
- dictWord{7, 10, 1252},
- dictWord{8, 10, 112},
- dictWord{8, 11, 714},
- dictWord{
- 9,
- 10,
- 435,
- },
- dictWord{9, 10, 668},
- dictWord{10, 10, 290},
- dictWord{10, 10, 319},
- dictWord{10, 10, 815},
- dictWord{11, 10, 180},
- dictWord{11, 10, 837},
- dictWord{
- 12,
- 10,
- 240,
- },
- dictWord{13, 10, 152},
- dictWord{13, 10, 219},
- dictWord{142, 10, 158},
- dictWord{5, 0, 789},
- dictWord{134, 0, 195},
- dictWord{4, 0, 251},
- dictWord{
- 4,
- 0,
- 688,
- },
- dictWord{7, 0, 513},
- dictWord{135, 0, 1284},
- dictWord{132, 10, 581},
- dictWord{9, 11, 420},
- dictWord{10, 11, 269},
- dictWord{10, 11, 285},
- dictWord{10, 11, 576},
- dictWord{11, 11, 397},
- dictWord{13, 11, 175},
- dictWord{145, 11, 90},
- dictWord{6, 10, 126},
- dictWord{7, 10, 573},
- dictWord{8, 10, 397},
- dictWord{142, 10, 44},
- dictWord{132, 11, 429},
- dictWord{133, 0, 889},
- dictWord{4, 0, 160},
- dictWord{5, 0, 330},
- dictWord{7, 0, 1434},
- dictWord{136, 0, 174},
- dictWord{7, 11, 18},
- dictWord{7, 11, 699},
- dictWord{7, 11, 1966},
- dictWord{8, 11, 752},
- dictWord{9, 11, 273},
- dictWord{9, 11, 412},
- dictWord{9, 11, 703},
- dictWord{
- 10,
- 11,
- 71,
- },
- dictWord{10, 11, 427},
- dictWord{10, 11, 508},
- dictWord{146, 11, 97},
- dictWord{6, 0, 872},
- dictWord{134, 0, 899},
- dictWord{133, 10, 926},
- dictWord{134, 0, 1126},
- dictWord{134, 0, 918},
- dictWord{4, 11, 53},
- dictWord{5, 11, 186},
- dictWord{135, 11, 752},
- dictWord{7, 0, 268},
- dictWord{136, 0, 569},
- dictWord{134, 0, 1224},
- dictWord{6, 0, 1361},
- dictWord{7, 10, 1232},
- dictWord{137, 10, 531},
- dictWord{8, 11, 575},
- dictWord{10, 11, 289},
- dictWord{
- 139,
- 11,
- 319,
- },
- dictWord{133, 10, 670},
- dictWord{132, 11, 675},
- dictWord{133, 0, 374},
- dictWord{135, 10, 1957},
- dictWord{133, 0, 731},
- dictWord{11, 0, 190},
- dictWord{15, 0, 49},
- dictWord{11, 11, 190},
- dictWord{143, 11, 49},
- dictWord{4, 0, 626},
- dictWord{5, 0, 506},
- dictWord{5, 0, 642},
- dictWord{6, 0, 425},
- dictWord{
- 10,
- 0,
- 202,
- },
- dictWord{139, 0, 141},
- dictWord{137, 0, 444},
- dictWord{7, 10, 242},
- dictWord{135, 10, 1942},
- dictWord{6, 11, 209},
- dictWord{8, 11, 468},
- dictWord{
- 9,
- 11,
- 210,
- },
- dictWord{11, 11, 36},
- dictWord{12, 11, 28},
- dictWord{12, 11, 630},
- dictWord{13, 11, 21},
- dictWord{13, 11, 349},
- dictWord{14, 11, 7},
- dictWord{
- 145,
- 11,
- 13,
- },
- dictWord{4, 11, 342},
- dictWord{135, 11, 1179},
- dictWord{5, 10, 834},
- dictWord{7, 10, 1202},
- dictWord{8, 10, 14},
- dictWord{9, 10, 481},
- dictWord{
- 137,
- 10,
- 880,
- },
- dictWord{4, 11, 928},
- dictWord{133, 11, 910},
- dictWord{4, 11, 318},
- dictWord{4, 11, 496},
- dictWord{7, 11, 856},
- dictWord{139, 11, 654},
- dictWord{136, 0, 835},
- dictWord{7, 0, 1526},
- dictWord{138, 10, 465},
- dictWord{151, 0, 17},
- dictWord{135, 0, 477},
- dictWord{4, 10, 357},
- dictWord{6, 10, 172},
- dictWord{7, 10, 143},
- dictWord{137, 10, 413},
- dictWord{6, 0, 1374},
- dictWord{138, 0, 994},
- dictWord{18, 0, 76},
- dictWord{132, 10, 590},
- dictWord{7, 0, 287},
- dictWord{8, 0, 355},
- dictWord{9, 0, 293},
- dictWord{137, 0, 743},
- dictWord{134, 0, 1389},
- dictWord{7, 11, 915},
- dictWord{8, 11, 247},
- dictWord{147, 11, 0},
- dictWord{
- 4,
- 11,
- 202,
- },
- dictWord{5, 11, 382},
- dictWord{6, 11, 454},
- dictWord{7, 11, 936},
- dictWord{7, 11, 1803},
- dictWord{8, 11, 758},
- dictWord{9, 11, 375},
- dictWord{
- 9,
- 11,
- 895,
- },
- dictWord{10, 11, 743},
- dictWord{10, 11, 792},
- dictWord{11, 11, 978},
- dictWord{11, 11, 1012},
- dictWord{142, 11, 109},
- dictWord{5, 0, 384},
- dictWord{8, 0, 455},
- dictWord{140, 0, 48},
- dictWord{132, 11, 390},
- dictWord{5, 10, 169},
- dictWord{7, 10, 333},
- dictWord{136, 10, 45},
- dictWord{5, 0, 264},
- dictWord{134, 0, 184},
- dictWord{138, 11, 791},
- dictWord{133, 11, 717},
- dictWord{132, 10, 198},
- dictWord{6, 11, 445},
- dictWord{7, 11, 332},
- dictWord{
- 137,
- 11,
- 909,
- },
- dictWord{136, 0, 1001},
- dictWord{4, 10, 24},
- dictWord{5, 10, 140},
- dictWord{5, 10, 185},
- dictWord{7, 10, 1500},
- dictWord{11, 10, 565},
- dictWord{
- 139,
- 10,
- 838,
- },
- dictWord{134, 11, 578},
- dictWord{5, 0, 633},
- dictWord{6, 0, 28},
- dictWord{135, 0, 1323},
- dictWord{132, 0, 851},
- dictWord{136, 11, 267},
- dictWord{
- 7,
- 0,
- 359,
- },
- dictWord{8, 0, 243},
- dictWord{140, 0, 175},
- dictWord{4, 10, 334},
- dictWord{133, 10, 593},
- dictWord{141, 11, 87},
- dictWord{136, 11, 766},
- dictWord{10, 0, 287},
- dictWord{12, 0, 138},
- dictWord{10, 11, 287},
- dictWord{140, 11, 138},
- dictWord{4, 0, 105},
- dictWord{132, 0, 740},
- dictWord{140, 10, 116},
- dictWord{134, 0, 857},
- dictWord{135, 11, 1841},
- dictWord{6, 0, 1402},
- dictWord{137, 0, 819},
- dictWord{132, 11, 584},
- dictWord{132, 10, 709},
- dictWord{
- 133,
- 10,
- 897,
- },
- dictWord{5, 0, 224},
- dictWord{13, 0, 174},
- dictWord{146, 0, 52},
- dictWord{135, 10, 1840},
- dictWord{4, 10, 608},
- dictWord{133, 10, 497},
- dictWord{139, 11, 60},
- dictWord{4, 0, 758},
- dictWord{135, 0, 1649},
- dictWord{4, 11, 226},
- dictWord{4, 11, 326},
- dictWord{135, 11, 1770},
- dictWord{5, 11, 426},
- dictWord{8, 11, 30},
- dictWord{9, 11, 2},
- dictWord{11, 11, 549},
- dictWord{147, 11, 122},
- dictWord{135, 10, 2039},
- dictWord{6, 10, 540},
- dictWord{
- 136,
- 10,
- 136,
- },
- dictWord{4, 0, 573},
- dictWord{8, 0, 655},
- dictWord{4, 10, 897},
- dictWord{133, 10, 786},
- dictWord{7, 0, 351},
- dictWord{139, 0, 128},
- dictWord{
- 133,
- 10,
- 999,
- },
- dictWord{4, 10, 299},
- dictWord{135, 10, 1004},
- dictWord{133, 0, 918},
- dictWord{132, 11, 345},
- dictWord{4, 11, 385},
- dictWord{7, 11, 265},
- dictWord{135, 11, 587},
- dictWord{133, 10, 456},
- dictWord{136, 10, 180},
- dictWord{6, 0, 687},
- dictWord{134, 0, 1537},
- dictWord{4, 11, 347},
- dictWord{
- 5,
- 11,
- 423,
- },
- dictWord{5, 11, 996},
- dictWord{135, 11, 1329},
- dictWord{132, 10, 755},
- dictWord{7, 11, 1259},
- dictWord{9, 11, 125},
- dictWord{11, 11, 65},
- dictWord{140, 11, 285},
- dictWord{5, 11, 136},
- dictWord{6, 11, 136},
- dictWord{136, 11, 644},
- dictWord{134, 0, 1525},
- dictWord{4, 0, 1009},
- dictWord{
- 135,
- 0,
- 1139,
- },
- dictWord{139, 10, 338},
- dictWord{132, 0, 340},
- dictWord{135, 10, 1464},
- dictWord{8, 0, 847},
- dictWord{10, 0, 861},
- dictWord{10, 0, 876},
- dictWord{
- 10,
- 0,
- 889,
- },
- dictWord{10, 0, 922},
- dictWord{10, 0, 929},
- dictWord{10, 0, 933},
- dictWord{12, 0, 784},
- dictWord{140, 0, 791},
- dictWord{139, 0, 176},
- dictWord{
- 9,
- 11,
- 134,
- },
- dictWord{10, 11, 2},
- dictWord{10, 11, 27},
- dictWord{10, 11, 333},
- dictWord{11, 11, 722},
- dictWord{143, 11, 1},
- dictWord{4, 11, 433},
- dictWord{
- 133,
- 11,
- 719,
- },
- dictWord{5, 0, 985},
- dictWord{7, 0, 509},
- dictWord{7, 0, 529},
- dictWord{145, 0, 96},
- dictWord{132, 0, 615},
- dictWord{4, 10, 890},
- dictWord{
- 5,
- 10,
- 805,
- },
- dictWord{5, 10, 819},
- dictWord{5, 10, 961},
- dictWord{6, 10, 396},
- dictWord{6, 10, 1631},
- dictWord{6, 10, 1678},
- dictWord{7, 10, 1967},
- dictWord{
- 7,
- 10,
- 2041,
- },
- dictWord{9, 10, 630},
- dictWord{11, 10, 8},
- dictWord{11, 10, 1019},
- dictWord{12, 10, 176},
- dictWord{13, 10, 225},
- dictWord{14, 10, 292},
- dictWord{
- 149,
- 10,
- 24,
- },
- dictWord{135, 0, 1919},
- dictWord{134, 0, 1131},
- dictWord{144, 11, 21},
- dictWord{144, 11, 51},
- dictWord{135, 10, 1815},
- dictWord{4, 0, 247},
- dictWord{7, 10, 1505},
- dictWord{10, 10, 190},
- dictWord{10, 10, 634},
- dictWord{11, 10, 792},
- dictWord{12, 10, 358},
- dictWord{140, 10, 447},
- dictWord{
- 5,
- 10,
- 0,
- },
- dictWord{6, 10, 536},
- dictWord{7, 10, 604},
- dictWord{13, 10, 445},
- dictWord{145, 10, 126},
- dictWord{4, 0, 184},
- dictWord{5, 0, 390},
- dictWord{6, 0, 337},
- dictWord{7, 0, 23},
- dictWord{7, 0, 494},
- dictWord{7, 0, 618},
- dictWord{7, 0, 1456},
- dictWord{8, 0, 27},
- dictWord{8, 0, 599},
- dictWord{10, 0, 153},
- dictWord{
- 139,
- 0,
- 710,
- },
- dictWord{6, 10, 232},
- dictWord{6, 10, 412},
- dictWord{7, 10, 1074},
- dictWord{8, 10, 9},
- dictWord{8, 10, 157},
- dictWord{8, 10, 786},
- dictWord{9, 10, 196},
- dictWord{9, 10, 352},
- dictWord{9, 10, 457},
- dictWord{10, 10, 337},
- dictWord{11, 10, 232},
- dictWord{11, 10, 877},
- dictWord{12, 10, 480},
- dictWord{
- 140,
- 10,
- 546,
- },
- dictWord{13, 0, 38},
- dictWord{135, 10, 958},
- dictWord{4, 10, 382},
- dictWord{136, 10, 579},
- dictWord{4, 10, 212},
- dictWord{135, 10, 1206},
- dictWord{
- 4,
- 11,
- 555,
- },
- dictWord{8, 11, 536},
- dictWord{138, 11, 288},
- dictWord{11, 11, 139},
- dictWord{139, 11, 171},
- dictWord{9, 11, 370},
- dictWord{138, 11, 90},
- dictWord{132, 0, 1015},
- dictWord{134, 0, 1088},
- dictWord{5, 10, 655},
- dictWord{135, 11, 977},
- dictWord{134, 0, 1585},
- dictWord{17, 10, 67},
- dictWord{
- 147,
- 10,
- 74,
- },
- dictWord{10, 0, 227},
- dictWord{11, 0, 497},
- dictWord{11, 0, 709},
- dictWord{140, 0, 415},
- dictWord{6, 0, 360},
- dictWord{7, 0, 1664},
- dictWord{
- 136,
- 0,
- 478,
- },
- dictWord{7, 0, 95},
- dictWord{6, 10, 231},
- dictWord{136, 10, 423},
- dictWord{140, 11, 65},
- dictWord{4, 11, 257},
- dictWord{135, 11, 2031},
- dictWord{
- 135,
- 11,
- 1768,
- },
- dictWord{133, 10, 300},
- dictWord{139, 11, 211},
- dictWord{136, 0, 699},
- dictWord{6, 10, 237},
- dictWord{7, 10, 611},
- dictWord{8, 10, 100},
- dictWord{9, 10, 416},
- dictWord{11, 10, 335},
- dictWord{12, 10, 173},
- dictWord{146, 10, 101},
- dictWord{14, 0, 26},
- dictWord{146, 0, 150},
- dictWord{6, 0, 581},
- dictWord{135, 0, 1119},
- dictWord{135, 10, 1208},
- dictWord{132, 0, 739},
- dictWord{6, 11, 83},
- dictWord{6, 11, 1733},
- dictWord{135, 11, 1389},
- dictWord{
- 137,
- 0,
- 869,
- },
- dictWord{4, 0, 67},
- dictWord{5, 0, 422},
- dictWord{7, 0, 1037},
- dictWord{7, 0, 1289},
- dictWord{7, 0, 1555},
- dictWord{9, 0, 741},
- dictWord{145, 0, 108},
- dictWord{133, 10, 199},
- dictWord{12, 10, 427},
- dictWord{146, 10, 38},
- dictWord{136, 0, 464},
- dictWord{142, 0, 42},
- dictWord{10, 0, 96},
- dictWord{8, 11, 501},
- dictWord{137, 11, 696},
- dictWord{134, 11, 592},
- dictWord{4, 0, 512},
- dictWord{4, 0, 966},
- dictWord{5, 0, 342},
- dictWord{6, 0, 1855},
- dictWord{8, 0, 869},
- dictWord{8, 0, 875},
- dictWord{8, 0, 901},
- dictWord{144, 0, 26},
- dictWord{8, 0, 203},
- dictWord{11, 0, 823},
- dictWord{11, 0, 846},
- dictWord{12, 0, 482},
- dictWord{
- 13,
- 0,
- 277,
- },
- dictWord{13, 0, 302},
- dictWord{13, 0, 464},
- dictWord{14, 0, 205},
- dictWord{142, 0, 221},
- dictWord{4, 0, 449},
- dictWord{133, 0, 718},
- dictWord{
- 7,
- 11,
- 1718,
- },
- dictWord{9, 11, 95},
- dictWord{9, 11, 274},
- dictWord{10, 11, 279},
- dictWord{10, 11, 317},
- dictWord{10, 11, 420},
- dictWord{11, 11, 303},
- dictWord{
- 11,
- 11,
- 808,
- },
- dictWord{12, 11, 134},
- dictWord{12, 11, 367},
- dictWord{13, 11, 149},
- dictWord{13, 11, 347},
- dictWord{14, 11, 349},
- dictWord{14, 11, 406},
- dictWord{18, 11, 22},
- dictWord{18, 11, 89},
- dictWord{18, 11, 122},
- dictWord{147, 11, 47},
- dictWord{133, 11, 26},
- dictWord{4, 0, 355},
- dictWord{6, 0, 311},
- dictWord{
- 9,
- 0,
- 256,
- },
- dictWord{138, 0, 404},
- dictWord{132, 11, 550},
- dictWord{10, 0, 758},
- dictWord{6, 10, 312},
- dictWord{6, 10, 1715},
- dictWord{10, 10, 584},
- dictWord{11, 10, 546},
- dictWord{11, 10, 692},
- dictWord{12, 10, 259},
- dictWord{12, 10, 295},
- dictWord{13, 10, 46},
- dictWord{141, 10, 154},
- dictWord{
- 136,
- 11,
- 822,
- },
- dictWord{5, 0, 827},
- dictWord{4, 11, 902},
- dictWord{5, 11, 809},
- dictWord{6, 11, 122},
- dictWord{135, 11, 896},
- dictWord{5, 0, 64},
- dictWord{140, 0, 581},
- dictWord{4, 0, 442},
- dictWord{6, 0, 739},
- dictWord{7, 0, 1047},
- dictWord{7, 0, 1352},
- dictWord{7, 0, 1643},
- dictWord{7, 11, 1911},
- dictWord{9, 11, 449},
- dictWord{10, 11, 192},
- dictWord{138, 11, 740},
- dictWord{135, 11, 262},
- dictWord{132, 10, 588},
- dictWord{133, 11, 620},
- dictWord{5, 0, 977},
- dictWord{
- 6,
- 0,
- 288,
- },
- dictWord{7, 0, 528},
- dictWord{4, 11, 34},
- dictWord{5, 11, 574},
- dictWord{7, 11, 279},
- dictWord{7, 11, 1624},
- dictWord{136, 11, 601},
- dictWord{
- 6,
- 0,
- 1375,
- },
- dictWord{4, 10, 231},
- dictWord{5, 10, 61},
- dictWord{6, 10, 104},
- dictWord{7, 10, 729},
- dictWord{7, 10, 964},
- dictWord{7, 10, 1658},
- dictWord{
- 140,
- 10,
- 414,
- },
- dictWord{6, 10, 263},
- dictWord{138, 10, 757},
- dictWord{132, 10, 320},
- dictWord{4, 0, 254},
- dictWord{7, 0, 1309},
- dictWord{5, 11, 332},
- dictWord{
- 135,
- 11,
- 1309,
- },
- dictWord{6, 11, 261},
- dictWord{8, 11, 182},
- dictWord{139, 11, 943},
- dictWord{132, 10, 225},
- dictWord{6, 0, 12},
- dictWord{135, 0, 1219},
- dictWord{4, 0, 275},
- dictWord{12, 0, 376},
- dictWord{6, 11, 1721},
- dictWord{141, 11, 490},
- dictWord{4, 11, 933},
- dictWord{133, 11, 880},
- dictWord{6, 0, 951},
- dictWord{6, 0, 1109},
- dictWord{6, 0, 1181},
- dictWord{7, 0, 154},
- dictWord{4, 10, 405},
- dictWord{7, 10, 817},
- dictWord{14, 10, 58},
- dictWord{17, 10, 37},
- dictWord{
- 146,
- 10,
- 124,
- },
- dictWord{6, 0, 1520},
- dictWord{133, 10, 974},
- dictWord{134, 0, 1753},
- dictWord{6, 0, 369},
- dictWord{6, 0, 502},
- dictWord{7, 0, 1036},
- dictWord{
- 8,
- 0,
- 348,
- },
- dictWord{9, 0, 452},
- dictWord{10, 0, 26},
- dictWord{11, 0, 224},
- dictWord{11, 0, 387},
- dictWord{11, 0, 772},
- dictWord{12, 0, 95},
- dictWord{12, 0, 629},
- dictWord{13, 0, 195},
- dictWord{13, 0, 207},
- dictWord{13, 0, 241},
- dictWord{14, 0, 260},
- dictWord{14, 0, 270},
- dictWord{143, 0, 140},
- dictWord{132, 0, 269},
- dictWord{5, 0, 480},
- dictWord{7, 0, 532},
- dictWord{7, 0, 1197},
- dictWord{7, 0, 1358},
- dictWord{8, 0, 291},
- dictWord{11, 0, 349},
- dictWord{142, 0, 396},
- dictWord{
- 5,
- 10,
- 235,
- },
- dictWord{7, 10, 1239},
- dictWord{11, 10, 131},
- dictWord{140, 10, 370},
- dictWord{7, 10, 956},
- dictWord{7, 10, 1157},
- dictWord{7, 10, 1506},
- dictWord{
- 7,
- 10,
- 1606,
- },
- dictWord{7, 10, 1615},
- dictWord{7, 10, 1619},
- dictWord{7, 10, 1736},
- dictWord{7, 10, 1775},
- dictWord{8, 10, 590},
- dictWord{9, 10, 324},
- dictWord{9, 10, 736},
- dictWord{9, 10, 774},
- dictWord{9, 10, 776},
- dictWord{9, 10, 784},
- dictWord{10, 10, 567},
- dictWord{10, 10, 708},
- dictWord{11, 10, 518},
- dictWord{11, 10, 613},
- dictWord{11, 10, 695},
- dictWord{11, 10, 716},
- dictWord{11, 10, 739},
- dictWord{11, 10, 770},
- dictWord{11, 10, 771},
- dictWord{
- 11,
- 10,
- 848,
- },
- dictWord{11, 10, 857},
- dictWord{11, 10, 931},
- dictWord{11, 10, 947},
- dictWord{12, 10, 326},
- dictWord{12, 10, 387},
- dictWord{12, 10, 484},
- dictWord{
- 12,
- 10,
- 528,
- },
- dictWord{12, 10, 552},
- dictWord{12, 10, 613},
- dictWord{13, 10, 189},
- dictWord{13, 10, 256},
- dictWord{13, 10, 340},
- dictWord{13, 10, 432},
- dictWord{13, 10, 436},
- dictWord{13, 10, 440},
- dictWord{13, 10, 454},
- dictWord{14, 10, 174},
- dictWord{14, 10, 220},
- dictWord{14, 10, 284},
- dictWord{
- 14,
- 10,
- 390,
- },
- dictWord{145, 10, 121},
- dictWord{8, 11, 598},
- dictWord{9, 11, 664},
- dictWord{138, 11, 441},
- dictWord{9, 10, 137},
- dictWord{138, 10, 221},
- dictWord{133, 11, 812},
- dictWord{148, 0, 15},
- dictWord{134, 0, 1341},
- dictWord{6, 0, 1017},
- dictWord{4, 11, 137},
- dictWord{7, 11, 1178},
- dictWord{
- 135,
- 11,
- 1520,
- },
- dictWord{7, 10, 390},
- dictWord{138, 10, 140},
- dictWord{7, 11, 1260},
- dictWord{135, 11, 1790},
- dictWord{137, 11, 191},
- dictWord{
- 135,
- 10,
- 1144,
- },
- dictWord{6, 0, 1810},
- dictWord{7, 0, 657},
- dictWord{8, 0, 886},
- dictWord{10, 0, 857},
- dictWord{14, 0, 440},
- dictWord{144, 0, 96},
- dictWord{8, 0, 533},
- dictWord{6, 11, 1661},
- dictWord{7, 11, 1975},
- dictWord{7, 11, 2009},
- dictWord{135, 11, 2011},
- dictWord{6, 0, 1453},
- dictWord{134, 10, 464},
- dictWord{
- 132,
- 11,
- 715,
- },
- dictWord{5, 10, 407},
- dictWord{11, 10, 204},
- dictWord{11, 10, 243},
- dictWord{11, 10, 489},
- dictWord{12, 10, 293},
- dictWord{19, 10, 37},
- dictWord{20, 10, 73},
- dictWord{150, 10, 38},
- dictWord{133, 11, 703},
- dictWord{4, 0, 211},
- dictWord{7, 0, 1483},
- dictWord{5, 10, 325},
- dictWord{8, 10, 5},
- dictWord{
- 8,
- 10,
- 227,
- },
- dictWord{9, 10, 105},
- dictWord{10, 10, 585},
- dictWord{140, 10, 614},
- dictWord{4, 0, 332},
- dictWord{5, 0, 335},
- dictWord{6, 0, 238},
- dictWord{
- 7,
- 0,
- 269,
- },
- dictWord{7, 0, 811},
- dictWord{7, 0, 1797},
- dictWord{8, 0, 836},
- dictWord{9, 0, 507},
- dictWord{141, 0, 242},
- dictWord{5, 11, 89},
- dictWord{7, 11, 1915},
- dictWord{9, 11, 185},
- dictWord{9, 11, 235},
- dictWord{9, 11, 496},
- dictWord{10, 11, 64},
- dictWord{10, 11, 270},
- dictWord{10, 11, 403},
- dictWord{10, 11, 469},
- dictWord{10, 11, 529},
- dictWord{10, 11, 590},
- dictWord{11, 11, 140},
- dictWord{11, 11, 860},
- dictWord{13, 11, 1},
- dictWord{13, 11, 422},
- dictWord{14, 11, 341},
- dictWord{14, 11, 364},
- dictWord{17, 11, 93},
- dictWord{18, 11, 113},
- dictWord{19, 11, 97},
- dictWord{147, 11, 113},
- dictWord{133, 11, 695},
- dictWord{
- 16,
- 0,
- 19,
- },
- dictWord{5, 11, 6},
- dictWord{6, 11, 183},
- dictWord{6, 10, 621},
- dictWord{7, 11, 680},
- dictWord{7, 11, 978},
- dictWord{7, 11, 1013},
- dictWord{7, 11, 1055},
- dictWord{12, 11, 230},
- dictWord{13, 11, 172},
- dictWord{13, 10, 504},
- dictWord{146, 11, 29},
- dictWord{136, 0, 156},
- dictWord{133, 0, 1009},
- dictWord{
- 6,
- 11,
- 29,
- },
- dictWord{139, 11, 63},
- dictWord{134, 0, 820},
- dictWord{134, 10, 218},
- dictWord{7, 10, 454},
- dictWord{7, 10, 782},
- dictWord{8, 10, 768},
- dictWord{
- 140,
- 10,
- 686,
- },
- dictWord{5, 0, 228},
- dictWord{6, 0, 203},
- dictWord{7, 0, 156},
- dictWord{8, 0, 347},
- dictWord{9, 0, 265},
- dictWord{18, 0, 39},
- dictWord{20, 0, 54},
- dictWord{21, 0, 31},
- dictWord{22, 0, 3},
- dictWord{23, 0, 0},
- dictWord{15, 11, 8},
- dictWord{18, 11, 39},
- dictWord{20, 11, 54},
- dictWord{21, 11, 31},
- dictWord{22, 11, 3},
- dictWord{151, 11, 0},
- dictWord{7, 0, 1131},
- dictWord{135, 0, 1468},
- dictWord{144, 10, 0},
- dictWord{134, 0, 1276},
- dictWord{10, 10, 676},
- dictWord{
- 140,
- 10,
- 462,
- },
- dictWord{132, 11, 311},
- dictWord{134, 11, 1740},
- dictWord{7, 11, 170},
- dictWord{8, 11, 90},
- dictWord{8, 11, 177},
- dictWord{8, 11, 415},
- dictWord{
- 11,
- 11,
- 714,
- },
- dictWord{142, 11, 281},
- dictWord{134, 10, 164},
- dictWord{6, 0, 1792},
- dictWord{138, 0, 849},
- dictWord{150, 10, 50},
- dictWord{5, 0, 291},
- dictWord{5, 0, 318},
- dictWord{7, 0, 765},
- dictWord{9, 0, 389},
- dictWord{12, 0, 548},
- dictWord{8, 11, 522},
- dictWord{142, 11, 328},
- dictWord{11, 11, 91},
- dictWord{
- 13,
- 11,
- 129,
- },
- dictWord{15, 11, 101},
- dictWord{145, 11, 125},
- dictWord{4, 11, 494},
- dictWord{6, 11, 74},
- dictWord{7, 11, 44},
- dictWord{7, 11, 407},
- dictWord{
- 8,
- 11,
- 551,
- },
- dictWord{12, 11, 17},
- dictWord{15, 11, 5},
- dictWord{148, 11, 11},
- dictWord{4, 11, 276},
- dictWord{133, 11, 296},
- dictWord{6, 10, 343},
- dictWord{
- 7,
- 10,
- 195,
- },
- dictWord{7, 11, 1777},
- dictWord{9, 10, 226},
- dictWord{10, 10, 197},
- dictWord{10, 10, 575},
- dictWord{11, 10, 502},
- dictWord{139, 10, 899},
- dictWord{
- 10,
- 0,
- 525,
- },
- dictWord{139, 0, 82},
- dictWord{14, 0, 453},
- dictWord{4, 11, 7},
- dictWord{5, 11, 90},
- dictWord{5, 11, 158},
- dictWord{6, 11, 542},
- dictWord{7, 11, 221},
- dictWord{7, 11, 1574},
- dictWord{9, 11, 490},
- dictWord{10, 11, 540},
- dictWord{11, 11, 443},
- dictWord{139, 11, 757},
- dictWord{135, 0, 666},
- dictWord{
- 22,
- 10,
- 29,
- },
- dictWord{150, 11, 29},
- dictWord{4, 0, 422},
- dictWord{147, 10, 8},
- dictWord{5, 0, 355},
- dictWord{145, 0, 0},
- dictWord{6, 0, 1873},
- dictWord{9, 0, 918},
- dictWord{7, 11, 588},
- dictWord{9, 11, 175},
- dictWord{138, 11, 530},
- dictWord{143, 11, 31},
- dictWord{11, 0, 165},
- dictWord{7, 10, 1125},
- dictWord{9, 10, 143},
- dictWord{14, 10, 405},
- dictWord{150, 10, 21},
- dictWord{9, 0, 260},
- dictWord{137, 0, 905},
- dictWord{5, 11, 872},
- dictWord{6, 11, 57},
- dictWord{6, 11, 479},
- dictWord{
- 6,
- 11,
- 562,
- },
- dictWord{7, 11, 471},
- dictWord{7, 11, 1060},
- dictWord{9, 11, 447},
- dictWord{9, 11, 454},
- dictWord{141, 11, 6},
- dictWord{138, 11, 704},
- dictWord{133, 0, 865},
- dictWord{5, 0, 914},
- dictWord{134, 0, 1625},
- dictWord{133, 0, 234},
- dictWord{7, 0, 1383},
- dictWord{5, 11, 31},
- dictWord{6, 11, 614},
- dictWord{145, 11, 61},
- dictWord{7, 11, 1200},
- dictWord{138, 11, 460},
- dictWord{6, 11, 424},
- dictWord{135, 11, 1866},
- dictWord{136, 0, 306},
- dictWord{
- 5,
- 10,
- 959,
- },
- dictWord{12, 11, 30},
- dictWord{13, 11, 148},
- dictWord{14, 11, 87},
- dictWord{14, 11, 182},
- dictWord{16, 11, 42},
- dictWord{18, 11, 92},
- dictWord{
- 148,
- 11,
- 70,
- },
- dictWord{6, 0, 1919},
- dictWord{6, 0, 1921},
- dictWord{9, 0, 923},
- dictWord{9, 0, 930},
- dictWord{9, 0, 941},
- dictWord{9, 0, 949},
- dictWord{9, 0, 987},
- dictWord{
- 9,
- 0,
- 988,
- },
- dictWord{9, 0, 992},
- dictWord{12, 0, 802},
- dictWord{12, 0, 815},
- dictWord{12, 0, 856},
- dictWord{12, 0, 885},
- dictWord{12, 0, 893},
- dictWord{
- 12,
- 0,
- 898,
- },
- dictWord{12, 0, 919},
- dictWord{12, 0, 920},
- dictWord{12, 0, 941},
- dictWord{12, 0, 947},
- dictWord{15, 0, 183},
- dictWord{15, 0, 185},
- dictWord{15, 0, 189},
- dictWord{15, 0, 197},
- dictWord{15, 0, 202},
- dictWord{15, 0, 233},
- dictWord{18, 0, 218},
- dictWord{18, 0, 219},
- dictWord{18, 0, 233},
- dictWord{143, 11, 156},
- dictWord{135, 10, 1759},
- dictWord{136, 10, 173},
- dictWord{13, 0, 163},
- dictWord{13, 0, 180},
- dictWord{18, 0, 78},
- dictWord{20, 0, 35},
- dictWord{5, 11, 13},
- dictWord{134, 11, 142},
- dictWord{134, 10, 266},
- dictWord{6, 11, 97},
- dictWord{7, 11, 116},
- dictWord{8, 11, 322},
- dictWord{8, 11, 755},
- dictWord{9, 11, 548},
- dictWord{10, 11, 714},
- dictWord{11, 11, 884},
- dictWord{141, 11, 324},
- dictWord{135, 0, 1312},
- dictWord{9, 0, 814},
- dictWord{137, 11, 676},
- dictWord{
- 133,
- 0,
- 707,
- },
- dictWord{135, 0, 1493},
- dictWord{6, 0, 421},
- dictWord{7, 0, 61},
- dictWord{7, 0, 1540},
- dictWord{10, 0, 11},
- dictWord{138, 0, 501},
- dictWord{12, 0, 733},
- dictWord{12, 0, 766},
- dictWord{7, 11, 866},
- dictWord{135, 11, 1163},
- dictWord{137, 0, 341},
- dictWord{142, 0, 98},
- dictWord{145, 11, 115},
- dictWord{
- 135,
- 11,
- 1111,
- },
- dictWord{136, 10, 300},
- dictWord{136, 0, 1014},
- dictWord{8, 11, 1},
- dictWord{9, 11, 112},
- dictWord{138, 11, 326},
- dictWord{132, 11, 730},
- dictWord{5, 11, 488},
- dictWord{6, 11, 527},
- dictWord{7, 11, 489},
- dictWord{7, 11, 1636},
- dictWord{8, 11, 121},
- dictWord{8, 11, 144},
- dictWord{8, 11, 359},
- dictWord{
- 9,
- 11,
- 193,
- },
- dictWord{9, 11, 241},
- dictWord{9, 11, 336},
- dictWord{9, 11, 882},
- dictWord{11, 11, 266},
- dictWord{11, 11, 372},
- dictWord{11, 11, 944},
- dictWord{
- 12,
- 11,
- 401,
- },
- dictWord{140, 11, 641},
- dictWord{6, 0, 971},
- dictWord{134, 0, 1121},
- dictWord{6, 0, 102},
- dictWord{7, 0, 72},
- dictWord{15, 0, 142},
- dictWord{
- 147,
- 0,
- 67,
- },
- dictWord{151, 0, 30},
- dictWord{135, 0, 823},
- dictWord{134, 0, 1045},
- dictWord{5, 10, 427},
- dictWord{5, 10, 734},
- dictWord{7, 10, 478},
- dictWord{
- 136,
- 10,
- 52,
- },
- dictWord{7, 0, 1930},
- dictWord{11, 10, 217},
- dictWord{142, 10, 165},
- dictWord{6, 0, 1512},
- dictWord{135, 0, 1870},
- dictWord{9, 11, 31},
- dictWord{
- 10,
- 11,
- 244,
- },
- dictWord{10, 11, 699},
- dictWord{12, 11, 149},
- dictWord{141, 11, 497},
- dictWord{133, 11, 377},
- dictWord{145, 11, 101},
- dictWord{
- 10,
- 11,
- 158,
- },
- dictWord{13, 11, 13},
- dictWord{13, 11, 137},
- dictWord{13, 11, 258},
- dictWord{14, 11, 111},
- dictWord{14, 11, 225},
- dictWord{14, 11, 253},
- dictWord{
- 14,
- 11,
- 304,
- },
- dictWord{14, 11, 339},
- dictWord{14, 11, 417},
- dictWord{146, 11, 33},
- dictWord{6, 0, 87},
- dictWord{6, 10, 1734},
- dictWord{7, 10, 20},
- dictWord{
- 7,
- 10,
- 1056,
- },
- dictWord{8, 10, 732},
- dictWord{9, 10, 406},
- dictWord{9, 10, 911},
- dictWord{138, 10, 694},
- dictWord{134, 0, 1243},
- dictWord{137, 0, 245},
- dictWord{
- 7,
- 0,
- 68,
- },
- dictWord{8, 0, 48},
- dictWord{8, 0, 88},
- dictWord{8, 0, 582},
- dictWord{8, 0, 681},
- dictWord{9, 0, 373},
- dictWord{9, 0, 864},
- dictWord{11, 0, 157},
- dictWord{
- 11,
- 0,
- 336,
- },
- dictWord{11, 0, 843},
- dictWord{148, 0, 27},
- dictWord{8, 11, 663},
- dictWord{144, 11, 8},
- dictWord{133, 10, 613},
- dictWord{4, 0, 88},
- dictWord{
- 5,
- 0,
- 137,
- },
- dictWord{5, 0, 174},
- dictWord{5, 0, 777},
- dictWord{6, 0, 1664},
- dictWord{6, 0, 1725},
- dictWord{7, 0, 77},
- dictWord{7, 0, 426},
- dictWord{7, 0, 1317},
- dictWord{
- 7,
- 0,
- 1355,
- },
- dictWord{8, 0, 126},
- dictWord{8, 0, 563},
- dictWord{9, 0, 523},
- dictWord{9, 0, 750},
- dictWord{10, 0, 310},
- dictWord{10, 0, 836},
- dictWord{11, 0, 42},
- dictWord{11, 0, 318},
- dictWord{11, 0, 731},
- dictWord{12, 0, 68},
- dictWord{12, 0, 92},
- dictWord{12, 0, 507},
- dictWord{12, 0, 692},
- dictWord{13, 0, 81},
- dictWord{
- 13,
- 0,
- 238,
- },
- dictWord{13, 0, 374},
- dictWord{14, 0, 436},
- dictWord{18, 0, 138},
- dictWord{19, 0, 78},
- dictWord{19, 0, 111},
- dictWord{20, 0, 55},
- dictWord{20, 0, 77},
- dictWord{148, 0, 92},
- dictWord{141, 0, 418},
- dictWord{4, 0, 938},
- dictWord{137, 0, 625},
- dictWord{138, 0, 351},
- dictWord{5, 11, 843},
- dictWord{7, 10, 32},
- dictWord{
- 7,
- 10,
- 984,
- },
- dictWord{8, 10, 85},
- dictWord{8, 10, 709},
- dictWord{9, 10, 579},
- dictWord{9, 10, 847},
- dictWord{9, 10, 856},
- dictWord{10, 10, 799},
- dictWord{
- 11,
- 10,
- 258,
- },
- dictWord{11, 10, 1007},
- dictWord{12, 10, 331},
- dictWord{12, 10, 615},
- dictWord{13, 10, 188},
- dictWord{13, 10, 435},
- dictWord{14, 10, 8},
- dictWord{
- 15,
- 10,
- 165,
- },
- dictWord{16, 10, 27},
- dictWord{148, 10, 40},
- dictWord{6, 0, 1668},
- dictWord{7, 0, 1499},
- dictWord{8, 0, 117},
- dictWord{9, 0, 314},
- dictWord{
- 138,
- 0,
- 174,
- },
- dictWord{135, 0, 707},
- dictWord{132, 11, 554},
- dictWord{133, 11, 536},
- dictWord{5, 0, 403},
- dictWord{5, 11, 207},
- dictWord{9, 11, 79},
- dictWord{
- 11,
- 11,
- 625,
- },
- dictWord{145, 11, 7},
- dictWord{132, 11, 424},
- dictWord{136, 11, 785},
- dictWord{4, 10, 167},
- dictWord{135, 10, 82},
- dictWord{9, 0, 7},
- dictWord{
- 23,
- 0,
- 6,
- },
- dictWord{9, 11, 7},
- dictWord{151, 11, 6},
- dictWord{6, 0, 282},
- dictWord{5, 10, 62},
- dictWord{6, 10, 534},
- dictWord{7, 10, 74},
- dictWord{7, 10, 678},
- dictWord{
- 7,
- 10,
- 684,
- },
- dictWord{7, 10, 1043},
- dictWord{7, 10, 1072},
- dictWord{8, 10, 280},
- dictWord{8, 10, 541},
- dictWord{8, 10, 686},
- dictWord{9, 10, 258},
- dictWord{
- 10,
- 10,
- 519,
- },
- dictWord{11, 10, 252},
- dictWord{140, 10, 282},
- dictWord{138, 10, 33},
- dictWord{132, 10, 359},
- dictWord{4, 0, 44},
- dictWord{5, 0, 311},
- dictWord{
- 6,
- 0,
- 156,
- },
- dictWord{7, 0, 639},
- dictWord{7, 0, 762},
- dictWord{7, 0, 1827},
- dictWord{9, 0, 8},
- dictWord{9, 0, 462},
- dictWord{148, 0, 83},
- dictWord{7, 11, 769},
- dictWord{
- 9,
- 11,
- 18,
- },
- dictWord{138, 11, 358},
- dictWord{4, 0, 346},
- dictWord{7, 0, 115},
- dictWord{9, 0, 180},
- dictWord{9, 0, 456},
- dictWord{10, 0, 363},
- dictWord{
- 4,
- 11,
- 896,
- },
- dictWord{134, 11, 1777},
- dictWord{133, 10, 211},
- dictWord{7, 0, 761},
- dictWord{7, 0, 1051},
- dictWord{137, 0, 545},
- dictWord{6, 10, 145},
- dictWord{
- 141,
- 10,
- 336,
- },
- dictWord{7, 11, 750},
- dictWord{9, 11, 223},
- dictWord{11, 11, 27},
- dictWord{11, 11, 466},
- dictWord{12, 11, 624},
- dictWord{14, 11, 265},
- dictWord{146, 11, 61},
- dictWord{6, 0, 752},
- dictWord{6, 0, 768},
- dictWord{6, 0, 1195},
- dictWord{6, 0, 1254},
- dictWord{6, 0, 1619},
- dictWord{137, 0, 835},
- dictWord{
- 6,
- 0,
- 1936,
- },
- dictWord{8, 0, 930},
- dictWord{136, 0, 960},
- dictWord{132, 10, 263},
- dictWord{132, 11, 249},
- dictWord{12, 0, 653},
- dictWord{132, 10, 916},
- dictWord{4, 11, 603},
- dictWord{133, 11, 661},
- dictWord{8, 0, 344},
- dictWord{4, 11, 11},
- dictWord{6, 11, 128},
- dictWord{7, 11, 231},
- dictWord{7, 11, 1533},
- dictWord{138, 11, 725},
- dictWord{134, 0, 1483},
- dictWord{134, 0, 875},
- dictWord{6, 0, 185},
- dictWord{7, 0, 1899},
- dictWord{9, 0, 875},
- dictWord{139, 0, 673},
- dictWord{15, 10, 155},
- dictWord{144, 10, 79},
- dictWord{7, 0, 93},
- dictWord{7, 0, 210},
- dictWord{7, 0, 1223},
- dictWord{8, 0, 451},
- dictWord{8, 0, 460},
- dictWord{
- 11,
- 0,
- 353,
- },
- dictWord{11, 0, 475},
- dictWord{4, 10, 599},
- dictWord{6, 10, 1634},
- dictWord{7, 10, 67},
- dictWord{7, 10, 691},
- dictWord{7, 10, 979},
- dictWord{
- 7,
- 10,
- 1697,
- },
- dictWord{8, 10, 207},
- dictWord{8, 10, 214},
- dictWord{8, 10, 231},
- dictWord{8, 10, 294},
- dictWord{8, 10, 336},
- dictWord{8, 10, 428},
- dictWord{
- 8,
- 10,
- 471,
- },
- dictWord{8, 10, 622},
- dictWord{8, 10, 626},
- dictWord{8, 10, 679},
- dictWord{8, 10, 759},
- dictWord{8, 10, 829},
- dictWord{9, 10, 11},
- dictWord{9, 10, 246},
- dictWord{9, 10, 484},
- dictWord{9, 10, 573},
- dictWord{9, 10, 706},
- dictWord{9, 10, 762},
- dictWord{9, 10, 798},
- dictWord{9, 10, 855},
- dictWord{9, 10, 870},
- dictWord{
- 9,
- 10,
- 912,
- },
- dictWord{10, 10, 303},
- dictWord{10, 10, 335},
- dictWord{10, 10, 424},
- dictWord{10, 10, 461},
- dictWord{10, 10, 543},
- dictWord{10, 10, 759},
- dictWord{10, 10, 814},
- dictWord{11, 10, 59},
- dictWord{11, 10, 235},
- dictWord{11, 10, 590},
- dictWord{11, 10, 929},
- dictWord{11, 10, 963},
- dictWord{
- 11,
- 10,
- 987,
- },
- dictWord{12, 10, 114},
- dictWord{12, 10, 182},
- dictWord{12, 10, 226},
- dictWord{12, 10, 332},
- dictWord{12, 10, 439},
- dictWord{12, 10, 575},
- dictWord{
- 12,
- 10,
- 598,
- },
- dictWord{12, 10, 675},
- dictWord{13, 10, 8},
- dictWord{13, 10, 125},
- dictWord{13, 10, 194},
- dictWord{13, 10, 287},
- dictWord{14, 10, 197},
- dictWord{14, 10, 383},
- dictWord{15, 10, 53},
- dictWord{17, 10, 63},
- dictWord{19, 10, 46},
- dictWord{19, 10, 98},
- dictWord{19, 10, 106},
- dictWord{148, 10, 85},
- dictWord{132, 11, 476},
- dictWord{4, 0, 327},
- dictWord{5, 0, 478},
- dictWord{7, 0, 1332},
- dictWord{136, 0, 753},
- dictWord{5, 0, 1020},
- dictWord{133, 0, 1022},
- dictWord{135, 11, 1807},
- dictWord{4, 0, 103},
- dictWord{133, 0, 401},
- dictWord{4, 0, 499},
- dictWord{135, 0, 1421},
- dictWord{10, 0, 207},
- dictWord{13, 0, 164},
- dictWord{147, 10, 126},
- dictWord{9, 11, 20},
- dictWord{10, 11, 324},
- dictWord{139, 11, 488},
- dictWord{132, 0, 96},
- dictWord{9, 11, 280},
- dictWord{
- 138,
- 11,
- 134,
- },
- dictWord{135, 0, 968},
- dictWord{133, 10, 187},
- dictWord{135, 10, 1286},
- dictWord{5, 11, 112},
- dictWord{6, 11, 103},
- dictWord{134, 11, 150},
- dictWord{8, 0, 914},
- dictWord{10, 0, 3},
- dictWord{4, 10, 215},
- dictWord{9, 10, 38},
- dictWord{11, 10, 23},
- dictWord{11, 10, 127},
- dictWord{139, 10, 796},
- dictWord{
- 135,
- 0,
- 399,
- },
- dictWord{6, 0, 563},
- dictWord{137, 0, 224},
- dictWord{6, 0, 704},
- dictWord{134, 0, 1214},
- dictWord{4, 11, 708},
- dictWord{8, 11, 15},
- dictWord{
- 9,
- 11,
- 50,
- },
- dictWord{9, 11, 386},
- dictWord{11, 11, 18},
- dictWord{11, 11, 529},
- dictWord{140, 11, 228},
- dictWord{4, 11, 563},
- dictWord{7, 11, 109},
- dictWord{
- 7,
- 11,
- 592,
- },
- dictWord{7, 11, 637},
- dictWord{7, 11, 770},
- dictWord{7, 11, 1701},
- dictWord{8, 11, 436},
- dictWord{8, 11, 463},
- dictWord{9, 11, 60},
- dictWord{9, 11, 335},
- dictWord{9, 11, 904},
- dictWord{10, 11, 73},
- dictWord{11, 11, 434},
- dictWord{12, 11, 585},
- dictWord{13, 11, 331},
- dictWord{18, 11, 110},
- dictWord{
- 148,
- 11,
- 60,
- },
- dictWord{134, 0, 1559},
- dictWord{132, 11, 502},
- dictWord{6, 11, 347},
- dictWord{138, 11, 161},
- dictWord{4, 11, 33},
- dictWord{5, 11, 102},
- dictWord{
- 5,
- 11,
- 500,
- },
- dictWord{6, 11, 284},
- dictWord{7, 11, 1079},
- dictWord{7, 11, 1423},
- dictWord{7, 11, 1702},
- dictWord{8, 11, 470},
- dictWord{9, 11, 554},
- dictWord{
- 9,
- 11,
- 723,
- },
- dictWord{139, 11, 333},
- dictWord{7, 11, 246},
- dictWord{135, 11, 840},
- dictWord{6, 11, 10},
- dictWord{8, 11, 571},
- dictWord{9, 11, 739},
- dictWord{
- 143,
- 11,
- 91,
- },
- dictWord{8, 0, 861},
- dictWord{10, 0, 905},
- dictWord{12, 0, 730},
- dictWord{12, 0, 789},
- dictWord{133, 11, 626},
- dictWord{134, 0, 946},
- dictWord{
- 5,
- 0,
- 746,
- },
- dictWord{12, 0, 333},
- dictWord{14, 0, 332},
- dictWord{12, 11, 333},
- dictWord{142, 11, 332},
- dictWord{5, 11, 18},
- dictWord{6, 11, 526},
- dictWord{
- 13,
- 11,
- 24,
- },
- dictWord{13, 11, 110},
- dictWord{19, 11, 5},
- dictWord{147, 11, 44},
- dictWord{4, 0, 910},
- dictWord{5, 0, 832},
- dictWord{135, 10, 2002},
- dictWord{
- 10,
- 11,
- 768,
- },
- dictWord{139, 11, 787},
- dictWord{4, 11, 309},
- dictWord{5, 11, 462},
- dictWord{7, 11, 970},
- dictWord{135, 11, 1097},
- dictWord{4, 10, 28},
- dictWord{
- 5,
- 10,
- 440,
- },
- dictWord{7, 10, 248},
- dictWord{11, 10, 833},
- dictWord{140, 10, 344},
- dictWord{134, 10, 1654},
- dictWord{6, 0, 632},
- dictWord{6, 0, 652},
- dictWord{
- 6,
- 0,
- 1272,
- },
- dictWord{6, 0, 1384},
- dictWord{134, 0, 1560},
- dictWord{134, 11, 1704},
- dictWord{6, 0, 1393},
- dictWord{133, 10, 853},
- dictWord{6, 10, 249},
- dictWord{7, 10, 1234},
- dictWord{139, 10, 573},
- dictWord{5, 11, 86},
- dictWord{7, 11, 743},
- dictWord{9, 11, 85},
- dictWord{10, 11, 281},
- dictWord{10, 11, 432},
- dictWord{11, 11, 490},
- dictWord{12, 11, 251},
- dictWord{13, 11, 118},
- dictWord{14, 11, 378},
- dictWord{146, 11, 143},
- dictWord{5, 11, 524},
- dictWord{
- 133,
- 11,
- 744,
- },
- dictWord{134, 0, 1514},
- dictWord{10, 0, 201},
- dictWord{142, 0, 319},
- dictWord{7, 0, 717},
- dictWord{10, 0, 510},
- dictWord{7, 10, 392},
- dictWord{
- 8,
- 10,
- 20,
- },
- dictWord{8, 10, 172},
- dictWord{8, 10, 690},
- dictWord{9, 10, 383},
- dictWord{9, 10, 845},
- dictWord{11, 10, 293},
- dictWord{11, 10, 832},
- dictWord{
- 11,
- 10,
- 920,
- },
- dictWord{11, 10, 984},
- dictWord{141, 10, 221},
- dictWord{134, 0, 1381},
- dictWord{5, 10, 858},
- dictWord{133, 10, 992},
- dictWord{8, 0, 528},
- dictWord{137, 0, 348},
- dictWord{10, 11, 107},
- dictWord{140, 11, 436},
- dictWord{4, 0, 20},
- dictWord{133, 0, 616},
- dictWord{134, 0, 1251},
- dictWord{
- 132,
- 11,
- 927,
- },
- dictWord{10, 11, 123},
- dictWord{12, 11, 670},
- dictWord{13, 11, 371},
- dictWord{14, 11, 142},
- dictWord{146, 11, 94},
- dictWord{134, 0, 1163},
- dictWord{
- 7,
- 11,
- 1149,
- },
- dictWord{137, 11, 156},
- dictWord{134, 0, 307},
- dictWord{133, 11, 778},
- dictWord{7, 0, 1091},
- dictWord{135, 0, 1765},
- dictWord{
- 5,
- 11,
- 502,
- },
- dictWord{6, 10, 268},
- dictWord{137, 10, 62},
- dictWord{8, 11, 196},
- dictWord{10, 11, 283},
- dictWord{139, 11, 406},
- dictWord{4, 0, 26},
- dictWord{
- 5,
- 0,
- 429,
- },
- dictWord{6, 0, 245},
- dictWord{7, 0, 704},
- dictWord{7, 0, 1379},
- dictWord{135, 0, 1474},
- dictWord{133, 11, 855},
- dictWord{132, 0, 881},
- dictWord{
- 4,
- 0,
- 621,
- },
- dictWord{135, 11, 1596},
- dictWord{7, 11, 1400},
- dictWord{9, 11, 446},
- dictWord{138, 11, 45},
- dictWord{6, 0, 736},
- dictWord{138, 10, 106},
- dictWord{133, 0, 542},
- dictWord{134, 0, 348},
- dictWord{133, 0, 868},
- dictWord{136, 0, 433},
- dictWord{135, 0, 1495},
- dictWord{138, 0, 771},
- dictWord{
- 6,
- 10,
- 613,
- },
- dictWord{136, 10, 223},
- dictWord{138, 0, 215},
- dictWord{141, 0, 124},
- dictWord{136, 11, 391},
- dictWord{135, 11, 172},
- dictWord{132, 10, 670},
- dictWord{140, 0, 55},
- dictWord{9, 10, 40},
- dictWord{139, 10, 136},
- dictWord{7, 0, 62},
- dictWord{147, 0, 112},
- dictWord{132, 0, 856},
- dictWord{132, 11, 568},
- dictWord{12, 0, 270},
- dictWord{139, 10, 259},
- dictWord{8, 0, 572},
- dictWord{137, 0, 698},
- dictWord{4, 11, 732},
- dictWord{9, 10, 310},
- dictWord{137, 10, 682},
- dictWord{142, 10, 296},
- dictWord{134, 0, 939},
- dictWord{136, 11, 733},
- dictWord{135, 11, 1435},
- dictWord{7, 10, 1401},
- dictWord{135, 10, 1476},
- dictWord{6, 0, 352},
- dictWord{4, 10, 296},
- dictWord{7, 10, 401},
- dictWord{7, 10, 1410},
- dictWord{7, 10, 1594},
- dictWord{7, 10, 1674},
- dictWord{8, 10, 63},
- dictWord{
- 8,
- 10,
- 660,
- },
- dictWord{137, 10, 74},
- dictWord{4, 11, 428},
- dictWord{133, 11, 668},
- dictWord{4, 10, 139},
- dictWord{4, 10, 388},
- dictWord{140, 10, 188},
- dictWord{7, 11, 2015},
- dictWord{140, 11, 665},
- dictWord{132, 0, 647},
- dictWord{146, 0, 10},
- dictWord{138, 0, 220},
- dictWord{142, 0, 464},
- dictWord{
- 132,
- 0,
- 109,
- },
- dictWord{134, 0, 1746},
- dictWord{6, 0, 515},
- dictWord{4, 10, 747},
- dictWord{6, 11, 1623},
- dictWord{6, 11, 1681},
- dictWord{7, 10, 649},
- dictWord{
- 7,
- 10,
- 1479,
- },
- dictWord{135, 10, 1583},
- dictWord{133, 10, 232},
- dictWord{135, 0, 566},
- dictWord{137, 10, 887},
- dictWord{4, 0, 40},
- dictWord{10, 0, 67},
- dictWord{
- 11,
- 0,
- 117,
- },
- dictWord{11, 0, 768},
- dictWord{139, 0, 935},
- dictWord{132, 0, 801},
- dictWord{7, 0, 992},
- dictWord{8, 0, 301},
- dictWord{9, 0, 722},
- dictWord{
- 12,
- 0,
- 63,
- },
- dictWord{13, 0, 29},
- dictWord{14, 0, 161},
- dictWord{143, 0, 18},
- dictWord{139, 0, 923},
- dictWord{6, 11, 1748},
- dictWord{8, 11, 715},
- dictWord{9, 11, 802},
- dictWord{10, 11, 46},
- dictWord{10, 11, 819},
- dictWord{13, 11, 308},
- dictWord{14, 11, 351},
- dictWord{14, 11, 363},
- dictWord{146, 11, 67},
- dictWord{
- 137,
- 11,
- 745,
- },
- dictWord{7, 0, 1145},
- dictWord{4, 10, 14},
- dictWord{7, 10, 1801},
- dictWord{10, 10, 748},
- dictWord{141, 10, 458},
- dictWord{4, 11, 63},
- dictWord{
- 5,
- 11,
- 347,
- },
- dictWord{134, 11, 474},
- dictWord{135, 0, 568},
- dictWord{4, 10, 425},
- dictWord{7, 11, 577},
- dictWord{7, 11, 1432},
- dictWord{9, 11, 475},
- dictWord{
- 9,
- 11,
- 505,
- },
- dictWord{9, 11, 526},
- dictWord{9, 11, 609},
- dictWord{9, 11, 689},
- dictWord{9, 11, 726},
- dictWord{9, 11, 735},
- dictWord{9, 11, 738},
- dictWord{
- 10,
- 11,
- 556,
- },
- dictWord{10, 11, 674},
- dictWord{10, 11, 684},
- dictWord{11, 11, 89},
- dictWord{11, 11, 202},
- dictWord{11, 11, 272},
- dictWord{11, 11, 380},
- dictWord{
- 11,
- 11,
- 415,
- },
- dictWord{11, 11, 505},
- dictWord{11, 11, 537},
- dictWord{11, 11, 550},
- dictWord{11, 11, 562},
- dictWord{11, 11, 640},
- dictWord{11, 11, 667},
- dictWord{11, 11, 688},
- dictWord{11, 11, 847},
- dictWord{11, 11, 927},
- dictWord{11, 11, 930},
- dictWord{11, 11, 940},
- dictWord{12, 11, 144},
- dictWord{
- 12,
- 11,
- 325,
- },
- dictWord{12, 11, 329},
- dictWord{12, 11, 389},
- dictWord{12, 11, 403},
- dictWord{12, 11, 451},
- dictWord{12, 11, 515},
- dictWord{12, 11, 604},
- dictWord{
- 12,
- 11,
- 616,
- },
- dictWord{12, 11, 626},
- dictWord{13, 11, 66},
- dictWord{13, 11, 131},
- dictWord{13, 11, 167},
- dictWord{13, 11, 236},
- dictWord{13, 11, 368},
- dictWord{13, 11, 411},
- dictWord{13, 11, 434},
- dictWord{13, 11, 453},
- dictWord{13, 11, 461},
- dictWord{13, 11, 474},
- dictWord{14, 11, 59},
- dictWord{14, 11, 60},
- dictWord{14, 11, 139},
- dictWord{14, 11, 152},
- dictWord{14, 11, 276},
- dictWord{14, 11, 353},
- dictWord{14, 11, 402},
- dictWord{15, 11, 28},
- dictWord{
- 15,
- 11,
- 81,
- },
- dictWord{15, 11, 123},
- dictWord{15, 11, 152},
- dictWord{18, 11, 136},
- dictWord{148, 11, 88},
- dictWord{137, 0, 247},
- dictWord{135, 11, 1622},
- dictWord{
- 9,
- 11,
- 544,
- },
- dictWord{11, 11, 413},
- dictWord{144, 11, 25},
- dictWord{4, 0, 645},
- dictWord{7, 0, 825},
- dictWord{6, 10, 1768},
- dictWord{135, 11, 89},
- dictWord{140, 0, 328},
- dictWord{5, 10, 943},
- dictWord{134, 10, 1779},
- dictWord{134, 0, 1363},
- dictWord{5, 10, 245},
- dictWord{6, 10, 576},
- dictWord{7, 10, 582},
- dictWord{136, 10, 225},
- dictWord{134, 0, 1280},
- dictWord{5, 11, 824},
- dictWord{133, 11, 941},
- dictWord{7, 11, 440},
- dictWord{8, 11, 230},
- dictWord{
- 139,
- 11,
- 106,
- },
- dictWord{5, 0, 28},
- dictWord{6, 0, 204},
- dictWord{10, 0, 320},
- dictWord{10, 0, 583},
- dictWord{13, 0, 502},
- dictWord{14, 0, 72},
- dictWord{14, 0, 274},
- dictWord{14, 0, 312},
- dictWord{14, 0, 344},
- dictWord{15, 0, 159},
- dictWord{16, 0, 62},
- dictWord{16, 0, 69},
- dictWord{17, 0, 30},
- dictWord{18, 0, 42},
- dictWord{
- 18,
- 0,
- 53,
- },
- dictWord{18, 0, 84},
- dictWord{18, 0, 140},
- dictWord{19, 0, 68},
- dictWord{19, 0, 85},
- dictWord{20, 0, 5},
- dictWord{20, 0, 45},
- dictWord{20, 0, 101},
- dictWord{
- 22,
- 0,
- 7,
- },
- dictWord{150, 0, 20},
- dictWord{4, 0, 558},
- dictWord{6, 0, 390},
- dictWord{7, 0, 162},
- dictWord{7, 0, 689},
- dictWord{9, 0, 360},
- dictWord{138, 0, 653},
- dictWord{134, 0, 764},
- dictWord{6, 0, 862},
- dictWord{137, 0, 833},
- dictWord{5, 0, 856},
- dictWord{6, 0, 1672},
- dictWord{6, 0, 1757},
- dictWord{134, 0, 1781},
- dictWord{
- 5,
- 0,
- 92,
- },
- dictWord{10, 0, 736},
- dictWord{140, 0, 102},
- dictWord{6, 0, 1927},
- dictWord{6, 0, 1944},
- dictWord{8, 0, 924},
- dictWord{8, 0, 948},
- dictWord{
- 10,
- 0,
- 967,
- },
- dictWord{138, 0, 978},
- dictWord{134, 0, 1479},
- dictWord{5, 0, 590},
- dictWord{8, 0, 360},
- dictWord{9, 0, 213},
- dictWord{138, 0, 63},
- dictWord{
- 134,
- 0,
- 1521,
- },
- dictWord{6, 0, 709},
- dictWord{134, 0, 891},
- dictWord{132, 10, 443},
- dictWord{13, 0, 477},
- dictWord{14, 0, 120},
- dictWord{148, 0, 61},
- dictWord{
- 4,
- 11,
- 914,
- },
- dictWord{5, 11, 800},
- dictWord{133, 11, 852},
- dictWord{10, 11, 54},
- dictWord{141, 11, 115},
- dictWord{4, 11, 918},
- dictWord{133, 11, 876},
- dictWord{139, 11, 152},
- dictWord{4, 11, 92},
- dictWord{133, 11, 274},
- dictWord{135, 11, 1901},
- dictWord{9, 11, 800},
- dictWord{10, 11, 693},
- dictWord{
- 11,
- 11,
- 482,
- },
- dictWord{11, 11, 734},
- dictWord{139, 11, 789},
- dictWord{9, 0, 483},
- dictWord{132, 10, 298},
- dictWord{6, 0, 1213},
- dictWord{141, 11, 498},
- dictWord{135, 11, 1451},
- dictWord{133, 11, 743},
- dictWord{4, 0, 1022},
- dictWord{10, 0, 1000},
- dictWord{12, 0, 957},
- dictWord{12, 0, 980},
- dictWord{
- 12,
- 0,
- 1013,
- },
- dictWord{14, 0, 481},
- dictWord{144, 0, 116},
- dictWord{8, 0, 503},
- dictWord{17, 0, 29},
- dictWord{4, 11, 49},
- dictWord{7, 11, 280},
- dictWord{
- 135,
- 11,
- 1633,
- },
- dictWord{135, 0, 1712},
- dictWord{134, 0, 466},
- dictWord{136, 11, 47},
- dictWord{5, 10, 164},
- dictWord{7, 10, 121},
- dictWord{142, 10, 189},
- dictWord{
- 7,
- 10,
- 812,
- },
- dictWord{7, 10, 1261},
- dictWord{7, 10, 1360},
- dictWord{9, 10, 632},
- dictWord{140, 10, 352},
- dictWord{139, 10, 556},
- dictWord{132, 0, 731},
- dictWord{5, 11, 272},
- dictWord{5, 11, 908},
- dictWord{5, 11, 942},
- dictWord{7, 11, 1008},
- dictWord{7, 11, 1560},
- dictWord{8, 11, 197},
- dictWord{9, 11, 47},
- dictWord{11, 11, 538},
- dictWord{139, 11, 742},
- dictWord{4, 10, 172},
- dictWord{9, 10, 611},
- dictWord{10, 10, 436},
- dictWord{12, 10, 673},
- dictWord{
- 141,
- 10,
- 255,
- },
- dictWord{133, 10, 844},
- dictWord{10, 0, 484},
- dictWord{11, 0, 754},
- dictWord{12, 0, 457},
- dictWord{14, 0, 171},
- dictWord{14, 0, 389},
- dictWord{
- 146,
- 0,
- 153,
- },
- dictWord{9, 10, 263},
- dictWord{10, 10, 147},
- dictWord{138, 10, 492},
- dictWord{137, 11, 891},
- dictWord{138, 0, 241},
- dictWord{133, 10, 537},
- dictWord{6, 0, 2005},
- dictWord{136, 0, 964},
- dictWord{137, 10, 842},
- dictWord{151, 11, 8},
- dictWord{4, 11, 407},
- dictWord{132, 11, 560},
- dictWord{
- 135,
- 11,
- 1884,
- },
- dictWord{6, 0, 1100},
- dictWord{134, 0, 1242},
- dictWord{135, 0, 954},
- dictWord{5, 10, 230},
- dictWord{5, 10, 392},
- dictWord{6, 10, 420},
- dictWord{
- 9,
- 10,
- 568,
- },
- dictWord{140, 10, 612},
- dictWord{4, 11, 475},
- dictWord{11, 11, 35},
- dictWord{11, 11, 90},
- dictWord{13, 11, 7},
- dictWord{13, 11, 71},
- dictWord{
- 13,
- 11,
- 177,
- },
- dictWord{142, 11, 422},
- dictWord{136, 11, 332},
- dictWord{135, 0, 1958},
- dictWord{6, 0, 549},
- dictWord{8, 0, 34},
- dictWord{8, 0, 283},
- dictWord{
- 9,
- 0,
- 165,
- },
- dictWord{138, 0, 475},
- dictWord{10, 0, 952},
- dictWord{12, 0, 966},
- dictWord{140, 0, 994},
- dictWord{5, 0, 652},
- dictWord{5, 0, 701},
- dictWord{
- 135,
- 0,
- 449,
- },
- dictWord{4, 0, 655},
- dictWord{7, 0, 850},
- dictWord{17, 0, 75},
- dictWord{146, 0, 137},
- dictWord{4, 0, 146},
- dictWord{7, 0, 1618},
- dictWord{8, 0, 670},
- dictWord{
- 5,
- 10,
- 41,
- },
- dictWord{7, 10, 1459},
- dictWord{7, 10, 1469},
- dictWord{7, 10, 1859},
- dictWord{9, 10, 549},
- dictWord{139, 10, 905},
- dictWord{133, 10, 696},
- dictWord{6, 0, 159},
- dictWord{6, 0, 364},
- dictWord{7, 0, 516},
- dictWord{137, 0, 518},
- dictWord{135, 0, 1439},
- dictWord{6, 11, 222},
- dictWord{7, 11, 636},
- dictWord{
- 7,
- 11,
- 1620,
- },
- dictWord{8, 11, 409},
- dictWord{9, 11, 693},
- dictWord{139, 11, 77},
- dictWord{13, 0, 151},
- dictWord{141, 11, 45},
- dictWord{6, 0, 1027},
- dictWord{
- 4,
- 11,
- 336,
- },
- dictWord{132, 10, 771},
- dictWord{139, 11, 392},
- dictWord{10, 11, 121},
- dictWord{11, 11, 175},
- dictWord{149, 11, 16},
- dictWord{8, 0, 950},
- dictWord{138, 0, 983},
- dictWord{133, 10, 921},
- dictWord{135, 0, 993},
- dictWord{6, 10, 180},
- dictWord{7, 10, 1137},
- dictWord{8, 10, 751},
- dictWord{
- 139,
- 10,
- 805,
- },
- dictWord{7, 0, 501},
- dictWord{9, 0, 111},
- dictWord{10, 0, 141},
- dictWord{11, 0, 332},
- dictWord{13, 0, 43},
- dictWord{13, 0, 429},
- dictWord{14, 0, 130},
- dictWord{14, 0, 415},
- dictWord{145, 0, 102},
- dictWord{4, 10, 183},
- dictWord{5, 11, 882},
- dictWord{7, 10, 271},
- dictWord{11, 10, 824},
- dictWord{11, 10, 952},
- dictWord{13, 10, 278},
- dictWord{13, 10, 339},
- dictWord{13, 10, 482},
- dictWord{14, 10, 424},
- dictWord{148, 10, 99},
- dictWord{4, 10, 19},
- dictWord{5, 10, 477},
- dictWord{5, 10, 596},
- dictWord{6, 10, 505},
- dictWord{7, 10, 1221},
- dictWord{11, 10, 907},
- dictWord{12, 10, 209},
- dictWord{141, 10, 214},
- dictWord{
- 135,
- 10,
- 1215,
- },
- dictWord{133, 0, 452},
- dictWord{132, 11, 426},
- dictWord{5, 0, 149},
- dictWord{136, 0, 233},
- dictWord{133, 0, 935},
- dictWord{6, 11, 58},
- dictWord{
- 7,
- 11,
- 654,
- },
- dictWord{7, 11, 745},
- dictWord{7, 11, 1969},
- dictWord{8, 11, 240},
- dictWord{8, 11, 675},
- dictWord{9, 11, 479},
- dictWord{9, 11, 731},
- dictWord{
- 10,
- 11,
- 330,
- },
- dictWord{10, 11, 593},
- dictWord{10, 11, 817},
- dictWord{11, 11, 32},
- dictWord{11, 11, 133},
- dictWord{11, 11, 221},
- dictWord{145, 11, 68},
- dictWord{
- 12,
- 0,
- 582,
- },
- dictWord{18, 0, 131},
- dictWord{7, 11, 102},
- dictWord{137, 11, 538},
- dictWord{136, 0, 801},
- dictWord{134, 10, 1645},
- dictWord{132, 0, 70},
- dictWord{6, 10, 92},
- dictWord{6, 10, 188},
- dictWord{7, 10, 1269},
- dictWord{7, 10, 1524},
- dictWord{7, 10, 1876},
- dictWord{10, 10, 228},
- dictWord{139, 10, 1020},
- dictWord{4, 10, 459},
- dictWord{133, 10, 966},
- dictWord{138, 0, 369},
- dictWord{16, 0, 36},
- dictWord{140, 10, 330},
- dictWord{141, 11, 366},
- dictWord{
- 7,
- 0,
- 721,
- },
- dictWord{10, 0, 236},
- dictWord{12, 0, 204},
- dictWord{6, 10, 18},
- dictWord{7, 10, 932},
- dictWord{8, 10, 757},
- dictWord{9, 10, 54},
- dictWord{9, 10, 65},
- dictWord{9, 10, 844},
- dictWord{10, 10, 113},
- dictWord{10, 10, 315},
- dictWord{10, 10, 798},
- dictWord{11, 10, 153},
- dictWord{12, 10, 151},
- dictWord{12, 10, 392},
- dictWord{12, 10, 666},
- dictWord{142, 10, 248},
- dictWord{7, 0, 241},
- dictWord{10, 0, 430},
- dictWord{8, 10, 548},
- dictWord{9, 10, 532},
- dictWord{10, 10, 117},
- dictWord{11, 10, 351},
- dictWord{11, 10, 375},
- dictWord{143, 10, 23},
- dictWord{134, 10, 1742},
- dictWord{133, 10, 965},
- dictWord{133, 11, 566},
- dictWord{
- 6,
- 11,
- 48,
- },
- dictWord{135, 11, 63},
- dictWord{134, 10, 182},
- dictWord{10, 10, 65},
- dictWord{10, 10, 488},
- dictWord{138, 10, 497},
- dictWord{6, 11, 114},
- dictWord{7, 11, 1224},
- dictWord{7, 11, 1556},
- dictWord{136, 11, 3},
- dictWord{134, 0, 1817},
- dictWord{8, 11, 576},
- dictWord{137, 11, 267},
- dictWord{
- 6,
- 0,
- 1078,
- },
- dictWord{144, 0, 16},
- dictWord{9, 10, 588},
- dictWord{138, 10, 260},
- dictWord{138, 0, 1021},
- dictWord{5, 0, 406},
- dictWord{134, 0, 2022},
- dictWord{133, 11, 933},
- dictWord{6, 0, 69},
- dictWord{135, 0, 117},
- dictWord{7, 0, 1830},
- dictWord{136, 11, 427},
- dictWord{4, 0, 432},
- dictWord{135, 0, 824},
- dictWord{134, 10, 1786},
- dictWord{133, 0, 826},
- dictWord{139, 11, 67},
- dictWord{133, 11, 759},
- dictWord{135, 10, 308},
- dictWord{137, 0, 816},
- dictWord{
- 133,
- 0,
- 1000,
- },
- dictWord{4, 0, 297},
- dictWord{6, 0, 529},
- dictWord{7, 0, 152},
- dictWord{7, 0, 713},
- dictWord{7, 0, 1845},
- dictWord{8, 0, 710},
- dictWord{8, 0, 717},
- dictWord{12, 0, 639},
- dictWord{140, 0, 685},
- dictWord{7, 0, 423},
- dictWord{136, 10, 588},
- dictWord{136, 10, 287},
- dictWord{136, 0, 510},
- dictWord{
- 134,
- 0,
- 1048,
- },
- dictWord{6, 0, 618},
- dictWord{7, 11, 56},
- dictWord{7, 11, 1989},
- dictWord{8, 11, 337},
- dictWord{8, 11, 738},
- dictWord{9, 11, 600},
- dictWord{
- 10,
- 11,
- 483,
- },
- dictWord{12, 11, 37},
- dictWord{13, 11, 447},
- dictWord{142, 11, 92},
- dictWord{4, 0, 520},
- dictWord{135, 0, 575},
- dictWord{8, 0, 990},
- dictWord{
- 138,
- 0,
- 977,
- },
- dictWord{135, 11, 774},
- dictWord{9, 11, 347},
- dictWord{11, 11, 24},
- dictWord{140, 11, 170},
- dictWord{136, 11, 379},
- dictWord{140, 10, 290},
- dictWord{132, 11, 328},
- dictWord{4, 0, 321},
- dictWord{134, 0, 569},
- dictWord{4, 11, 101},
- dictWord{135, 11, 1171},
- dictWord{7, 0, 723},
- dictWord{7, 0, 1135},
- dictWord{5, 11, 833},
- dictWord{136, 11, 744},
- dictWord{7, 10, 719},
- dictWord{8, 10, 809},
- dictWord{136, 10, 834},
- dictWord{8, 0, 921},
- dictWord{136, 10, 796},
- dictWord{5, 10, 210},
- dictWord{6, 10, 213},
- dictWord{7, 10, 60},
- dictWord{10, 10, 364},
- dictWord{139, 10, 135},
- dictWord{5, 0, 397},
- dictWord{6, 0, 154},
- dictWord{7, 0, 676},
- dictWord{8, 0, 443},
- dictWord{8, 0, 609},
- dictWord{9, 0, 24},
- dictWord{9, 0, 325},
- dictWord{10, 0, 35},
- dictWord{11, 0, 535},
- dictWord{11, 0, 672},
- dictWord{11, 0, 1018},
- dictWord{12, 0, 637},
- dictWord{16, 0, 30},
- dictWord{5, 10, 607},
- dictWord{8, 10, 326},
- dictWord{136, 10, 490},
- dictWord{4, 10, 701},
- dictWord{5, 10, 472},
- dictWord{6, 11, 9},
- dictWord{6, 11, 397},
- dictWord{7, 11, 53},
- dictWord{7, 11, 1742},
- dictWord{9, 10, 758},
- dictWord{10, 11, 632},
- dictWord{
- 11,
- 11,
- 828,
- },
- dictWord{140, 11, 146},
- dictWord{135, 10, 380},
- dictWord{135, 10, 1947},
- dictWord{148, 11, 109},
- dictWord{10, 10, 278},
- dictWord{
- 138,
- 11,
- 278,
- },
- dictWord{134, 0, 856},
- dictWord{7, 0, 139},
- dictWord{4, 10, 386},
- dictWord{8, 10, 405},
- dictWord{8, 10, 728},
- dictWord{9, 10, 497},
- dictWord{
- 11,
- 10,
- 110,
- },
- dictWord{11, 10, 360},
- dictWord{15, 10, 37},
- dictWord{144, 10, 84},
- dictWord{141, 0, 282},
- dictWord{133, 0, 981},
- dictWord{5, 0, 288},
- dictWord{
- 7,
- 10,
- 1452,
- },
- dictWord{7, 10, 1480},
- dictWord{8, 10, 634},
- dictWord{140, 10, 472},
- dictWord{7, 0, 1890},
- dictWord{8, 11, 367},
- dictWord{10, 11, 760},
- dictWord{
- 14,
- 11,
- 79,
- },
- dictWord{20, 11, 17},
- dictWord{152, 11, 0},
- dictWord{4, 10, 524},
- dictWord{136, 10, 810},
- dictWord{4, 0, 56},
- dictWord{7, 0, 1791},
- dictWord{
- 8,
- 0,
- 607,
- },
- dictWord{8, 0, 651},
- dictWord{11, 0, 465},
- dictWord{11, 0, 835},
- dictWord{12, 0, 337},
- dictWord{141, 0, 480},
- dictWord{10, 10, 238},
- dictWord{
- 141,
- 10,
- 33,
- },
- dictWord{11, 11, 417},
- dictWord{12, 11, 223},
- dictWord{140, 11, 265},
- dictWord{9, 0, 158},
- dictWord{10, 0, 411},
- dictWord{140, 0, 261},
- dictWord{
- 133,
- 10,
- 532,
- },
- dictWord{133, 10, 997},
- dictWord{12, 11, 186},
- dictWord{12, 11, 292},
- dictWord{14, 11, 100},
- dictWord{146, 11, 70},
- dictWord{6, 0, 1403},
- dictWord{136, 0, 617},
- dictWord{134, 0, 1205},
- dictWord{139, 0, 563},
- dictWord{4, 0, 242},
- dictWord{134, 0, 333},
- dictWord{4, 11, 186},
- dictWord{5, 11, 157},
- dictWord{8, 11, 168},
- dictWord{138, 11, 6},
- dictWord{132, 0, 369},
- dictWord{133, 11, 875},
- dictWord{5, 10, 782},
- dictWord{5, 10, 829},
- dictWord{
- 134,
- 10,
- 1738,
- },
- dictWord{134, 0, 622},
- dictWord{135, 11, 1272},
- dictWord{6, 0, 1407},
- dictWord{7, 11, 111},
- dictWord{136, 11, 581},
- dictWord{7, 10, 1823},
- dictWord{139, 10, 693},
- dictWord{7, 0, 160},
- dictWord{10, 0, 624},
- dictWord{142, 0, 279},
- dictWord{132, 0, 363},
- dictWord{10, 11, 589},
- dictWord{12, 11, 111},
- dictWord{13, 11, 260},
- dictWord{14, 11, 82},
- dictWord{18, 11, 63},
- dictWord{147, 11, 45},
- dictWord{7, 11, 1364},
- dictWord{7, 11, 1907},
- dictWord{
- 141,
- 11,
- 158,
- },
- dictWord{4, 11, 404},
- dictWord{4, 11, 659},
- dictWord{135, 11, 675},
- dictWord{13, 11, 211},
- dictWord{14, 11, 133},
- dictWord{14, 11, 204},
- dictWord{
- 15,
- 11,
- 64,
- },
- dictWord{15, 11, 69},
- dictWord{15, 11, 114},
- dictWord{16, 11, 10},
- dictWord{19, 11, 23},
- dictWord{19, 11, 35},
- dictWord{19, 11, 39},
- dictWord{
- 19,
- 11,
- 51,
- },
- dictWord{19, 11, 71},
- dictWord{19, 11, 75},
- dictWord{152, 11, 15},
- dictWord{4, 10, 78},
- dictWord{5, 10, 96},
- dictWord{5, 10, 182},
- dictWord{7, 10, 1724},
- dictWord{7, 10, 1825},
- dictWord{10, 10, 394},
- dictWord{10, 10, 471},
- dictWord{11, 10, 532},
- dictWord{14, 10, 340},
- dictWord{145, 10, 88},
- dictWord{
- 135,
- 10,
- 1964,
- },
- dictWord{133, 11, 391},
- dictWord{11, 11, 887},
- dictWord{14, 11, 365},
- dictWord{142, 11, 375},
- dictWord{5, 11, 540},
- dictWord{6, 11, 1697},
- dictWord{7, 11, 222},
- dictWord{136, 11, 341},
- dictWord{134, 11, 78},
- dictWord{9, 0, 601},
- dictWord{9, 0, 619},
- dictWord{10, 0, 505},
- dictWord{10, 0, 732},
- dictWord{11, 0, 355},
- dictWord{140, 0, 139},
- dictWord{134, 0, 292},
- dictWord{139, 0, 174},
- dictWord{5, 0, 177},
- dictWord{6, 0, 616},
- dictWord{7, 0, 827},
- dictWord{
- 9,
- 0,
- 525,
- },
- dictWord{138, 0, 656},
- dictWord{10, 0, 31},
- dictWord{6, 10, 215},
- dictWord{7, 10, 1028},
- dictWord{7, 10, 1473},
- dictWord{7, 10, 1721},
- dictWord{
- 9,
- 10,
- 424,
- },
- dictWord{138, 10, 779},
- dictWord{135, 10, 584},
- dictWord{136, 11, 293},
- dictWord{134, 0, 685},
- dictWord{135, 11, 1868},
- dictWord{
- 133,
- 11,
- 460,
- },
- dictWord{7, 0, 647},
- dictWord{6, 10, 67},
- dictWord{7, 10, 1630},
- dictWord{9, 10, 354},
- dictWord{9, 10, 675},
- dictWord{10, 10, 830},
- dictWord{
- 14,
- 10,
- 80,
- },
- dictWord{145, 10, 80},
- dictWord{4, 0, 161},
- dictWord{133, 0, 631},
- dictWord{6, 10, 141},
- dictWord{7, 10, 225},
- dictWord{9, 10, 59},
- dictWord{9, 10, 607},
- dictWord{10, 10, 312},
- dictWord{11, 10, 687},
- dictWord{12, 10, 555},
- dictWord{13, 10, 373},
- dictWord{13, 10, 494},
- dictWord{148, 10, 58},
- dictWord{
- 7,
- 11,
- 965,
- },
- dictWord{7, 11, 1460},
- dictWord{135, 11, 1604},
- dictWord{136, 10, 783},
- dictWord{134, 11, 388},
- dictWord{6, 0, 722},
- dictWord{6, 0, 1267},
- dictWord{
- 4,
- 11,
- 511,
- },
- dictWord{9, 11, 333},
- dictWord{9, 11, 379},
- dictWord{10, 11, 602},
- dictWord{11, 11, 441},
- dictWord{11, 11, 723},
- dictWord{11, 11, 976},
- dictWord{140, 11, 357},
- dictWord{134, 0, 1797},
- dictWord{135, 0, 1684},
- dictWord{9, 0, 469},
- dictWord{9, 0, 709},
- dictWord{12, 0, 512},
- dictWord{14, 0, 65},
- dictWord{17, 0, 12},
- dictWord{5, 11, 938},
- dictWord{136, 11, 707},
- dictWord{7, 0, 1230},
- dictWord{136, 0, 531},
- dictWord{10, 0, 229},
- dictWord{11, 0, 73},
- dictWord{
- 11,
- 0,
- 376,
- },
- dictWord{139, 0, 433},
- dictWord{12, 0, 268},
- dictWord{12, 0, 640},
- dictWord{142, 0, 119},
- dictWord{7, 10, 430},
- dictWord{139, 10, 46},
- dictWord{
- 6,
- 0,
- 558,
- },
- dictWord{7, 0, 651},
- dictWord{8, 0, 421},
- dictWord{9, 0, 0},
- dictWord{10, 0, 34},
- dictWord{139, 0, 1008},
- dictWord{6, 0, 106},
- dictWord{7, 0, 1786},
- dictWord{7, 0, 1821},
- dictWord{9, 0, 102},
- dictWord{9, 0, 763},
- dictWord{5, 10, 602},
- dictWord{7, 10, 2018},
- dictWord{137, 10, 418},
- dictWord{5, 0, 65},
- dictWord{
- 6,
- 0,
- 416,
- },
- dictWord{7, 0, 1720},
- dictWord{7, 0, 1924},
- dictWord{10, 0, 109},
- dictWord{11, 0, 14},
- dictWord{11, 0, 70},
- dictWord{11, 0, 569},
- dictWord{11, 0, 735},
- dictWord{15, 0, 153},
- dictWord{20, 0, 80},
- dictWord{136, 10, 677},
- dictWord{135, 11, 1625},
- dictWord{137, 11, 772},
- dictWord{136, 0, 595},
- dictWord{
- 6,
- 11,
- 469,
- },
- dictWord{7, 11, 1709},
- dictWord{138, 11, 515},
- dictWord{7, 0, 1832},
- dictWord{138, 0, 374},
- dictWord{9, 0, 106},
- dictWord{9, 0, 163},
- dictWord{
- 9,
- 0,
- 296,
- },
- dictWord{10, 0, 167},
- dictWord{10, 0, 172},
- dictWord{10, 0, 777},
- dictWord{139, 0, 16},
- dictWord{6, 0, 6},
- dictWord{7, 0, 81},
- dictWord{7, 0, 771},
- dictWord{
- 7,
- 0,
- 1731,
- },
- dictWord{9, 0, 405},
- dictWord{138, 0, 421},
- dictWord{4, 11, 500},
- dictWord{135, 11, 938},
- dictWord{5, 11, 68},
- dictWord{134, 11, 383},
- dictWord{
- 5,
- 0,
- 881,
- },
- dictWord{133, 0, 885},
- dictWord{6, 0, 854},
- dictWord{6, 0, 1132},
- dictWord{6, 0, 1495},
- dictWord{6, 0, 1526},
- dictWord{6, 0, 1533},
- dictWord{
- 134,
- 0,
- 1577,
- },
- dictWord{4, 11, 337},
- dictWord{6, 11, 353},
- dictWord{7, 11, 1934},
- dictWord{8, 11, 488},
- dictWord{137, 11, 429},
- dictWord{7, 11, 236},
- dictWord{
- 7,
- 11,
- 1795,
- },
- dictWord{8, 11, 259},
- dictWord{9, 11, 135},
- dictWord{9, 11, 177},
- dictWord{10, 11, 825},
- dictWord{11, 11, 115},
- dictWord{11, 11, 370},
- dictWord{
- 11,
- 11,
- 405,
- },
- dictWord{11, 11, 604},
- dictWord{12, 11, 10},
- dictWord{12, 11, 667},
- dictWord{12, 11, 669},
- dictWord{13, 11, 76},
- dictWord{14, 11, 310},
- dictWord{15, 11, 76},
- dictWord{15, 11, 147},
- dictWord{148, 11, 23},
- dictWord{5, 0, 142},
- dictWord{134, 0, 546},
- dictWord{4, 11, 15},
- dictWord{5, 11, 22},
- dictWord{
- 6,
- 11,
- 244,
- },
- dictWord{7, 11, 40},
- dictWord{7, 11, 200},
- dictWord{7, 11, 906},
- dictWord{7, 11, 1199},
- dictWord{9, 11, 616},
- dictWord{10, 11, 716},
- dictWord{
- 11,
- 11,
- 635,
- },
- dictWord{11, 11, 801},
- dictWord{140, 11, 458},
- dictWord{5, 0, 466},
- dictWord{11, 0, 571},
- dictWord{12, 0, 198},
- dictWord{13, 0, 283},
- dictWord{
- 14,
- 0,
- 186,
- },
- dictWord{15, 0, 21},
- dictWord{15, 0, 103},
- dictWord{135, 10, 329},
- dictWord{4, 0, 185},
- dictWord{5, 0, 257},
- dictWord{5, 0, 839},
- dictWord{5, 0, 936},
- dictWord{9, 0, 399},
- dictWord{10, 0, 258},
- dictWord{10, 0, 395},
- dictWord{10, 0, 734},
- dictWord{11, 0, 1014},
- dictWord{12, 0, 23},
- dictWord{13, 0, 350},
- dictWord{
- 14,
- 0,
- 150,
- },
- dictWord{19, 0, 6},
- dictWord{135, 11, 1735},
- dictWord{12, 11, 36},
- dictWord{141, 11, 337},
- dictWord{5, 11, 598},
- dictWord{7, 11, 791},
- dictWord{
- 8,
- 11,
- 108,
- },
- dictWord{137, 11, 123},
- dictWord{132, 10, 469},
- dictWord{7, 0, 404},
- dictWord{7, 0, 1377},
- dictWord{7, 0, 1430},
- dictWord{7, 0, 2017},
- dictWord{
- 8,
- 0,
- 149,
- },
- dictWord{8, 0, 239},
- dictWord{8, 0, 512},
- dictWord{8, 0, 793},
- dictWord{8, 0, 818},
- dictWord{9, 0, 474},
- dictWord{9, 0, 595},
- dictWord{10, 0, 122},
- dictWord{10, 0, 565},
- dictWord{10, 0, 649},
- dictWord{10, 0, 783},
- dictWord{11, 0, 239},
- dictWord{11, 0, 295},
- dictWord{11, 0, 447},
- dictWord{11, 0, 528},
- dictWord{
- 11,
- 0,
- 639,
- },
- dictWord{11, 0, 800},
- dictWord{12, 0, 25},
- dictWord{12, 0, 77},
- dictWord{12, 0, 157},
- dictWord{12, 0, 256},
- dictWord{12, 0, 316},
- dictWord{12, 0, 390},
- dictWord{12, 0, 391},
- dictWord{12, 0, 395},
- dictWord{12, 0, 478},
- dictWord{12, 0, 503},
- dictWord{12, 0, 592},
- dictWord{12, 0, 680},
- dictWord{13, 0, 50},
- dictWord{13, 0, 53},
- dictWord{13, 0, 132},
- dictWord{13, 0, 198},
- dictWord{13, 0, 322},
- dictWord{13, 0, 415},
- dictWord{13, 0, 511},
- dictWord{14, 0, 71},
- dictWord{
- 14,
- 0,
- 395,
- },
- dictWord{15, 0, 71},
- dictWord{15, 0, 136},
- dictWord{17, 0, 123},
- dictWord{18, 0, 93},
- dictWord{147, 0, 58},
- dictWord{136, 0, 712},
- dictWord{
- 134,
- 10,
- 1743,
- },
- dictWord{5, 10, 929},
- dictWord{6, 10, 340},
- dictWord{8, 10, 376},
- dictWord{136, 10, 807},
- dictWord{6, 0, 1848},
- dictWord{8, 0, 860},
- dictWord{
- 10,
- 0,
- 856,
- },
- dictWord{10, 0, 859},
- dictWord{10, 0, 925},
- dictWord{10, 0, 941},
- dictWord{140, 0, 762},
- dictWord{6, 0, 629},
- dictWord{6, 0, 906},
- dictWord{9, 0, 810},
- dictWord{140, 0, 652},
- dictWord{5, 10, 218},
- dictWord{7, 10, 1610},
- dictWord{138, 10, 83},
- dictWord{7, 10, 1512},
- dictWord{135, 10, 1794},
- dictWord{
- 4,
- 0,
- 377,
- },
- dictWord{24, 0, 13},
- dictWord{4, 11, 155},
- dictWord{7, 11, 1689},
- dictWord{11, 10, 0},
- dictWord{144, 10, 78},
- dictWord{4, 11, 164},
- dictWord{5, 11, 151},
- dictWord{5, 11, 730},
- dictWord{5, 11, 741},
- dictWord{7, 11, 498},
- dictWord{7, 11, 870},
- dictWord{7, 11, 1542},
- dictWord{12, 11, 213},
- dictWord{14, 11, 36},
- dictWord{14, 11, 391},
- dictWord{17, 11, 111},
- dictWord{18, 11, 6},
- dictWord{18, 11, 46},
- dictWord{18, 11, 151},
- dictWord{19, 11, 36},
- dictWord{20, 11, 32},
- dictWord{20, 11, 56},
- dictWord{20, 11, 69},
- dictWord{20, 11, 102},
- dictWord{21, 11, 4},
- dictWord{22, 11, 8},
- dictWord{22, 11, 10},
- dictWord{22, 11, 14},
- dictWord{
- 150,
- 11,
- 31,
- },
- dictWord{7, 0, 1842},
- dictWord{133, 10, 571},
- dictWord{4, 10, 455},
- dictWord{4, 11, 624},
- dictWord{135, 11, 1752},
- dictWord{134, 0, 1501},
- dictWord{4, 11, 492},
- dictWord{5, 11, 451},
- dictWord{6, 10, 161},
- dictWord{7, 10, 372},
- dictWord{137, 10, 597},
- dictWord{132, 10, 349},
- dictWord{4, 0, 180},
- dictWord{135, 0, 1906},
- dictWord{135, 11, 835},
- dictWord{141, 11, 70},
- dictWord{132, 0, 491},
- dictWord{137, 10, 751},
- dictWord{6, 10, 432},
- dictWord{
- 139,
- 10,
- 322,
- },
- dictWord{4, 0, 171},
- dictWord{138, 0, 234},
- dictWord{6, 11, 113},
- dictWord{135, 11, 436},
- dictWord{4, 0, 586},
- dictWord{7, 0, 1186},
- dictWord{
- 138,
- 0,
- 631,
- },
- dictWord{5, 10, 468},
- dictWord{10, 10, 325},
- dictWord{11, 10, 856},
- dictWord{12, 10, 345},
- dictWord{143, 10, 104},
- dictWord{5, 10, 223},
- dictWord{10, 11, 592},
- dictWord{10, 11, 753},
- dictWord{12, 11, 317},
- dictWord{12, 11, 355},
- dictWord{12, 11, 465},
- dictWord{12, 11, 469},
- dictWord{
- 12,
- 11,
- 560,
- },
- dictWord{12, 11, 578},
- dictWord{141, 11, 243},
- dictWord{132, 10, 566},
- dictWord{135, 11, 520},
- dictWord{4, 10, 59},
- dictWord{135, 10, 1394},
- dictWord{6, 10, 436},
- dictWord{139, 10, 481},
- dictWord{9, 0, 931},
- dictWord{10, 0, 334},
- dictWord{20, 0, 71},
- dictWord{4, 10, 48},
- dictWord{5, 10, 271},
- dictWord{
- 7,
- 10,
- 953,
- },
- dictWord{135, 11, 1878},
- dictWord{11, 0, 170},
- dictWord{5, 10, 610},
- dictWord{136, 10, 457},
- dictWord{133, 10, 755},
- dictWord{6, 0, 1587},
- dictWord{135, 10, 1217},
- dictWord{4, 10, 197},
- dictWord{149, 11, 26},
- dictWord{133, 11, 585},
- dictWord{137, 11, 521},
- dictWord{133, 0, 765},
- dictWord{
- 133,
- 10,
- 217,
- },
- dictWord{139, 11, 586},
- dictWord{133, 0, 424},
- dictWord{9, 11, 752},
- dictWord{12, 11, 610},
- dictWord{13, 11, 431},
- dictWord{16, 11, 59},
- dictWord{146, 11, 109},
- dictWord{136, 0, 714},
- dictWord{7, 0, 685},
- dictWord{132, 11, 307},
- dictWord{9, 0, 420},
- dictWord{10, 0, 269},
- dictWord{10, 0, 285},
- dictWord{10, 0, 576},
- dictWord{11, 0, 397},
- dictWord{13, 0, 175},
- dictWord{145, 0, 90},
- dictWord{132, 0, 429},
- dictWord{133, 11, 964},
- dictWord{9, 11, 463},
- dictWord{138, 11, 595},
- dictWord{7, 0, 18},
- dictWord{7, 0, 699},
- dictWord{7, 0, 1966},
- dictWord{8, 0, 752},
- dictWord{9, 0, 273},
- dictWord{9, 0, 412},
- dictWord{
- 9,
- 0,
- 703,
- },
- dictWord{10, 0, 71},
- dictWord{10, 0, 427},
- dictWord{138, 0, 508},
- dictWord{4, 10, 165},
- dictWord{7, 10, 1398},
- dictWord{135, 10, 1829},
- dictWord{
- 4,
- 0,
- 53,
- },
- dictWord{5, 0, 186},
- dictWord{7, 0, 752},
- dictWord{7, 0, 828},
- dictWord{142, 0, 116},
- dictWord{8, 0, 575},
- dictWord{10, 0, 289},
- dictWord{139, 0, 319},
- dictWord{132, 0, 675},
- dictWord{134, 0, 1424},
- dictWord{4, 11, 75},
- dictWord{5, 11, 180},
- dictWord{6, 11, 500},
- dictWord{7, 11, 58},
- dictWord{7, 11, 710},
- dictWord{138, 11, 645},
- dictWord{133, 11, 649},
- dictWord{6, 11, 276},
- dictWord{7, 11, 282},
- dictWord{7, 11, 879},
- dictWord{7, 11, 924},
- dictWord{8, 11, 459},
- dictWord{9, 11, 599},
- dictWord{9, 11, 754},
- dictWord{11, 11, 574},
- dictWord{12, 11, 128},
- dictWord{12, 11, 494},
- dictWord{13, 11, 52},
- dictWord{13, 11, 301},
- dictWord{15, 11, 30},
- dictWord{143, 11, 132},
- dictWord{6, 0, 647},
- dictWord{134, 0, 1095},
- dictWord{5, 10, 9},
- dictWord{7, 10, 297},
- dictWord{7, 10, 966},
- dictWord{140, 10, 306},
- dictWord{132, 11, 200},
- dictWord{134, 0, 1334},
- dictWord{5, 10, 146},
- dictWord{6, 10, 411},
- dictWord{138, 10, 721},
- dictWord{
- 6,
- 0,
- 209,
- },
- dictWord{6, 0, 1141},
- dictWord{6, 0, 1288},
- dictWord{8, 0, 468},
- dictWord{9, 0, 210},
- dictWord{11, 0, 36},
- dictWord{12, 0, 28},
- dictWord{12, 0, 630},
- dictWord{13, 0, 21},
- dictWord{13, 0, 349},
- dictWord{14, 0, 7},
- dictWord{145, 0, 13},
- dictWord{6, 10, 177},
- dictWord{135, 10, 467},
- dictWord{4, 0, 342},
- dictWord{
- 135,
- 0,
- 1179,
- },
- dictWord{10, 11, 454},
- dictWord{140, 11, 324},
- dictWord{4, 0, 928},
- dictWord{133, 0, 910},
- dictWord{7, 0, 1838},
- dictWord{6, 11, 225},
- dictWord{
- 137,
- 11,
- 211,
- },
- dictWord{16, 0, 101},
- dictWord{20, 0, 115},
- dictWord{20, 0, 118},
- dictWord{148, 0, 122},
- dictWord{4, 0, 496},
- dictWord{135, 0, 856},
- dictWord{
- 4,
- 0,
- 318,
- },
- dictWord{11, 0, 654},
- dictWord{7, 11, 718},
- dictWord{139, 11, 102},
- dictWord{8, 11, 58},
- dictWord{9, 11, 724},
- dictWord{11, 11, 809},
- dictWord{
- 13,
- 11,
- 113,
- },
- dictWord{145, 11, 72},
- dictWord{5, 10, 200},
- dictWord{6, 11, 345},
- dictWord{135, 11, 1247},
- dictWord{8, 11, 767},
- dictWord{8, 11, 803},
- dictWord{
- 9,
- 11,
- 301,
- },
- dictWord{137, 11, 903},
- dictWord{7, 0, 915},
- dictWord{8, 0, 247},
- dictWord{19, 0, 0},
- dictWord{7, 11, 1949},
- dictWord{136, 11, 674},
- dictWord{
- 4,
- 0,
- 202,
- },
- dictWord{5, 0, 382},
- dictWord{6, 0, 454},
- dictWord{7, 0, 936},
- dictWord{7, 0, 1803},
- dictWord{8, 0, 758},
- dictWord{9, 0, 375},
- dictWord{9, 0, 895},
- dictWord{
- 10,
- 0,
- 743,
- },
- dictWord{10, 0, 792},
- dictWord{11, 0, 978},
- dictWord{11, 0, 1012},
- dictWord{142, 0, 109},
- dictWord{7, 0, 1150},
- dictWord{7, 0, 1425},
- dictWord{
- 7,
- 0,
- 1453,
- },
- dictWord{140, 0, 513},
- dictWord{134, 11, 259},
- dictWord{138, 0, 791},
- dictWord{11, 0, 821},
- dictWord{12, 0, 110},
- dictWord{12, 0, 153},
- dictWord{
- 18,
- 0,
- 41,
- },
- dictWord{150, 0, 19},
- dictWord{134, 10, 481},
- dictWord{132, 0, 796},
- dictWord{6, 0, 445},
- dictWord{9, 0, 909},
- dictWord{136, 11, 254},
- dictWord{
- 10,
- 0,
- 776,
- },
- dictWord{13, 0, 345},
- dictWord{142, 0, 425},
- dictWord{4, 10, 84},
- dictWord{7, 10, 1482},
- dictWord{10, 10, 76},
- dictWord{138, 10, 142},
- dictWord{
- 135,
- 11,
- 742,
- },
- dictWord{6, 0, 578},
- dictWord{133, 10, 1015},
- dictWord{6, 0, 1387},
- dictWord{4, 10, 315},
- dictWord{5, 10, 507},
- dictWord{135, 10, 1370},
- dictWord{4, 0, 438},
- dictWord{133, 0, 555},
- dictWord{136, 0, 766},
- dictWord{133, 11, 248},
- dictWord{134, 10, 1722},
- dictWord{4, 11, 116},
- dictWord{5, 11, 95},
- dictWord{5, 11, 445},
- dictWord{7, 11, 1688},
- dictWord{8, 11, 29},
- dictWord{9, 11, 272},
- dictWord{11, 11, 509},
- dictWord{139, 11, 915},
- dictWord{135, 0, 541},
- dictWord{133, 11, 543},
- dictWord{8, 10, 222},
- dictWord{8, 10, 476},
- dictWord{9, 10, 238},
- dictWord{11, 10, 516},
- dictWord{11, 10, 575},
- dictWord{
- 15,
- 10,
- 109,
- },
- dictWord{146, 10, 100},
- dictWord{6, 0, 880},
- dictWord{134, 0, 1191},
- dictWord{5, 11, 181},
- dictWord{136, 11, 41},
- dictWord{134, 0, 1506},
- dictWord{132, 11, 681},
- dictWord{7, 11, 25},
- dictWord{8, 11, 202},
- dictWord{138, 11, 536},
- dictWord{139, 0, 983},
- dictWord{137, 0, 768},
- dictWord{132, 0, 584},
- dictWord{9, 11, 423},
- dictWord{140, 11, 89},
- dictWord{8, 11, 113},
- dictWord{9, 11, 877},
- dictWord{10, 11, 554},
- dictWord{11, 11, 83},
- dictWord{12, 11, 136},
- dictWord{147, 11, 109},
- dictWord{7, 10, 706},
- dictWord{7, 10, 1058},
- dictWord{138, 10, 538},
- dictWord{133, 11, 976},
- dictWord{4, 11, 206},
- dictWord{
- 135,
- 11,
- 746,
- },
- dictWord{136, 11, 526},
- dictWord{140, 0, 737},
- dictWord{11, 10, 92},
- dictWord{11, 10, 196},
- dictWord{11, 10, 409},
- dictWord{11, 10, 450},
- dictWord{11, 10, 666},
- dictWord{11, 10, 777},
- dictWord{12, 10, 262},
- dictWord{13, 10, 385},
- dictWord{13, 10, 393},
- dictWord{15, 10, 115},
- dictWord{
- 16,
- 10,
- 45,
- },
- dictWord{145, 10, 82},
- dictWord{4, 0, 226},
- dictWord{4, 0, 326},
- dictWord{7, 0, 1770},
- dictWord{4, 11, 319},
- dictWord{5, 11, 699},
- dictWord{138, 11, 673},
- dictWord{6, 10, 40},
- dictWord{135, 10, 1781},
- dictWord{5, 0, 426},
- dictWord{8, 0, 30},
- dictWord{9, 0, 2},
- dictWord{11, 0, 549},
- dictWord{147, 0, 122},
- dictWord{
- 6,
- 0,
- 1161,
- },
- dictWord{134, 0, 1329},
- dictWord{138, 10, 97},
- dictWord{6, 10, 423},
- dictWord{7, 10, 665},
- dictWord{135, 10, 1210},
- dictWord{7, 11, 13},
- dictWord{
- 8,
- 11,
- 226,
- },
- dictWord{10, 11, 537},
- dictWord{11, 11, 570},
- dictWord{11, 11, 605},
- dictWord{11, 11, 799},
- dictWord{11, 11, 804},
- dictWord{12, 11, 85},
- dictWord{12, 11, 516},
- dictWord{12, 11, 623},
- dictWord{13, 11, 112},
- dictWord{13, 11, 361},
- dictWord{14, 11, 77},
- dictWord{14, 11, 78},
- dictWord{17, 11, 28},
- dictWord{147, 11, 110},
- dictWord{132, 11, 769},
- dictWord{132, 11, 551},
- dictWord{132, 11, 728},
- dictWord{147, 0, 117},
- dictWord{9, 11, 57},
- dictWord{
- 9,
- 11,
- 459,
- },
- dictWord{10, 11, 425},
- dictWord{11, 11, 119},
- dictWord{12, 11, 184},
- dictWord{12, 11, 371},
- dictWord{13, 11, 358},
- dictWord{145, 11, 51},
- dictWord{
- 5,
- 11,
- 188,
- },
- dictWord{5, 11, 814},
- dictWord{8, 11, 10},
- dictWord{9, 11, 421},
- dictWord{9, 11, 729},
- dictWord{10, 11, 609},
- dictWord{139, 11, 689},
- dictWord{134, 11, 624},
- dictWord{135, 11, 298},
- dictWord{135, 0, 462},
- dictWord{4, 0, 345},
- dictWord{139, 10, 624},
- dictWord{136, 10, 574},
- dictWord{
- 4,
- 0,
- 385,
- },
- dictWord{7, 0, 265},
- dictWord{135, 0, 587},
- dictWord{6, 0, 808},
- dictWord{132, 11, 528},
- dictWord{133, 0, 398},
- dictWord{132, 10, 354},
- dictWord{
- 4,
- 0,
- 347,
- },
- dictWord{5, 0, 423},
- dictWord{5, 0, 996},
- dictWord{135, 0, 1329},
- dictWord{135, 10, 1558},
- dictWord{7, 0, 1259},
- dictWord{9, 0, 125},
- dictWord{
- 139,
- 0,
- 65,
- },
- dictWord{5, 0, 136},
- dictWord{6, 0, 136},
- dictWord{136, 0, 644},
- dictWord{5, 11, 104},
- dictWord{6, 11, 173},
- dictWord{135, 11, 1631},
- dictWord{
- 135,
- 0,
- 469,
- },
- dictWord{133, 10, 830},
- dictWord{4, 0, 278},
- dictWord{5, 0, 465},
- dictWord{135, 0, 1367},
- dictWord{7, 11, 810},
- dictWord{8, 11, 138},
- dictWord{
- 8,
- 11,
- 342,
- },
- dictWord{9, 11, 84},
- dictWord{10, 11, 193},
- dictWord{11, 11, 883},
- dictWord{140, 11, 359},
- dictWord{5, 10, 496},
- dictWord{135, 10, 203},
- dictWord{
- 4,
- 0,
- 433,
- },
- dictWord{133, 0, 719},
- dictWord{6, 11, 95},
- dictWord{134, 10, 547},
- dictWord{5, 10, 88},
- dictWord{137, 10, 239},
- dictWord{6, 11, 406},
- dictWord{
- 10,
- 11,
- 409,
- },
- dictWord{10, 11, 447},
- dictWord{11, 11, 44},
- dictWord{140, 11, 100},
- dictWord{134, 0, 1423},
- dictWord{7, 10, 650},
- dictWord{135, 10, 1310},
- dictWord{134, 0, 749},
- dictWord{135, 11, 1243},
- dictWord{135, 0, 1363},
- dictWord{6, 0, 381},
- dictWord{7, 0, 645},
- dictWord{7, 0, 694},
- dictWord{8, 0, 546},
- dictWord{7, 10, 1076},
- dictWord{9, 10, 80},
- dictWord{11, 10, 78},
- dictWord{11, 10, 421},
- dictWord{11, 10, 534},
- dictWord{140, 10, 545},
- dictWord{
- 134,
- 11,
- 1636,
- },
- dictWord{135, 11, 1344},
- dictWord{12, 0, 277},
- dictWord{7, 10, 274},
- dictWord{11, 10, 479},
- dictWord{139, 10, 507},
- dictWord{6, 0, 705},
- dictWord{
- 6,
- 0,
- 783,
- },
- dictWord{6, 0, 1275},
- dictWord{6, 0, 1481},
- dictWord{4, 11, 282},
- dictWord{7, 11, 1034},
- dictWord{11, 11, 398},
- dictWord{11, 11, 634},
- dictWord{
- 12,
- 11,
- 1,
- },
- dictWord{12, 11, 79},
- dictWord{12, 11, 544},
- dictWord{14, 11, 237},
- dictWord{17, 11, 10},
- dictWord{146, 11, 20},
- dictWord{134, 0, 453},
- dictWord{
- 4,
- 0,
- 555,
- },
- dictWord{8, 0, 536},
- dictWord{10, 0, 288},
- dictWord{11, 0, 1005},
- dictWord{4, 10, 497},
- dictWord{135, 10, 1584},
- dictWord{5, 11, 118},
- dictWord{
- 5,
- 11,
- 499,
- },
- dictWord{6, 11, 476},
- dictWord{7, 11, 600},
- dictWord{7, 11, 888},
- dictWord{135, 11, 1096},
- dictWord{138, 0, 987},
- dictWord{7, 0, 1107},
- dictWord{
- 7,
- 10,
- 261,
- },
- dictWord{7, 10, 1115},
- dictWord{7, 10, 1354},
- dictWord{7, 10, 1588},
- dictWord{7, 10, 1705},
- dictWord{7, 10, 1902},
- dictWord{9, 10, 465},
- dictWord{10, 10, 248},
- dictWord{10, 10, 349},
- dictWord{10, 10, 647},
- dictWord{11, 10, 527},
- dictWord{11, 10, 660},
- dictWord{11, 10, 669},
- dictWord{
- 12,
- 10,
- 529,
- },
- dictWord{141, 10, 305},
- dictWord{7, 11, 296},
- dictWord{7, 11, 596},
- dictWord{8, 11, 560},
- dictWord{8, 11, 586},
- dictWord{9, 11, 612},
- dictWord{
- 11,
- 11,
- 100,
- },
- dictWord{11, 11, 304},
- dictWord{12, 11, 46},
- dictWord{13, 11, 89},
- dictWord{14, 11, 112},
- dictWord{145, 11, 122},
- dictWord{9, 0, 370},
- dictWord{
- 138,
- 0,
- 90,
- },
- dictWord{136, 10, 13},
- dictWord{132, 0, 860},
- dictWord{7, 10, 642},
- dictWord{8, 10, 250},
- dictWord{11, 10, 123},
- dictWord{11, 10, 137},
- dictWord{
- 13,
- 10,
- 48,
- },
- dictWord{142, 10, 95},
- dictWord{135, 10, 1429},
- dictWord{137, 11, 321},
- dictWord{132, 0, 257},
- dictWord{135, 0, 2031},
- dictWord{7, 0, 1768},
- dictWord{7, 11, 1599},
- dictWord{7, 11, 1723},
- dictWord{8, 11, 79},
- dictWord{8, 11, 106},
- dictWord{8, 11, 190},
- dictWord{8, 11, 302},
- dictWord{8, 11, 383},
- dictWord{9, 11, 119},
- dictWord{9, 11, 233},
- dictWord{9, 11, 298},
- dictWord{9, 11, 419},
- dictWord{9, 11, 471},
- dictWord{10, 11, 181},
- dictWord{10, 11, 406},
- dictWord{11, 11, 57},
- dictWord{11, 11, 85},
- dictWord{11, 11, 120},
- dictWord{11, 11, 177},
- dictWord{11, 11, 296},
- dictWord{11, 11, 382},
- dictWord{11, 11, 454},
- dictWord{11, 11, 758},
- dictWord{11, 11, 999},
- dictWord{12, 11, 27},
- dictWord{12, 11, 98},
- dictWord{12, 11, 131},
- dictWord{12, 11, 245},
- dictWord{
- 12,
- 11,
- 312,
- },
- dictWord{12, 11, 446},
- dictWord{12, 11, 454},
- dictWord{13, 11, 25},
- dictWord{13, 11, 98},
- dictWord{13, 11, 426},
- dictWord{13, 11, 508},
- dictWord{
- 14,
- 11,
- 6,
- },
- dictWord{14, 11, 163},
- dictWord{14, 11, 272},
- dictWord{14, 11, 277},
- dictWord{14, 11, 370},
- dictWord{15, 11, 95},
- dictWord{15, 11, 138},
- dictWord{
- 15,
- 11,
- 167,
- },
- dictWord{17, 11, 18},
- dictWord{17, 11, 38},
- dictWord{20, 11, 96},
- dictWord{149, 11, 32},
- dictWord{5, 11, 722},
- dictWord{134, 11, 1759},
- dictWord{145, 11, 16},
- dictWord{6, 0, 1071},
- dictWord{134, 0, 1561},
- dictWord{10, 10, 545},
- dictWord{140, 10, 301},
- dictWord{6, 0, 83},
- dictWord{6, 0, 1733},
- dictWord{135, 0, 1389},
- dictWord{4, 0, 835},
- dictWord{135, 0, 1818},
- dictWord{133, 11, 258},
- dictWord{4, 10, 904},
- dictWord{133, 10, 794},
- dictWord{
- 134,
- 0,
- 2006,
- },
- dictWord{5, 11, 30},
- dictWord{7, 11, 495},
- dictWord{8, 11, 134},
- dictWord{9, 11, 788},
- dictWord{140, 11, 438},
- dictWord{135, 11, 2004},
- dictWord{
- 137,
- 0,
- 696,
- },
- dictWord{5, 11, 50},
- dictWord{6, 11, 439},
- dictWord{7, 11, 780},
- dictWord{135, 11, 1040},
- dictWord{7, 11, 772},
- dictWord{7, 11, 1104},
- dictWord{
- 7,
- 11,
- 1647,
- },
- dictWord{11, 11, 269},
- dictWord{11, 11, 539},
- dictWord{11, 11, 607},
- dictWord{11, 11, 627},
- dictWord{11, 11, 706},
- dictWord{11, 11, 975},
- dictWord{12, 11, 248},
- dictWord{12, 11, 311},
- dictWord{12, 11, 434},
- dictWord{12, 11, 600},
- dictWord{12, 11, 622},
- dictWord{13, 11, 297},
- dictWord{
- 13,
- 11,
- 367,
- },
- dictWord{13, 11, 485},
- dictWord{14, 11, 69},
- dictWord{14, 11, 409},
- dictWord{143, 11, 108},
- dictWord{5, 11, 1},
- dictWord{6, 11, 81},
- dictWord{
- 138,
- 11,
- 520,
- },
- dictWord{7, 0, 1718},
- dictWord{9, 0, 95},
- dictWord{9, 0, 274},
- dictWord{10, 0, 279},
- dictWord{10, 0, 317},
- dictWord{10, 0, 420},
- dictWord{11, 0, 303},
- dictWord{11, 0, 808},
- dictWord{12, 0, 134},
- dictWord{12, 0, 367},
- dictWord{13, 0, 149},
- dictWord{13, 0, 347},
- dictWord{14, 0, 349},
- dictWord{14, 0, 406},
- dictWord{
- 18,
- 0,
- 22,
- },
- dictWord{18, 0, 89},
- dictWord{18, 0, 122},
- dictWord{147, 0, 47},
- dictWord{5, 11, 482},
- dictWord{8, 11, 98},
- dictWord{9, 11, 172},
- dictWord{10, 11, 222},
- dictWord{10, 11, 700},
- dictWord{10, 11, 822},
- dictWord{11, 11, 302},
- dictWord{11, 11, 778},
- dictWord{12, 11, 50},
- dictWord{12, 11, 127},
- dictWord{
- 12,
- 11,
- 396,
- },
- dictWord{13, 11, 62},
- dictWord{13, 11, 328},
- dictWord{14, 11, 122},
- dictWord{147, 11, 72},
- dictWord{7, 10, 386},
- dictWord{138, 10, 713},
- dictWord{
- 6,
- 10,
- 7,
- },
- dictWord{6, 10, 35},
- dictWord{7, 10, 147},
- dictWord{7, 10, 1069},
- dictWord{7, 10, 1568},
- dictWord{7, 10, 1575},
- dictWord{7, 10, 1917},
- dictWord{
- 8,
- 10,
- 43,
- },
- dictWord{8, 10, 208},
- dictWord{9, 10, 128},
- dictWord{9, 10, 866},
- dictWord{10, 10, 20},
- dictWord{11, 10, 981},
- dictWord{147, 10, 33},
- dictWord{
- 133,
- 0,
- 26,
- },
- dictWord{132, 0, 550},
- dictWord{5, 11, 2},
- dictWord{7, 11, 1494},
- dictWord{136, 11, 589},
- dictWord{6, 11, 512},
- dictWord{7, 11, 797},
- dictWord{
- 8,
- 11,
- 253,
- },
- dictWord{9, 11, 77},
- dictWord{10, 11, 1},
- dictWord{10, 11, 129},
- dictWord{10, 11, 225},
- dictWord{11, 11, 118},
- dictWord{11, 11, 226},
- dictWord{
- 11,
- 11,
- 251,
- },
- dictWord{11, 11, 430},
- dictWord{11, 11, 701},
- dictWord{11, 11, 974},
- dictWord{11, 11, 982},
- dictWord{12, 11, 64},
- dictWord{12, 11, 260},
- dictWord{
- 12,
- 11,
- 488,
- },
- dictWord{140, 11, 690},
- dictWord{7, 10, 893},
- dictWord{141, 10, 424},
- dictWord{134, 0, 901},
- dictWord{136, 0, 822},
- dictWord{4, 0, 902},
- dictWord{5, 0, 809},
- dictWord{134, 0, 122},
- dictWord{6, 0, 807},
- dictWord{134, 0, 1366},
- dictWord{7, 0, 262},
- dictWord{5, 11, 748},
- dictWord{134, 11, 553},
- dictWord{133, 0, 620},
- dictWord{4, 0, 34},
- dictWord{5, 0, 574},
- dictWord{7, 0, 279},
- dictWord{7, 0, 1624},
- dictWord{136, 0, 601},
- dictWord{9, 0, 170},
- dictWord{
- 6,
- 10,
- 322,
- },
- dictWord{9, 10, 552},
- dictWord{11, 10, 274},
- dictWord{13, 10, 209},
- dictWord{13, 10, 499},
- dictWord{14, 10, 85},
- dictWord{15, 10, 126},
- dictWord{
- 145,
- 10,
- 70,
- },
- dictWord{132, 0, 537},
- dictWord{4, 11, 12},
- dictWord{7, 11, 420},
- dictWord{7, 11, 522},
- dictWord{7, 11, 809},
- dictWord{8, 11, 797},
- dictWord{
- 141,
- 11,
- 88,
- },
- dictWord{133, 0, 332},
- dictWord{8, 10, 83},
- dictWord{8, 10, 742},
- dictWord{8, 10, 817},
- dictWord{9, 10, 28},
- dictWord{9, 10, 29},
- dictWord{9, 10, 885},
- dictWord{10, 10, 387},
- dictWord{11, 10, 633},
- dictWord{11, 10, 740},
- dictWord{13, 10, 235},
- dictWord{13, 10, 254},
- dictWord{15, 10, 143},
- dictWord{
- 143,
- 10,
- 146,
- },
- dictWord{6, 0, 1909},
- dictWord{9, 0, 964},
- dictWord{12, 0, 822},
- dictWord{12, 0, 854},
- dictWord{12, 0, 865},
- dictWord{12, 0, 910},
- dictWord{12, 0, 938},
- dictWord{15, 0, 169},
- dictWord{15, 0, 208},
- dictWord{15, 0, 211},
- dictWord{18, 0, 205},
- dictWord{18, 0, 206},
- dictWord{18, 0, 220},
- dictWord{18, 0, 223},
- dictWord{152, 0, 24},
- dictWord{140, 10, 49},
- dictWord{5, 11, 528},
- dictWord{135, 11, 1580},
- dictWord{6, 0, 261},
- dictWord{8, 0, 182},
- dictWord{139, 0, 943},
- dictWord{134, 0, 1721},
- dictWord{4, 0, 933},
- dictWord{133, 0, 880},
- dictWord{136, 11, 321},
- dictWord{5, 11, 266},
- dictWord{9, 11, 290},
- dictWord{9, 11, 364},
- dictWord{10, 11, 293},
- dictWord{11, 11, 606},
- dictWord{142, 11, 45},
- dictWord{6, 0, 1609},
- dictWord{4, 11, 50},
- dictWord{6, 11, 510},
- dictWord{6, 11, 594},
- dictWord{9, 11, 121},
- dictWord{10, 11, 49},
- dictWord{10, 11, 412},
- dictWord{139, 11, 834},
- dictWord{7, 0, 895},
- dictWord{136, 11, 748},
- dictWord{132, 11, 466},
- dictWord{4, 10, 110},
- dictWord{10, 10, 415},
- dictWord{10, 10, 597},
- dictWord{142, 10, 206},
- dictWord{133, 0, 812},
- dictWord{135, 11, 281},
- dictWord{
- 6,
- 0,
- 1890,
- },
- dictWord{6, 0, 1902},
- dictWord{6, 0, 1916},
- dictWord{9, 0, 929},
- dictWord{9, 0, 942},
- dictWord{9, 0, 975},
- dictWord{9, 0, 984},
- dictWord{9, 0, 986},
- dictWord{
- 9,
- 0,
- 1011,
- },
- dictWord{9, 0, 1019},
- dictWord{12, 0, 804},
- dictWord{12, 0, 851},
- dictWord{12, 0, 867},
- dictWord{12, 0, 916},
- dictWord{12, 0, 923},
- dictWord{
- 15,
- 0,
- 194,
- },
- dictWord{15, 0, 204},
- dictWord{15, 0, 210},
- dictWord{15, 0, 222},
- dictWord{15, 0, 223},
- dictWord{15, 0, 229},
- dictWord{15, 0, 250},
- dictWord{
- 18,
- 0,
- 179,
- },
- dictWord{18, 0, 186},
- dictWord{18, 0, 192},
- dictWord{7, 10, 205},
- dictWord{135, 10, 2000},
- dictWord{132, 11, 667},
- dictWord{135, 0, 778},
- dictWord{
- 4,
- 0,
- 137,
- },
- dictWord{7, 0, 1178},
- dictWord{135, 0, 1520},
- dictWord{134, 0, 1314},
- dictWord{4, 11, 242},
- dictWord{134, 11, 333},
- dictWord{6, 0, 1661},
- dictWord{7, 0, 1975},
- dictWord{7, 0, 2009},
- dictWord{135, 0, 2011},
- dictWord{134, 0, 1591},
- dictWord{4, 10, 283},
- dictWord{135, 10, 1194},
- dictWord{
- 11,
- 0,
- 820,
- },
- dictWord{150, 0, 51},
- dictWord{4, 11, 39},
- dictWord{5, 11, 36},
- dictWord{7, 11, 1843},
- dictWord{8, 11, 407},
- dictWord{11, 11, 144},
- dictWord{
- 140,
- 11,
- 523,
- },
- dictWord{134, 10, 1720},
- dictWord{4, 11, 510},
- dictWord{7, 11, 29},
- dictWord{7, 11, 66},
- dictWord{7, 11, 1980},
- dictWord{10, 11, 487},
- dictWord{
- 10,
- 11,
- 809,
- },
- dictWord{146, 11, 9},
- dictWord{5, 0, 89},
- dictWord{7, 0, 1915},
- dictWord{9, 0, 185},
- dictWord{9, 0, 235},
- dictWord{10, 0, 64},
- dictWord{10, 0, 270},
- dictWord{10, 0, 403},
- dictWord{10, 0, 469},
- dictWord{10, 0, 529},
- dictWord{10, 0, 590},
- dictWord{11, 0, 140},
- dictWord{11, 0, 860},
- dictWord{13, 0, 1},
- dictWord{
- 13,
- 0,
- 422,
- },
- dictWord{14, 0, 341},
- dictWord{14, 0, 364},
- dictWord{17, 0, 93},
- dictWord{18, 0, 113},
- dictWord{19, 0, 97},
- dictWord{147, 0, 113},
- dictWord{133, 0, 695},
- dictWord{6, 0, 987},
- dictWord{134, 0, 1160},
- dictWord{5, 0, 6},
- dictWord{6, 0, 183},
- dictWord{7, 0, 680},
- dictWord{7, 0, 978},
- dictWord{7, 0, 1013},
- dictWord{
- 7,
- 0,
- 1055,
- },
- dictWord{12, 0, 230},
- dictWord{13, 0, 172},
- dictWord{146, 0, 29},
- dictWord{134, 11, 570},
- dictWord{132, 11, 787},
- dictWord{134, 11, 518},
- dictWord{
- 6,
- 0,
- 29,
- },
- dictWord{139, 0, 63},
- dictWord{132, 11, 516},
- dictWord{136, 11, 821},
- dictWord{132, 0, 311},
- dictWord{134, 0, 1740},
- dictWord{7, 0, 170},
- dictWord{8, 0, 90},
- dictWord{8, 0, 177},
- dictWord{8, 0, 415},
- dictWord{11, 0, 714},
- dictWord{14, 0, 281},
- dictWord{136, 10, 735},
- dictWord{134, 0, 1961},
- dictWord{
- 135,
- 11,
- 1405,
- },
- dictWord{4, 11, 10},
- dictWord{7, 11, 917},
- dictWord{139, 11, 786},
- dictWord{5, 10, 132},
- dictWord{9, 10, 486},
- dictWord{9, 10, 715},
- dictWord{
- 10,
- 10,
- 458,
- },
- dictWord{11, 10, 373},
- dictWord{11, 10, 668},
- dictWord{11, 10, 795},
- dictWord{11, 10, 897},
- dictWord{12, 10, 272},
- dictWord{12, 10, 424},
- dictWord{12, 10, 539},
- dictWord{12, 10, 558},
- dictWord{14, 10, 245},
- dictWord{14, 10, 263},
- dictWord{14, 10, 264},
- dictWord{14, 10, 393},
- dictWord{
- 142,
- 10,
- 403,
- },
- dictWord{11, 0, 91},
- dictWord{13, 0, 129},
- dictWord{15, 0, 101},
- dictWord{145, 0, 125},
- dictWord{135, 0, 1132},
- dictWord{4, 0, 494},
- dictWord{6, 0, 74},
- dictWord{7, 0, 44},
- dictWord{7, 0, 407},
- dictWord{12, 0, 17},
- dictWord{15, 0, 5},
- dictWord{148, 0, 11},
- dictWord{133, 10, 379},
- dictWord{5, 0, 270},
- dictWord{
- 5,
- 11,
- 684,
- },
- dictWord{6, 10, 89},
- dictWord{6, 10, 400},
- dictWord{7, 10, 1569},
- dictWord{7, 10, 1623},
- dictWord{7, 10, 1850},
- dictWord{8, 10, 218},
- dictWord{
- 8,
- 10,
- 422,
- },
- dictWord{9, 10, 570},
- dictWord{138, 10, 626},
- dictWord{4, 0, 276},
- dictWord{133, 0, 296},
- dictWord{6, 0, 1523},
- dictWord{134, 11, 27},
- dictWord{
- 6,
- 10,
- 387,
- },
- dictWord{7, 10, 882},
- dictWord{141, 10, 111},
- dictWord{6, 10, 224},
- dictWord{7, 10, 877},
- dictWord{137, 10, 647},
- dictWord{135, 10, 790},
- dictWord{
- 4,
- 0,
- 7,
- },
- dictWord{5, 0, 90},
- dictWord{5, 0, 158},
- dictWord{6, 0, 542},
- dictWord{7, 0, 221},
- dictWord{7, 0, 1574},
- dictWord{9, 0, 490},
- dictWord{10, 0, 540},
- dictWord{
- 11,
- 0,
- 443,
- },
- dictWord{139, 0, 757},
- dictWord{7, 0, 588},
- dictWord{9, 0, 175},
- dictWord{138, 0, 530},
- dictWord{135, 10, 394},
- dictWord{142, 11, 23},
- dictWord{
- 134,
- 0,
- 786,
- },
- dictWord{135, 0, 580},
- dictWord{7, 0, 88},
- dictWord{136, 0, 627},
- dictWord{5, 0, 872},
- dictWord{6, 0, 57},
- dictWord{7, 0, 471},
- dictWord{9, 0, 447},
- dictWord{137, 0, 454},
- dictWord{6, 11, 342},
- dictWord{6, 11, 496},
- dictWord{8, 11, 275},
- dictWord{137, 11, 206},
- dictWord{4, 11, 909},
- dictWord{133, 11, 940},
- dictWord{6, 0, 735},
- dictWord{132, 11, 891},
- dictWord{8, 0, 845},
- dictWord{8, 0, 916},
- dictWord{135, 10, 1409},
- dictWord{5, 0, 31},
- dictWord{134, 0, 614},
- dictWord{11, 0, 458},
- dictWord{12, 0, 15},
- dictWord{140, 0, 432},
- dictWord{8, 0, 330},
- dictWord{140, 0, 477},
- dictWord{4, 0, 530},
- dictWord{5, 0, 521},
- dictWord{
- 7,
- 0,
- 1200,
- },
- dictWord{10, 0, 460},
- dictWord{132, 11, 687},
- dictWord{6, 0, 424},
- dictWord{135, 0, 1866},
- dictWord{9, 0, 569},
- dictWord{12, 0, 12},
- dictWord{
- 12,
- 0,
- 81,
- },
- dictWord{12, 0, 319},
- dictWord{13, 0, 69},
- dictWord{14, 0, 259},
- dictWord{16, 0, 87},
- dictWord{17, 0, 1},
- dictWord{17, 0, 21},
- dictWord{17, 0, 24},
- dictWord{
- 18,
- 0,
- 15,
- },
- dictWord{18, 0, 56},
- dictWord{18, 0, 59},
- dictWord{18, 0, 127},
- dictWord{18, 0, 154},
- dictWord{19, 0, 19},
- dictWord{148, 0, 31},
- dictWord{7, 0, 1302},
- dictWord{136, 10, 38},
- dictWord{134, 11, 253},
- dictWord{5, 10, 261},
- dictWord{7, 10, 78},
- dictWord{7, 10, 199},
- dictWord{8, 10, 815},
- dictWord{9, 10, 126},
- dictWord{138, 10, 342},
- dictWord{5, 0, 595},
- dictWord{135, 0, 1863},
- dictWord{6, 11, 41},
- dictWord{141, 11, 160},
- dictWord{5, 0, 13},
- dictWord{134, 0, 142},
- dictWord{6, 0, 97},
- dictWord{7, 0, 116},
- dictWord{8, 0, 322},
- dictWord{8, 0, 755},
- dictWord{9, 0, 548},
- dictWord{10, 0, 714},
- dictWord{11, 0, 884},
- dictWord{13, 0, 324},
- dictWord{7, 11, 1304},
- dictWord{138, 11, 477},
- dictWord{132, 10, 628},
- dictWord{134, 11, 1718},
- dictWord{7, 10, 266},
- dictWord{136, 10, 804},
- dictWord{135, 10, 208},
- dictWord{7, 0, 1021},
- dictWord{6, 10, 79},
- dictWord{135, 10, 1519},
- dictWord{7, 0, 1472},
- dictWord{135, 0, 1554},
- dictWord{6, 11, 362},
- dictWord{146, 11, 51},
- dictWord{7, 0, 1071},
- dictWord{7, 0, 1541},
- dictWord{7, 0, 1767},
- dictWord{7, 0, 1806},
- dictWord{11, 0, 162},
- dictWord{11, 0, 242},
- dictWord{11, 0, 452},
- dictWord{12, 0, 605},
- dictWord{15, 0, 26},
- dictWord{144, 0, 44},
- dictWord{136, 10, 741},
- dictWord{133, 11, 115},
- dictWord{145, 0, 115},
- dictWord{134, 10, 376},
- dictWord{6, 0, 1406},
- dictWord{134, 0, 1543},
- dictWord{5, 11, 193},
- dictWord{12, 11, 178},
- dictWord{13, 11, 130},
- dictWord{
- 145,
- 11,
- 84,
- },
- dictWord{135, 0, 1111},
- dictWord{8, 0, 1},
- dictWord{9, 0, 650},
- dictWord{10, 0, 326},
- dictWord{5, 11, 705},
- dictWord{137, 11, 606},
- dictWord{5, 0, 488},
- dictWord{6, 0, 527},
- dictWord{7, 0, 489},
- dictWord{7, 0, 1636},
- dictWord{8, 0, 121},
- dictWord{8, 0, 144},
- dictWord{8, 0, 359},
- dictWord{9, 0, 193},
- dictWord{9, 0, 241},
- dictWord{9, 0, 336},
- dictWord{9, 0, 882},
- dictWord{11, 0, 266},
- dictWord{11, 0, 372},
- dictWord{11, 0, 944},
- dictWord{12, 0, 401},
- dictWord{140, 0, 641},
- dictWord{135, 11, 174},
- dictWord{6, 0, 267},
- dictWord{7, 10, 244},
- dictWord{7, 10, 632},
- dictWord{7, 10, 1609},
- dictWord{8, 10, 178},
- dictWord{8, 10, 638},
- dictWord{141, 10, 58},
- dictWord{134, 0, 1983},
- dictWord{134, 0, 1155},
- dictWord{134, 0, 1575},
- dictWord{134, 0, 1438},
- dictWord{9, 0, 31},
- dictWord{
- 10,
- 0,
- 244,
- },
- dictWord{10, 0, 699},
- dictWord{12, 0, 149},
- dictWord{141, 0, 497},
- dictWord{133, 0, 377},
- dictWord{4, 11, 122},
- dictWord{5, 11, 796},
- dictWord{
- 5,
- 11,
- 952,
- },
- dictWord{6, 11, 1660},
- dictWord{6, 11, 1671},
- dictWord{8, 11, 567},
- dictWord{9, 11, 687},
- dictWord{9, 11, 742},
- dictWord{10, 11, 686},
- dictWord{
- 11,
- 11,
- 356,
- },
- dictWord{11, 11, 682},
- dictWord{140, 11, 281},
- dictWord{145, 0, 101},
- dictWord{11, 11, 0},
- dictWord{144, 11, 78},
- dictWord{5, 11, 179},
- dictWord{
- 5,
- 10,
- 791,
- },
- dictWord{7, 11, 1095},
- dictWord{135, 11, 1213},
- dictWord{8, 11, 372},
- dictWord{9, 11, 122},
- dictWord{138, 11, 175},
- dictWord{7, 10, 686},
- dictWord{8, 10, 33},
- dictWord{8, 10, 238},
- dictWord{10, 10, 616},
- dictWord{11, 10, 467},
- dictWord{11, 10, 881},
- dictWord{13, 10, 217},
- dictWord{13, 10, 253},
- dictWord{142, 10, 268},
- dictWord{9, 0, 476},
- dictWord{4, 11, 66},
- dictWord{7, 11, 722},
- dictWord{135, 11, 904},
- dictWord{7, 11, 352},
- dictWord{137, 11, 684},
- dictWord{135, 0, 2023},
- dictWord{135, 0, 1836},
- dictWord{132, 10, 447},
- dictWord{5, 0, 843},
- dictWord{144, 0, 35},
- dictWord{137, 11, 779},
- dictWord{
- 141,
- 11,
- 35,
- },
- dictWord{4, 10, 128},
- dictWord{5, 10, 415},
- dictWord{6, 10, 462},
- dictWord{7, 10, 294},
- dictWord{7, 10, 578},
- dictWord{10, 10, 710},
- dictWord{
- 139,
- 10,
- 86,
- },
- dictWord{132, 0, 554},
- dictWord{133, 0, 536},
- dictWord{136, 10, 587},
- dictWord{5, 0, 207},
- dictWord{9, 0, 79},
- dictWord{11, 0, 625},
- dictWord{
- 145,
- 0,
- 7,
- },
- dictWord{7, 0, 1371},
- dictWord{6, 10, 427},
- dictWord{138, 10, 692},
- dictWord{4, 0, 424},
- dictWord{4, 10, 195},
- dictWord{135, 10, 802},
- dictWord{
- 8,
- 0,
- 785,
- },
- dictWord{133, 11, 564},
- dictWord{135, 0, 336},
- dictWord{4, 0, 896},
- dictWord{6, 0, 1777},
- dictWord{134, 11, 556},
- dictWord{137, 11, 103},
- dictWord{134, 10, 1683},
- dictWord{7, 11, 544},
- dictWord{8, 11, 719},
- dictWord{138, 11, 61},
- dictWord{138, 10, 472},
- dictWord{4, 11, 5},
- dictWord{5, 11, 498},
- dictWord{136, 11, 637},
- dictWord{7, 0, 750},
- dictWord{9, 0, 223},
- dictWord{11, 0, 27},
- dictWord{11, 0, 466},
- dictWord{12, 0, 624},
- dictWord{14, 0, 265},
- dictWord{
- 146,
- 0,
- 61,
- },
- dictWord{12, 0, 238},
- dictWord{18, 0, 155},
- dictWord{12, 11, 238},
- dictWord{146, 11, 155},
- dictWord{151, 10, 28},
- dictWord{133, 11, 927},
- dictWord{12, 0, 383},
- dictWord{5, 10, 3},
- dictWord{8, 10, 578},
- dictWord{9, 10, 118},
- dictWord{10, 10, 705},
- dictWord{141, 10, 279},
- dictWord{4, 11, 893},
- dictWord{
- 5,
- 11,
- 780,
- },
- dictWord{133, 11, 893},
- dictWord{4, 0, 603},
- dictWord{133, 0, 661},
- dictWord{4, 0, 11},
- dictWord{6, 0, 128},
- dictWord{7, 0, 231},
- dictWord{
- 7,
- 0,
- 1533,
- },
- dictWord{10, 0, 725},
- dictWord{5, 10, 229},
- dictWord{5, 11, 238},
- dictWord{135, 11, 1350},
- dictWord{8, 10, 102},
- dictWord{10, 10, 578},
- dictWord{
- 10,
- 10,
- 672,
- },
- dictWord{12, 10, 496},
- dictWord{13, 10, 408},
- dictWord{14, 10, 121},
- dictWord{145, 10, 106},
- dictWord{132, 0, 476},
- dictWord{134, 0, 1552},
- dictWord{134, 11, 1729},
- dictWord{8, 10, 115},
- dictWord{8, 10, 350},
- dictWord{9, 10, 489},
- dictWord{10, 10, 128},
- dictWord{11, 10, 306},
- dictWord{
- 12,
- 10,
- 373,
- },
- dictWord{14, 10, 30},
- dictWord{17, 10, 79},
- dictWord{19, 10, 80},
- dictWord{150, 10, 55},
- dictWord{135, 0, 1807},
- dictWord{4, 0, 680},
- dictWord{
- 4,
- 11,
- 60,
- },
- dictWord{7, 11, 760},
- dictWord{7, 11, 1800},
- dictWord{8, 11, 314},
- dictWord{9, 11, 700},
- dictWord{139, 11, 487},
- dictWord{4, 10, 230},
- dictWord{
- 5,
- 10,
- 702,
- },
- dictWord{148, 11, 94},
- dictWord{132, 11, 228},
- dictWord{139, 0, 435},
- dictWord{9, 0, 20},
- dictWord{10, 0, 324},
- dictWord{10, 0, 807},
- dictWord{
- 139,
- 0,
- 488,
- },
- dictWord{6, 10, 1728},
- dictWord{136, 11, 419},
- dictWord{4, 10, 484},
- dictWord{18, 10, 26},
- dictWord{19, 10, 42},
- dictWord{20, 10, 43},
- dictWord{
- 21,
- 10,
- 0,
- },
- dictWord{23, 10, 27},
- dictWord{152, 10, 14},
- dictWord{135, 0, 1431},
- dictWord{133, 11, 828},
- dictWord{5, 0, 112},
- dictWord{6, 0, 103},
- dictWord{
- 6,
- 0,
- 150,
- },
- dictWord{7, 0, 1303},
- dictWord{9, 0, 292},
- dictWord{10, 0, 481},
- dictWord{20, 0, 13},
- dictWord{7, 11, 176},
- dictWord{7, 11, 178},
- dictWord{7, 11, 1110},
- dictWord{10, 11, 481},
- dictWord{148, 11, 13},
- dictWord{138, 0, 356},
- dictWord{4, 11, 51},
- dictWord{5, 11, 39},
- dictWord{6, 11, 4},
- dictWord{7, 11, 591},
- dictWord{
- 7,
- 11,
- 849,
- },
- dictWord{7, 11, 951},
- dictWord{7, 11, 1129},
- dictWord{7, 11, 1613},
- dictWord{7, 11, 1760},
- dictWord{7, 11, 1988},
- dictWord{9, 11, 434},
- dictWord{10, 11, 754},
- dictWord{11, 11, 25},
- dictWord{11, 11, 37},
- dictWord{139, 11, 414},
- dictWord{6, 0, 1963},
- dictWord{134, 0, 2000},
- dictWord{
- 132,
- 10,
- 633,
- },
- dictWord{6, 0, 1244},
- dictWord{133, 11, 902},
- dictWord{135, 11, 928},
- dictWord{140, 0, 18},
- dictWord{138, 0, 204},
- dictWord{135, 11, 1173},
- dictWord{134, 0, 867},
- dictWord{4, 0, 708},
- dictWord{8, 0, 15},
- dictWord{9, 0, 50},
- dictWord{9, 0, 386},
- dictWord{11, 0, 18},
- dictWord{11, 0, 529},
- dictWord{140, 0, 228},
- dictWord{134, 11, 270},
- dictWord{4, 0, 563},
- dictWord{7, 0, 109},
- dictWord{7, 0, 592},
- dictWord{7, 0, 637},
- dictWord{7, 0, 770},
- dictWord{8, 0, 463},
- dictWord{
- 9,
- 0,
- 60,
- },
- dictWord{9, 0, 335},
- dictWord{9, 0, 904},
- dictWord{10, 0, 73},
- dictWord{11, 0, 434},
- dictWord{12, 0, 585},
- dictWord{13, 0, 331},
- dictWord{18, 0, 110},
- dictWord{148, 0, 60},
- dictWord{132, 0, 502},
- dictWord{14, 11, 359},
- dictWord{19, 11, 52},
- dictWord{148, 11, 47},
- dictWord{6, 11, 377},
- dictWord{7, 11, 1025},
- dictWord{9, 11, 613},
- dictWord{145, 11, 104},
- dictWord{6, 0, 347},
- dictWord{10, 0, 161},
- dictWord{5, 10, 70},
- dictWord{5, 10, 622},
- dictWord{6, 10, 334},
- dictWord{
- 7,
- 10,
- 1032,
- },
- dictWord{9, 10, 171},
- dictWord{11, 10, 26},
- dictWord{11, 10, 213},
- dictWord{11, 10, 637},
- dictWord{11, 10, 707},
- dictWord{12, 10, 202},
- dictWord{12, 10, 380},
- dictWord{13, 10, 226},
- dictWord{13, 10, 355},
- dictWord{14, 10, 222},
- dictWord{145, 10, 42},
- dictWord{132, 11, 416},
- dictWord{4, 0, 33},
- dictWord{5, 0, 102},
- dictWord{6, 0, 284},
- dictWord{7, 0, 1079},
- dictWord{7, 0, 1423},
- dictWord{7, 0, 1702},
- dictWord{8, 0, 470},
- dictWord{9, 0, 554},
- dictWord{
- 9,
- 0,
- 723,
- },
- dictWord{11, 0, 333},
- dictWord{142, 11, 372},
- dictWord{5, 11, 152},
- dictWord{5, 11, 197},
- dictWord{7, 11, 340},
- dictWord{7, 11, 867},
- dictWord{
- 10,
- 11,
- 548,
- },
- dictWord{10, 11, 581},
- dictWord{11, 11, 6},
- dictWord{12, 11, 3},
- dictWord{12, 11, 19},
- dictWord{14, 11, 110},
- dictWord{142, 11, 289},
- dictWord{
- 7,
- 0,
- 246,
- },
- dictWord{135, 0, 840},
- dictWord{6, 0, 10},
- dictWord{8, 0, 571},
- dictWord{9, 0, 739},
- dictWord{143, 0, 91},
- dictWord{6, 0, 465},
- dictWord{7, 0, 1465},
- dictWord{
- 4,
- 10,
- 23,
- },
- dictWord{4, 10, 141},
- dictWord{5, 10, 313},
- dictWord{5, 10, 1014},
- dictWord{6, 10, 50},
- dictWord{7, 10, 142},
- dictWord{7, 10, 559},
- dictWord{
- 8,
- 10,
- 640,
- },
- dictWord{9, 10, 460},
- dictWord{9, 10, 783},
- dictWord{11, 10, 741},
- dictWord{12, 10, 183},
- dictWord{141, 10, 488},
- dictWord{133, 0, 626},
- dictWord{
- 136,
- 0,
- 614,
- },
- dictWord{138, 0, 237},
- dictWord{7, 11, 34},
- dictWord{7, 11, 190},
- dictWord{8, 11, 28},
- dictWord{8, 11, 141},
- dictWord{8, 11, 444},
- dictWord{
- 8,
- 11,
- 811,
- },
- dictWord{9, 11, 468},
- dictWord{11, 11, 334},
- dictWord{12, 11, 24},
- dictWord{12, 11, 386},
- dictWord{140, 11, 576},
- dictWord{133, 11, 757},
- dictWord{
- 5,
- 0,
- 18,
- },
- dictWord{6, 0, 526},
- dictWord{13, 0, 24},
- dictWord{13, 0, 110},
- dictWord{19, 0, 5},
- dictWord{147, 0, 44},
- dictWord{6, 0, 506},
- dictWord{134, 11, 506},
- dictWord{135, 11, 1553},
- dictWord{4, 0, 309},
- dictWord{5, 0, 462},
- dictWord{7, 0, 970},
- dictWord{7, 0, 1097},
- dictWord{22, 0, 30},
- dictWord{22, 0, 33},
- dictWord{
- 7,
- 11,
- 1385,
- },
- dictWord{11, 11, 582},
- dictWord{11, 11, 650},
- dictWord{11, 11, 901},
- dictWord{11, 11, 949},
- dictWord{12, 11, 232},
- dictWord{12, 11, 236},
- dictWord{13, 11, 413},
- dictWord{13, 11, 501},
- dictWord{146, 11, 116},
- dictWord{9, 0, 140},
- dictWord{5, 10, 222},
- dictWord{138, 10, 534},
- dictWord{6, 0, 1056},
- dictWord{137, 10, 906},
- dictWord{134, 0, 1704},
- dictWord{138, 10, 503},
- dictWord{134, 0, 1036},
- dictWord{5, 10, 154},
- dictWord{7, 10, 1491},
- dictWord{
- 10,
- 10,
- 379,
- },
- dictWord{138, 10, 485},
- dictWord{4, 11, 383},
- dictWord{133, 10, 716},
- dictWord{134, 0, 1315},
- dictWord{5, 0, 86},
- dictWord{7, 0, 743},
- dictWord{
- 9,
- 0,
- 85,
- },
- dictWord{10, 0, 281},
- dictWord{10, 0, 432},
- dictWord{11, 0, 825},
- dictWord{12, 0, 251},
- dictWord{13, 0, 118},
- dictWord{142, 0, 378},
- dictWord{
- 8,
- 0,
- 264,
- },
- dictWord{4, 10, 91},
- dictWord{5, 10, 388},
- dictWord{5, 10, 845},
- dictWord{6, 10, 206},
- dictWord{6, 10, 252},
- dictWord{6, 10, 365},
- dictWord{7, 10, 136},
- dictWord{7, 10, 531},
- dictWord{136, 10, 621},
- dictWord{5, 0, 524},
- dictWord{133, 0, 744},
- dictWord{5, 11, 277},
- dictWord{141, 11, 247},
- dictWord{
- 132,
- 11,
- 435,
- },
- dictWord{10, 0, 107},
- dictWord{140, 0, 436},
- dictWord{132, 0, 927},
- dictWord{10, 0, 123},
- dictWord{12, 0, 670},
- dictWord{146, 0, 94},
- dictWord{
- 7,
- 0,
- 1149,
- },
- dictWord{9, 0, 156},
- dictWord{138, 0, 957},
- dictWord{5, 11, 265},
- dictWord{6, 11, 212},
- dictWord{135, 11, 28},
- dictWord{133, 0, 778},
- dictWord{
- 133,
- 0,
- 502,
- },
- dictWord{8, 0, 196},
- dictWord{10, 0, 283},
- dictWord{139, 0, 406},
- dictWord{135, 10, 576},
- dictWord{136, 11, 535},
- dictWord{134, 0, 1312},
- dictWord{
- 5,
- 10,
- 771,
- },
- dictWord{5, 10, 863},
- dictWord{5, 10, 898},
- dictWord{6, 10, 1632},
- dictWord{6, 10, 1644},
- dictWord{134, 10, 1780},
- dictWord{5, 0, 855},
- dictWord{5, 10, 331},
- dictWord{135, 11, 1487},
- dictWord{132, 11, 702},
- dictWord{5, 11, 808},
- dictWord{135, 11, 2045},
- dictWord{7, 0, 1400},
- dictWord{
- 9,
- 0,
- 446,
- },
- dictWord{138, 0, 45},
- dictWord{140, 10, 632},
- dictWord{132, 0, 1003},
- dictWord{5, 11, 166},
- dictWord{8, 11, 739},
- dictWord{140, 11, 511},
- dictWord{
- 5,
- 10,
- 107,
- },
- dictWord{7, 10, 201},
- dictWord{136, 10, 518},
- dictWord{6, 10, 446},
- dictWord{135, 10, 1817},
- dictWord{134, 0, 1532},
- dictWord{
- 134,
- 0,
- 1097,
- },
- dictWord{4, 11, 119},
- dictWord{5, 11, 170},
- dictWord{5, 11, 447},
- dictWord{7, 11, 1708},
- dictWord{7, 11, 1889},
- dictWord{9, 11, 357},
- dictWord{
- 9,
- 11,
- 719,
- },
- dictWord{12, 11, 486},
- dictWord{140, 11, 596},
- dictWord{9, 10, 851},
- dictWord{141, 10, 510},
- dictWord{7, 0, 612},
- dictWord{8, 0, 545},
- dictWord{
- 8,
- 0,
- 568,
- },
- dictWord{8, 0, 642},
- dictWord{9, 0, 717},
- dictWord{10, 0, 541},
- dictWord{10, 0, 763},
- dictWord{11, 0, 449},
- dictWord{12, 0, 489},
- dictWord{13, 0, 153},
- dictWord{13, 0, 296},
- dictWord{14, 0, 138},
- dictWord{14, 0, 392},
- dictWord{15, 0, 50},
- dictWord{16, 0, 6},
- dictWord{16, 0, 12},
- dictWord{20, 0, 9},
- dictWord{
- 132,
- 10,
- 504,
- },
- dictWord{4, 11, 450},
- dictWord{135, 11, 1158},
- dictWord{11, 0, 54},
- dictWord{13, 0, 173},
- dictWord{13, 0, 294},
- dictWord{5, 10, 883},
- dictWord{
- 5,
- 10,
- 975,
- },
- dictWord{8, 10, 392},
- dictWord{148, 10, 7},
- dictWord{13, 0, 455},
- dictWord{15, 0, 99},
- dictWord{15, 0, 129},
- dictWord{144, 0, 68},
- dictWord{135, 0, 172},
- dictWord{132, 11, 754},
- dictWord{5, 10, 922},
- dictWord{134, 10, 1707},
- dictWord{134, 0, 1029},
- dictWord{17, 11, 39},
- dictWord{148, 11, 36},
- dictWord{
- 4,
- 0,
- 568,
- },
- dictWord{5, 10, 993},
- dictWord{7, 10, 515},
- dictWord{137, 10, 91},
- dictWord{132, 0, 732},
- dictWord{10, 0, 617},
- dictWord{138, 11, 617},
- dictWord{
- 134,
- 0,
- 974,
- },
- dictWord{7, 0, 989},
- dictWord{10, 0, 377},
- dictWord{12, 0, 363},
- dictWord{13, 0, 68},
- dictWord{13, 0, 94},
- dictWord{14, 0, 108},
- dictWord{
- 142,
- 0,
- 306,
- },
- dictWord{136, 0, 733},
- dictWord{132, 0, 428},
- dictWord{7, 0, 1789},
- dictWord{135, 11, 1062},
- dictWord{7, 0, 2015},
- dictWord{140, 0, 665},
- dictWord{135, 10, 1433},
- dictWord{5, 0, 287},
- dictWord{7, 10, 921},
- dictWord{8, 10, 580},
- dictWord{8, 10, 593},
- dictWord{8, 10, 630},
- dictWord{138, 10, 28},
- dictWord{138, 0, 806},
- dictWord{4, 10, 911},
- dictWord{5, 10, 867},
- dictWord{5, 10, 1013},
- dictWord{7, 10, 2034},
- dictWord{8, 10, 798},
- dictWord{136, 10, 813},
- dictWord{134, 0, 1539},
- dictWord{8, 11, 523},
- dictWord{150, 11, 34},
- dictWord{135, 11, 740},
- dictWord{7, 11, 238},
- dictWord{7, 11, 2033},
- dictWord{
- 8,
- 11,
- 120,
- },
- dictWord{8, 11, 188},
- dictWord{8, 11, 659},
- dictWord{9, 11, 598},
- dictWord{10, 11, 466},
- dictWord{12, 11, 342},
- dictWord{12, 11, 588},
- dictWord{
- 13,
- 11,
- 503,
- },
- dictWord{14, 11, 246},
- dictWord{143, 11, 92},
- dictWord{7, 0, 1563},
- dictWord{141, 0, 182},
- dictWord{5, 10, 135},
- dictWord{6, 10, 519},
- dictWord{
- 7,
- 10,
- 1722,
- },
- dictWord{10, 10, 271},
- dictWord{11, 10, 261},
- dictWord{145, 10, 54},
- dictWord{14, 10, 338},
- dictWord{148, 10, 81},
- dictWord{7, 0, 484},
- dictWord{
- 4,
- 10,
- 300,
- },
- dictWord{133, 10, 436},
- dictWord{145, 11, 114},
- dictWord{6, 0, 1623},
- dictWord{134, 0, 1681},
- dictWord{133, 11, 640},
- dictWord{4, 11, 201},
- dictWord{7, 11, 1744},
- dictWord{8, 11, 602},
- dictWord{11, 11, 247},
- dictWord{11, 11, 826},
- dictWord{145, 11, 65},
- dictWord{8, 11, 164},
- dictWord{
- 146,
- 11,
- 62,
- },
- dictWord{6, 0, 1833},
- dictWord{6, 0, 1861},
- dictWord{136, 0, 878},
- dictWord{134, 0, 1569},
- dictWord{8, 10, 357},
- dictWord{10, 10, 745},
- dictWord{
- 14,
- 10,
- 426,
- },
- dictWord{17, 10, 94},
- dictWord{147, 10, 57},
- dictWord{12, 0, 93},
- dictWord{12, 0, 501},
- dictWord{13, 0, 362},
- dictWord{14, 0, 151},
- dictWord{15, 0, 40},
- dictWord{15, 0, 59},
- dictWord{16, 0, 46},
- dictWord{17, 0, 25},
- dictWord{18, 0, 14},
- dictWord{18, 0, 134},
- dictWord{19, 0, 25},
- dictWord{19, 0, 69},
- dictWord{
- 20,
- 0,
- 16,
- },
- dictWord{20, 0, 19},
- dictWord{20, 0, 66},
- dictWord{21, 0, 23},
- dictWord{21, 0, 25},
- dictWord{150, 0, 42},
- dictWord{6, 0, 1748},
- dictWord{8, 0, 715},
- dictWord{
- 9,
- 0,
- 802,
- },
- dictWord{10, 0, 46},
- dictWord{10, 0, 819},
- dictWord{13, 0, 308},
- dictWord{14, 0, 351},
- dictWord{14, 0, 363},
- dictWord{146, 0, 67},
- dictWord{
- 132,
- 0,
- 994,
- },
- dictWord{4, 0, 63},
- dictWord{133, 0, 347},
- dictWord{132, 0, 591},
- dictWord{133, 0, 749},
- dictWord{7, 11, 1577},
- dictWord{10, 11, 304},
- dictWord{
- 10,
- 11,
- 549,
- },
- dictWord{11, 11, 424},
- dictWord{12, 11, 365},
- dictWord{13, 11, 220},
- dictWord{13, 11, 240},
- dictWord{142, 11, 33},
- dictWord{133, 0, 366},
- dictWord{
- 7,
- 0,
- 557,
- },
- dictWord{12, 0, 547},
- dictWord{14, 0, 86},
- dictWord{133, 10, 387},
- dictWord{135, 0, 1747},
- dictWord{132, 11, 907},
- dictWord{5, 11, 100},
- dictWord{10, 11, 329},
- dictWord{12, 11, 416},
- dictWord{149, 11, 29},
- dictWord{4, 10, 6},
- dictWord{5, 10, 708},
- dictWord{136, 10, 75},
- dictWord{7, 10, 1351},
- dictWord{9, 10, 581},
- dictWord{10, 10, 639},
- dictWord{11, 10, 453},
- dictWord{140, 10, 584},
- dictWord{7, 0, 89},
- dictWord{132, 10, 303},
- dictWord{138, 10, 772},
- dictWord{132, 11, 176},
- dictWord{5, 11, 636},
- dictWord{5, 11, 998},
- dictWord{8, 11, 26},
- dictWord{137, 11, 358},
- dictWord{7, 11, 9},
- dictWord{7, 11, 1508},
- dictWord{9, 11, 317},
- dictWord{10, 11, 210},
- dictWord{10, 11, 292},
- dictWord{10, 11, 533},
- dictWord{11, 11, 555},
- dictWord{12, 11, 526},
- dictWord{
- 12,
- 11,
- 607,
- },
- dictWord{13, 11, 263},
- dictWord{13, 11, 459},
- dictWord{142, 11, 271},
- dictWord{134, 0, 1463},
- dictWord{6, 0, 772},
- dictWord{6, 0, 1137},
- dictWord{
- 139,
- 11,
- 595,
- },
- dictWord{7, 0, 977},
- dictWord{139, 11, 66},
- dictWord{138, 0, 893},
- dictWord{20, 0, 48},
- dictWord{148, 11, 48},
- dictWord{5, 0, 824},
- dictWord{
- 133,
- 0,
- 941,
- },
- dictWord{134, 11, 295},
- dictWord{7, 0, 1543},
- dictWord{7, 0, 1785},
- dictWord{10, 0, 690},
- dictWord{4, 10, 106},
- dictWord{139, 10, 717},
- dictWord{
- 7,
- 0,
- 440,
- },
- dictWord{8, 0, 230},
- dictWord{139, 0, 106},
- dictWord{5, 10, 890},
- dictWord{133, 10, 988},
- dictWord{6, 10, 626},
- dictWord{142, 10, 431},
- dictWord{
- 10,
- 11,
- 127,
- },
- dictWord{141, 11, 27},
- dictWord{17, 0, 32},
- dictWord{10, 10, 706},
- dictWord{150, 10, 44},
- dictWord{132, 0, 216},
- dictWord{137, 0, 332},
- dictWord{4, 10, 698},
- dictWord{136, 11, 119},
- dictWord{139, 11, 267},
- dictWord{138, 10, 17},
- dictWord{11, 11, 526},
- dictWord{11, 11, 939},
- dictWord{
- 141,
- 11,
- 290,
- },
- dictWord{7, 11, 1167},
- dictWord{11, 11, 934},
- dictWord{13, 11, 391},
- dictWord{145, 11, 76},
- dictWord{139, 11, 39},
- dictWord{134, 10, 84},
- dictWord{
- 4,
- 0,
- 914,
- },
- dictWord{5, 0, 800},
- dictWord{133, 0, 852},
- dictWord{10, 0, 416},
- dictWord{141, 0, 115},
- dictWord{7, 0, 564},
- dictWord{142, 0, 168},
- dictWord{
- 4,
- 0,
- 918,
- },
- dictWord{133, 0, 876},
- dictWord{134, 0, 1764},
- dictWord{152, 0, 3},
- dictWord{4, 0, 92},
- dictWord{5, 0, 274},
- dictWord{7, 11, 126},
- dictWord{136, 11, 84},
- dictWord{140, 10, 498},
- dictWord{136, 11, 790},
- dictWord{8, 0, 501},
- dictWord{5, 10, 986},
- dictWord{6, 10, 130},
- dictWord{7, 10, 1582},
- dictWord{
- 8,
- 10,
- 458,
- },
- dictWord{10, 10, 101},
- dictWord{10, 10, 318},
- dictWord{138, 10, 823},
- dictWord{6, 11, 64},
- dictWord{12, 11, 377},
- dictWord{141, 11, 309},
- dictWord{
- 5,
- 0,
- 743,
- },
- dictWord{138, 0, 851},
- dictWord{4, 0, 49},
- dictWord{7, 0, 280},
- dictWord{135, 0, 1633},
- dictWord{134, 0, 879},
- dictWord{136, 0, 47},
- dictWord{
- 7,
- 10,
- 1644,
- },
- dictWord{137, 10, 129},
- dictWord{132, 0, 865},
- dictWord{134, 0, 1202},
- dictWord{9, 11, 34},
- dictWord{139, 11, 484},
- dictWord{135, 10, 997},
- dictWord{5, 0, 272},
- dictWord{5, 0, 908},
- dictWord{5, 0, 942},
- dictWord{8, 0, 197},
- dictWord{9, 0, 47},
- dictWord{11, 0, 538},
- dictWord{139, 0, 742},
- dictWord{
- 6,
- 11,
- 1700,
- },
- dictWord{7, 11, 26},
- dictWord{7, 11, 293},
- dictWord{7, 11, 382},
- dictWord{7, 11, 1026},
- dictWord{7, 11, 1087},
- dictWord{7, 11, 2027},
- dictWord{
- 8,
- 11,
- 24,
- },
- dictWord{8, 11, 114},
- dictWord{8, 11, 252},
- dictWord{8, 11, 727},
- dictWord{8, 11, 729},
- dictWord{9, 11, 30},
- dictWord{9, 11, 199},
- dictWord{9, 11, 231},
- dictWord{9, 11, 251},
- dictWord{9, 11, 334},
- dictWord{9, 11, 361},
- dictWord{9, 11, 488},
- dictWord{9, 11, 712},
- dictWord{10, 11, 55},
- dictWord{10, 11, 60},
- dictWord{
- 10,
- 11,
- 232,
- },
- dictWord{10, 11, 332},
- dictWord{10, 11, 384},
- dictWord{10, 11, 396},
- dictWord{10, 11, 504},
- dictWord{10, 11, 542},
- dictWord{10, 11, 652},
- dictWord{11, 11, 20},
- dictWord{11, 11, 48},
- dictWord{11, 11, 207},
- dictWord{11, 11, 291},
- dictWord{11, 11, 298},
- dictWord{11, 11, 342},
- dictWord{
- 11,
- 11,
- 365,
- },
- dictWord{11, 11, 394},
- dictWord{11, 11, 620},
- dictWord{11, 11, 705},
- dictWord{11, 11, 1017},
- dictWord{12, 11, 123},
- dictWord{12, 11, 340},
- dictWord{12, 11, 406},
- dictWord{12, 11, 643},
- dictWord{13, 11, 61},
- dictWord{13, 11, 269},
- dictWord{13, 11, 311},
- dictWord{13, 11, 319},
- dictWord{13, 11, 486},
- dictWord{14, 11, 234},
- dictWord{15, 11, 62},
- dictWord{15, 11, 85},
- dictWord{16, 11, 71},
- dictWord{18, 11, 119},
- dictWord{148, 11, 105},
- dictWord{
- 6,
- 0,
- 1455,
- },
- dictWord{150, 11, 37},
- dictWord{135, 10, 1927},
- dictWord{135, 0, 1911},
- dictWord{137, 0, 891},
- dictWord{7, 10, 1756},
- dictWord{137, 10, 98},
- dictWord{7, 10, 1046},
- dictWord{139, 10, 160},
- dictWord{132, 0, 761},
- dictWord{6, 11, 379},
- dictWord{7, 11, 270},
- dictWord{7, 11, 1116},
- dictWord{
- 8,
- 11,
- 176,
- },
- dictWord{8, 11, 183},
- dictWord{9, 11, 432},
- dictWord{9, 11, 661},
- dictWord{12, 11, 247},
- dictWord{12, 11, 617},
- dictWord{146, 11, 125},
- dictWord{
- 6,
- 10,
- 45,
- },
- dictWord{7, 10, 433},
- dictWord{8, 10, 129},
- dictWord{9, 10, 21},
- dictWord{10, 10, 392},
- dictWord{11, 10, 79},
- dictWord{12, 10, 499},
- dictWord{
- 13,
- 10,
- 199,
- },
- dictWord{141, 10, 451},
- dictWord{4, 0, 407},
- dictWord{5, 11, 792},
- dictWord{133, 11, 900},
- dictWord{132, 0, 560},
- dictWord{135, 0, 183},
- dictWord{
- 13,
- 0,
- 490,
- },
- dictWord{7, 10, 558},
- dictWord{136, 10, 353},
- dictWord{4, 0, 475},
- dictWord{6, 0, 731},
- dictWord{11, 0, 35},
- dictWord{13, 0, 71},
- dictWord{13, 0, 177},
- dictWord{14, 0, 422},
- dictWord{133, 10, 785},
- dictWord{8, 10, 81},
- dictWord{9, 10, 189},
- dictWord{9, 10, 201},
- dictWord{11, 10, 478},
- dictWord{11, 10, 712},
- dictWord{141, 10, 338},
- dictWord{4, 0, 418},
- dictWord{4, 0, 819},
- dictWord{133, 10, 353},
- dictWord{151, 10, 26},
- dictWord{4, 11, 901},
- dictWord{
- 133,
- 11,
- 776,
- },
- dictWord{132, 0, 575},
- dictWord{7, 0, 818},
- dictWord{16, 0, 92},
- dictWord{17, 0, 14},
- dictWord{17, 0, 45},
- dictWord{18, 0, 75},
- dictWord{148, 0, 18},
- dictWord{
- 6,
- 0,
- 222,
- },
- dictWord{7, 0, 636},
- dictWord{7, 0, 1620},
- dictWord{8, 0, 409},
- dictWord{9, 0, 693},
- dictWord{139, 0, 77},
- dictWord{6, 10, 25},
- dictWord{7, 10, 855},
- dictWord{7, 10, 1258},
- dictWord{144, 10, 32},
- dictWord{6, 0, 1880},
- dictWord{6, 0, 1887},
- dictWord{6, 0, 1918},
- dictWord{6, 0, 1924},
- dictWord{9, 0, 967},
- dictWord{9, 0, 995},
- dictWord{9, 0, 1015},
- dictWord{12, 0, 826},
- dictWord{12, 0, 849},
- dictWord{12, 0, 857},
- dictWord{12, 0, 860},
- dictWord{12, 0, 886},
- dictWord{
- 12,
- 0,
- 932,
- },
- dictWord{18, 0, 228},
- dictWord{18, 0, 231},
- dictWord{146, 0, 240},
- dictWord{134, 0, 633},
- dictWord{134, 0, 1308},
- dictWord{4, 11, 37},
- dictWord{
- 5,
- 11,
- 334,
- },
- dictWord{135, 11, 1253},
- dictWord{10, 0, 86},
- dictWord{4, 10, 4},
- dictWord{7, 10, 1118},
- dictWord{7, 10, 1320},
- dictWord{7, 10, 1706},
- dictWord{
- 8,
- 10,
- 277,
- },
- dictWord{9, 10, 622},
- dictWord{11, 10, 724},
- dictWord{12, 10, 350},
- dictWord{12, 10, 397},
- dictWord{13, 10, 28},
- dictWord{13, 10, 159},
- dictWord{
- 15,
- 10,
- 89,
- },
- dictWord{18, 10, 5},
- dictWord{19, 10, 9},
- dictWord{20, 10, 34},
- dictWord{150, 10, 47},
- dictWord{132, 11, 508},
- dictWord{137, 11, 448},
- dictWord{
- 12,
- 11,
- 107,
- },
- dictWord{146, 11, 31},
- dictWord{132, 0, 817},
- dictWord{134, 0, 663},
- dictWord{133, 0, 882},
- dictWord{134, 0, 914},
- dictWord{132, 11, 540},
- dictWord{132, 11, 533},
- dictWord{136, 11, 608},
- dictWord{8, 0, 885},
- dictWord{138, 0, 865},
- dictWord{132, 0, 426},
- dictWord{6, 0, 58},
- dictWord{7, 0, 745},
- dictWord{7, 0, 1969},
- dictWord{8, 0, 399},
- dictWord{8, 0, 675},
- dictWord{9, 0, 479},
- dictWord{9, 0, 731},
- dictWord{10, 0, 330},
- dictWord{10, 0, 593},
- dictWord{
- 10,
- 0,
- 817,
- },
- dictWord{11, 0, 32},
- dictWord{11, 0, 133},
- dictWord{11, 0, 221},
- dictWord{145, 0, 68},
- dictWord{134, 10, 255},
- dictWord{7, 0, 102},
- dictWord{
- 137,
- 0,
- 538,
- },
- dictWord{137, 10, 216},
- dictWord{7, 11, 253},
- dictWord{136, 11, 549},
- dictWord{135, 11, 912},
- dictWord{9, 10, 183},
- dictWord{139, 10, 286},
- dictWord{11, 10, 956},
- dictWord{151, 10, 3},
- dictWord{8, 11, 527},
- dictWord{18, 11, 60},
- dictWord{147, 11, 24},
- dictWord{4, 10, 536},
- dictWord{7, 10, 1141},
- dictWord{10, 10, 723},
- dictWord{139, 10, 371},
- dictWord{133, 11, 920},
- dictWord{7, 0, 876},
- dictWord{135, 10, 285},
- dictWord{135, 10, 560},
- dictWord{
- 132,
- 10,
- 690,
- },
- dictWord{142, 11, 126},
- dictWord{11, 10, 33},
- dictWord{12, 10, 571},
- dictWord{149, 10, 1},
- dictWord{133, 0, 566},
- dictWord{9, 0, 139},
- dictWord{
- 10,
- 0,
- 399,
- },
- dictWord{11, 0, 469},
- dictWord{12, 0, 634},
- dictWord{13, 0, 223},
- dictWord{132, 11, 483},
- dictWord{6, 0, 48},
- dictWord{135, 0, 63},
- dictWord{18, 0, 12},
- dictWord{7, 10, 1862},
- dictWord{12, 10, 491},
- dictWord{12, 10, 520},
- dictWord{13, 10, 383},
- dictWord{142, 10, 244},
- dictWord{135, 11, 1665},
- dictWord{132, 11, 448},
- dictWord{9, 11, 495},
- dictWord{146, 11, 104},
- dictWord{6, 0, 114},
- dictWord{7, 0, 1224},
- dictWord{7, 0, 1556},
- dictWord{136, 0, 3},
- dictWord{
- 4,
- 10,
- 190,
- },
- dictWord{133, 10, 554},
- dictWord{8, 0, 576},
- dictWord{9, 0, 267},
- dictWord{133, 10, 1001},
- dictWord{133, 10, 446},
- dictWord{133, 0, 933},
- dictWord{139, 11, 1009},
- dictWord{8, 11, 653},
- dictWord{13, 11, 93},
- dictWord{147, 11, 14},
- dictWord{6, 0, 692},
- dictWord{6, 0, 821},
- dictWord{134, 0, 1077},
- dictWord{5, 11, 172},
- dictWord{135, 11, 801},
- dictWord{138, 0, 752},
- dictWord{4, 0, 375},
- dictWord{134, 0, 638},
- dictWord{134, 0, 1011},
- dictWord{
- 140,
- 11,
- 540,
- },
- dictWord{9, 0, 96},
- dictWord{133, 11, 260},
- dictWord{139, 11, 587},
- dictWord{135, 10, 1231},
- dictWord{12, 0, 30},
- dictWord{13, 0, 148},
- dictWord{
- 14,
- 0,
- 87,
- },
- dictWord{14, 0, 182},
- dictWord{16, 0, 42},
- dictWord{20, 0, 70},
- dictWord{132, 10, 304},
- dictWord{6, 0, 1398},
- dictWord{7, 0, 56},
- dictWord{7, 0, 1989},
- dictWord{8, 0, 337},
- dictWord{8, 0, 738},
- dictWord{9, 0, 600},
- dictWord{12, 0, 37},
- dictWord{13, 0, 447},
- dictWord{142, 0, 92},
- dictWord{138, 0, 666},
- dictWord{
- 5,
- 0,
- 394,
- },
- dictWord{7, 0, 487},
- dictWord{136, 0, 246},
- dictWord{9, 0, 437},
- dictWord{6, 10, 53},
- dictWord{6, 10, 199},
- dictWord{7, 10, 1408},
- dictWord{8, 10, 32},
- dictWord{8, 10, 93},
- dictWord{10, 10, 397},
- dictWord{10, 10, 629},
- dictWord{11, 10, 593},
- dictWord{11, 10, 763},
- dictWord{13, 10, 326},
- dictWord{145, 10, 35},
- dictWord{134, 10, 105},
- dictWord{9, 0, 320},
- dictWord{10, 0, 506},
- dictWord{138, 10, 794},
- dictWord{7, 11, 57},
- dictWord{8, 11, 167},
- dictWord{8, 11, 375},
- dictWord{9, 11, 82},
- dictWord{9, 11, 561},
- dictWord{10, 11, 620},
- dictWord{10, 11, 770},
- dictWord{11, 10, 704},
- dictWord{141, 10, 396},
- dictWord{6, 0, 1003},
- dictWord{5, 10, 114},
- dictWord{5, 10, 255},
- dictWord{141, 10, 285},
- dictWord{7, 0, 866},
- dictWord{135, 0, 1163},
- dictWord{133, 11, 531},
- dictWord{
- 132,
- 0,
- 328,
- },
- dictWord{7, 10, 2035},
- dictWord{8, 10, 19},
- dictWord{9, 10, 89},
- dictWord{138, 10, 831},
- dictWord{8, 11, 194},
- dictWord{136, 11, 756},
- dictWord{
- 136,
- 0,
- 1000,
- },
- dictWord{5, 11, 453},
- dictWord{134, 11, 441},
- dictWord{4, 0, 101},
- dictWord{5, 0, 833},
- dictWord{7, 0, 1171},
- dictWord{136, 0, 744},
- dictWord{
- 133,
- 0,
- 726,
- },
- dictWord{136, 10, 746},
- dictWord{138, 0, 176},
- dictWord{6, 0, 9},
- dictWord{6, 0, 397},
- dictWord{7, 0, 53},
- dictWord{7, 0, 1742},
- dictWord{10, 0, 632},
- dictWord{11, 0, 828},
- dictWord{140, 0, 146},
- dictWord{135, 11, 22},
- dictWord{145, 11, 64},
- dictWord{132, 0, 839},
- dictWord{11, 0, 417},
- dictWord{12, 0, 223},
- dictWord{140, 0, 265},
- dictWord{4, 11, 102},
- dictWord{7, 11, 815},
- dictWord{7, 11, 1699},
- dictWord{139, 11, 964},
- dictWord{5, 10, 955},
- dictWord{
- 136,
- 10,
- 814,
- },
- dictWord{6, 0, 1931},
- dictWord{6, 0, 2007},
- dictWord{18, 0, 246},
- dictWord{146, 0, 247},
- dictWord{8, 0, 198},
- dictWord{11, 0, 29},
- dictWord{140, 0, 534},
- dictWord{135, 0, 1771},
- dictWord{6, 0, 846},
- dictWord{7, 11, 1010},
- dictWord{11, 11, 733},
- dictWord{11, 11, 759},
- dictWord{12, 11, 563},
- dictWord{
- 13,
- 11,
- 34,
- },
- dictWord{14, 11, 101},
- dictWord{18, 11, 45},
- dictWord{146, 11, 129},
- dictWord{4, 0, 186},
- dictWord{5, 0, 157},
- dictWord{8, 0, 168},
- dictWord{138, 0, 6},
- dictWord{132, 11, 899},
- dictWord{133, 10, 56},
- dictWord{148, 10, 100},
- dictWord{133, 0, 875},
- dictWord{5, 0, 773},
- dictWord{5, 0, 991},
- dictWord{6, 0, 1635},
- dictWord{134, 0, 1788},
- dictWord{6, 0, 1274},
- dictWord{9, 0, 477},
- dictWord{141, 0, 78},
- dictWord{4, 0, 639},
- dictWord{7, 0, 111},
- dictWord{8, 0, 581},
- dictWord{
- 12,
- 0,
- 177,
- },
- dictWord{6, 11, 52},
- dictWord{9, 11, 104},
- dictWord{9, 11, 559},
- dictWord{10, 10, 4},
- dictWord{10, 10, 13},
- dictWord{11, 10, 638},
- dictWord{
- 12,
- 11,
- 308,
- },
- dictWord{19, 11, 87},
- dictWord{148, 10, 57},
- dictWord{132, 11, 604},
- dictWord{4, 11, 301},
- dictWord{133, 10, 738},
- dictWord{133, 10, 758},
- dictWord{134, 0, 1747},
- dictWord{7, 11, 1440},
- dictWord{11, 11, 854},
- dictWord{11, 11, 872},
- dictWord{11, 11, 921},
- dictWord{12, 11, 551},
- dictWord{
- 13,
- 11,
- 472,
- },
- dictWord{142, 11, 367},
- dictWord{7, 0, 1364},
- dictWord{7, 0, 1907},
- dictWord{141, 0, 158},
- dictWord{134, 0, 873},
- dictWord{4, 0, 404},
- dictWord{
- 4,
- 0,
- 659,
- },
- dictWord{7, 0, 552},
- dictWord{135, 0, 675},
- dictWord{135, 10, 1112},
- dictWord{139, 10, 328},
- dictWord{7, 11, 508},
- dictWord{137, 10, 133},
- dictWord{133, 0, 391},
- dictWord{5, 10, 110},
- dictWord{6, 10, 169},
- dictWord{6, 10, 1702},
- dictWord{7, 10, 400},
- dictWord{8, 10, 538},
- dictWord{9, 10, 184},
- dictWord{
- 9,
- 10,
- 524,
- },
- dictWord{140, 10, 218},
- dictWord{6, 11, 310},
- dictWord{7, 11, 1849},
- dictWord{8, 11, 72},
- dictWord{8, 11, 272},
- dictWord{8, 11, 431},
- dictWord{
- 9,
- 11,
- 12,
- },
- dictWord{9, 11, 351},
- dictWord{10, 11, 563},
- dictWord{10, 11, 630},
- dictWord{10, 11, 810},
- dictWord{11, 11, 367},
- dictWord{11, 11, 599},
- dictWord{11, 11, 686},
- dictWord{140, 11, 672},
- dictWord{5, 0, 540},
- dictWord{6, 0, 1697},
- dictWord{136, 0, 668},
- dictWord{132, 0, 883},
- dictWord{134, 0, 78},
- dictWord{12, 0, 628},
- dictWord{18, 0, 79},
- dictWord{6, 10, 133},
- dictWord{9, 10, 353},
- dictWord{139, 10, 993},
- dictWord{6, 11, 181},
- dictWord{7, 11, 537},
- dictWord{
- 8,
- 11,
- 64,
- },
- dictWord{9, 11, 127},
- dictWord{10, 11, 496},
- dictWord{12, 11, 510},
- dictWord{141, 11, 384},
- dictWord{6, 10, 93},
- dictWord{7, 10, 1422},
- dictWord{
- 7,
- 10,
- 1851,
- },
- dictWord{8, 10, 673},
- dictWord{9, 10, 529},
- dictWord{140, 10, 43},
- dictWord{137, 10, 371},
- dictWord{134, 0, 1460},
- dictWord{134, 0, 962},
- dictWord{4, 11, 244},
- dictWord{135, 11, 233},
- dictWord{9, 10, 25},
- dictWord{10, 10, 467},
- dictWord{138, 10, 559},
- dictWord{4, 10, 335},
- dictWord{
- 135,
- 10,
- 942,
- },
- dictWord{133, 0, 460},
- dictWord{135, 11, 334},
- dictWord{134, 11, 1650},
- dictWord{4, 0, 199},
- dictWord{139, 0, 34},
- dictWord{5, 10, 601},
- dictWord{
- 8,
- 10,
- 39,
- },
- dictWord{10, 10, 773},
- dictWord{11, 10, 84},
- dictWord{12, 10, 205},
- dictWord{142, 10, 1},
- dictWord{133, 10, 870},
- dictWord{134, 0, 388},
- dictWord{14, 0, 474},
- dictWord{148, 0, 120},
- dictWord{133, 11, 369},
- dictWord{139, 0, 271},
- dictWord{4, 0, 511},
- dictWord{9, 0, 333},
- dictWord{9, 0, 379},
- dictWord{
- 10,
- 0,
- 602,
- },
- dictWord{11, 0, 441},
- dictWord{11, 0, 723},
- dictWord{11, 0, 976},
- dictWord{12, 0, 357},
- dictWord{132, 10, 181},
- dictWord{134, 0, 608},
- dictWord{134, 10, 1652},
- dictWord{22, 0, 49},
- dictWord{137, 11, 338},
- dictWord{140, 0, 988},
- dictWord{134, 0, 617},
- dictWord{5, 0, 938},
- dictWord{136, 0, 707},
- dictWord{132, 10, 97},
- dictWord{5, 10, 147},
- dictWord{6, 10, 286},
- dictWord{7, 10, 1362},
- dictWord{141, 10, 176},
- dictWord{6, 0, 756},
- dictWord{
- 134,
- 0,
- 1149,
- },
- dictWord{133, 11, 896},
- dictWord{6, 10, 375},
- dictWord{7, 10, 169},
- dictWord{7, 10, 254},
- dictWord{136, 10, 780},
- dictWord{134, 0, 1583},
- dictWord{135, 10, 1447},
- dictWord{139, 0, 285},
- dictWord{7, 11, 1117},
- dictWord{8, 11, 393},
- dictWord{136, 11, 539},
- dictWord{135, 0, 344},
- dictWord{
- 6,
- 0,
- 469,
- },
- dictWord{7, 0, 1709},
- dictWord{138, 0, 515},
- dictWord{5, 10, 629},
- dictWord{135, 10, 1549},
- dictWord{5, 11, 4},
- dictWord{5, 11, 810},
- dictWord{
- 6,
- 11,
- 13,
- },
- dictWord{6, 11, 538},
- dictWord{6, 11, 1690},
- dictWord{6, 11, 1726},
- dictWord{7, 11, 499},
- dictWord{7, 11, 1819},
- dictWord{8, 11, 148},
- dictWord{
- 8,
- 11,
- 696,
- },
- dictWord{8, 11, 791},
- dictWord{12, 11, 125},
- dictWord{13, 11, 54},
- dictWord{143, 11, 9},
- dictWord{135, 11, 1268},
- dictWord{137, 0, 404},
- dictWord{
- 132,
- 0,
- 500,
- },
- dictWord{5, 0, 68},
- dictWord{134, 0, 383},
- dictWord{11, 0, 216},
- dictWord{139, 0, 340},
- dictWord{4, 11, 925},
- dictWord{5, 11, 803},
- dictWord{
- 8,
- 11,
- 698,
- },
- dictWord{138, 11, 828},
- dictWord{4, 0, 337},
- dictWord{6, 0, 353},
- dictWord{7, 0, 1934},
- dictWord{8, 0, 488},
- dictWord{137, 0, 429},
- dictWord{7, 0, 236},
- dictWord{7, 0, 1795},
- dictWord{8, 0, 259},
- dictWord{9, 0, 135},
- dictWord{9, 0, 177},
- dictWord{9, 0, 860},
- dictWord{10, 0, 825},
- dictWord{11, 0, 115},
- dictWord{
- 11,
- 0,
- 370,
- },
- dictWord{11, 0, 405},
- dictWord{11, 0, 604},
- dictWord{12, 0, 10},
- dictWord{12, 0, 667},
- dictWord{12, 0, 669},
- dictWord{13, 0, 76},
- dictWord{14, 0, 310},
- dictWord{15, 0, 76},
- dictWord{15, 0, 147},
- dictWord{148, 0, 23},
- dictWord{4, 0, 15},
- dictWord{4, 0, 490},
- dictWord{5, 0, 22},
- dictWord{6, 0, 244},
- dictWord{7, 0, 40},
- dictWord{7, 0, 200},
- dictWord{7, 0, 906},
- dictWord{7, 0, 1199},
- dictWord{9, 0, 616},
- dictWord{10, 0, 716},
- dictWord{11, 0, 635},
- dictWord{11, 0, 801},
- dictWord{
- 140,
- 0,
- 458,
- },
- dictWord{12, 0, 756},
- dictWord{132, 10, 420},
- dictWord{134, 0, 1504},
- dictWord{6, 0, 757},
- dictWord{133, 11, 383},
- dictWord{6, 0, 1266},
- dictWord{
- 135,
- 0,
- 1735,
- },
- dictWord{5, 0, 598},
- dictWord{7, 0, 791},
- dictWord{8, 0, 108},
- dictWord{9, 0, 123},
- dictWord{7, 10, 1570},
- dictWord{140, 10, 542},
- dictWord{
- 142,
- 11,
- 410,
- },
- dictWord{9, 11, 660},
- dictWord{138, 11, 347},
-}
diff --git a/vendor/github.com/andybalholm/brotli/symbol_list.go b/vendor/github.com/andybalholm/brotli/symbol_list.go
deleted file mode 100644
index c5cb49e5..00000000
--- a/vendor/github.com/andybalholm/brotli/symbol_list.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Utilities for building Huffman decoding tables. */
-
-type symbolList struct {
- storage []uint16
- offset int
-}
-
-func symbolListGet(sl symbolList, i int) uint16 {
- return sl.storage[i+sl.offset]
-}
-
-func symbolListPut(sl symbolList, i int, val uint16) {
- sl.storage[i+sl.offset] = val
-}
diff --git a/vendor/github.com/andybalholm/brotli/transform.go b/vendor/github.com/andybalholm/brotli/transform.go
deleted file mode 100644
index d2c043a6..00000000
--- a/vendor/github.com/andybalholm/brotli/transform.go
+++ /dev/null
@@ -1,641 +0,0 @@
-package brotli
-
-const (
- transformIdentity = 0
- transformOmitLast1 = 1
- transformOmitLast2 = 2
- transformOmitLast3 = 3
- transformOmitLast4 = 4
- transformOmitLast5 = 5
- transformOmitLast6 = 6
- transformOmitLast7 = 7
- transformOmitLast8 = 8
- transformOmitLast9 = 9
- transformUppercaseFirst = 10
- transformUppercaseAll = 11
- transformOmitFirst1 = 12
- transformOmitFirst2 = 13
- transformOmitFirst3 = 14
- transformOmitFirst4 = 15
- transformOmitFirst5 = 16
- transformOmitFirst6 = 17
- transformOmitFirst7 = 18
- transformOmitFirst8 = 19
- transformOmitFirst9 = 20
- transformShiftFirst = 21
- transformShiftAll = 22 + iota - 22
- numTransformTypes
-)
-
-const transformsMaxCutOff = transformOmitLast9
-
-type transforms struct {
- prefix_suffix_size uint16
- prefix_suffix []byte
- prefix_suffix_map []uint16
- num_transforms uint32
- transforms []byte
- params []byte
- cutOffTransforms [transformsMaxCutOff + 1]int16
-}
-
-func transformPrefixId(t *transforms, I int) byte {
- return t.transforms[(I*3)+0]
-}
-
-func transformType(t *transforms, I int) byte {
- return t.transforms[(I*3)+1]
-}
-
-func transformSuffixId(t *transforms, I int) byte {
- return t.transforms[(I*3)+2]
-}
-
-func transformPrefix(t *transforms, I int) []byte {
- return t.prefix_suffix[t.prefix_suffix_map[transformPrefixId(t, I)]:]
-}
-
-func transformSuffix(t *transforms, I int) []byte {
- return t.prefix_suffix[t.prefix_suffix_map[transformSuffixId(t, I)]:]
-}
-
-/* RFC 7932 transforms string data */
-const kPrefixSuffix string = "\001 \002, \010 of the \004 of \002s \001.\005 and \004 " + "in \001\"\004 to \002\">\001\n\002. \001]\005 for \003 a \006 " + "that \001'\006 with \006 from \004 by \001(\006. T" + "he \004 on \004 as \004 is \004ing \002\n\t\001:\003ed " + "\002=\"\004 at \003ly \001,\002='\005.com/\007. This \005" + " not \003er \003al \004ful \004ive \005less \004es" + "t \004ize \002\xc2\xa0\004ous \005 the \002e \000"
-
-var kPrefixSuffixMap = [50]uint16{
- 0x00,
- 0x02,
- 0x05,
- 0x0E,
- 0x13,
- 0x16,
- 0x18,
- 0x1E,
- 0x23,
- 0x25,
- 0x2A,
- 0x2D,
- 0x2F,
- 0x32,
- 0x34,
- 0x3A,
- 0x3E,
- 0x45,
- 0x47,
- 0x4E,
- 0x55,
- 0x5A,
- 0x5C,
- 0x63,
- 0x68,
- 0x6D,
- 0x72,
- 0x77,
- 0x7A,
- 0x7C,
- 0x80,
- 0x83,
- 0x88,
- 0x8C,
- 0x8E,
- 0x91,
- 0x97,
- 0x9F,
- 0xA5,
- 0xA9,
- 0xAD,
- 0xB2,
- 0xB7,
- 0xBD,
- 0xC2,
- 0xC7,
- 0xCA,
- 0xCF,
- 0xD5,
- 0xD8,
-}
-
-/* RFC 7932 transforms */
-var kTransformsData = []byte{
- 49,
- transformIdentity,
- 49,
- 49,
- transformIdentity,
- 0,
- 0,
- transformIdentity,
- 0,
- 49,
- transformOmitFirst1,
- 49,
- 49,
- transformUppercaseFirst,
- 0,
- 49,
- transformIdentity,
- 47,
- 0,
- transformIdentity,
- 49,
- 4,
- transformIdentity,
- 0,
- 49,
- transformIdentity,
- 3,
- 49,
- transformUppercaseFirst,
- 49,
- 49,
- transformIdentity,
- 6,
- 49,
- transformOmitFirst2,
- 49,
- 49,
- transformOmitLast1,
- 49,
- 1,
- transformIdentity,
- 0,
- 49,
- transformIdentity,
- 1,
- 0,
- transformUppercaseFirst,
- 0,
- 49,
- transformIdentity,
- 7,
- 49,
- transformIdentity,
- 9,
- 48,
- transformIdentity,
- 0,
- 49,
- transformIdentity,
- 8,
- 49,
- transformIdentity,
- 5,
- 49,
- transformIdentity,
- 10,
- 49,
- transformIdentity,
- 11,
- 49,
- transformOmitLast3,
- 49,
- 49,
- transformIdentity,
- 13,
- 49,
- transformIdentity,
- 14,
- 49,
- transformOmitFirst3,
- 49,
- 49,
- transformOmitLast2,
- 49,
- 49,
- transformIdentity,
- 15,
- 49,
- transformIdentity,
- 16,
- 0,
- transformUppercaseFirst,
- 49,
- 49,
- transformIdentity,
- 12,
- 5,
- transformIdentity,
- 49,
- 0,
- transformIdentity,
- 1,
- 49,
- transformOmitFirst4,
- 49,
- 49,
- transformIdentity,
- 18,
- 49,
- transformIdentity,
- 17,
- 49,
- transformIdentity,
- 19,
- 49,
- transformIdentity,
- 20,
- 49,
- transformOmitFirst5,
- 49,
- 49,
- transformOmitFirst6,
- 49,
- 47,
- transformIdentity,
- 49,
- 49,
- transformOmitLast4,
- 49,
- 49,
- transformIdentity,
- 22,
- 49,
- transformUppercaseAll,
- 49,
- 49,
- transformIdentity,
- 23,
- 49,
- transformIdentity,
- 24,
- 49,
- transformIdentity,
- 25,
- 49,
- transformOmitLast7,
- 49,
- 49,
- transformOmitLast1,
- 26,
- 49,
- transformIdentity,
- 27,
- 49,
- transformIdentity,
- 28,
- 0,
- transformIdentity,
- 12,
- 49,
- transformIdentity,
- 29,
- 49,
- transformOmitFirst9,
- 49,
- 49,
- transformOmitFirst7,
- 49,
- 49,
- transformOmitLast6,
- 49,
- 49,
- transformIdentity,
- 21,
- 49,
- transformUppercaseFirst,
- 1,
- 49,
- transformOmitLast8,
- 49,
- 49,
- transformIdentity,
- 31,
- 49,
- transformIdentity,
- 32,
- 47,
- transformIdentity,
- 3,
- 49,
- transformOmitLast5,
- 49,
- 49,
- transformOmitLast9,
- 49,
- 0,
- transformUppercaseFirst,
- 1,
- 49,
- transformUppercaseFirst,
- 8,
- 5,
- transformIdentity,
- 21,
- 49,
- transformUppercaseAll,
- 0,
- 49,
- transformUppercaseFirst,
- 10,
- 49,
- transformIdentity,
- 30,
- 0,
- transformIdentity,
- 5,
- 35,
- transformIdentity,
- 49,
- 47,
- transformIdentity,
- 2,
- 49,
- transformUppercaseFirst,
- 17,
- 49,
- transformIdentity,
- 36,
- 49,
- transformIdentity,
- 33,
- 5,
- transformIdentity,
- 0,
- 49,
- transformUppercaseFirst,
- 21,
- 49,
- transformUppercaseFirst,
- 5,
- 49,
- transformIdentity,
- 37,
- 0,
- transformIdentity,
- 30,
- 49,
- transformIdentity,
- 38,
- 0,
- transformUppercaseAll,
- 0,
- 49,
- transformIdentity,
- 39,
- 0,
- transformUppercaseAll,
- 49,
- 49,
- transformIdentity,
- 34,
- 49,
- transformUppercaseAll,
- 8,
- 49,
- transformUppercaseFirst,
- 12,
- 0,
- transformIdentity,
- 21,
- 49,
- transformIdentity,
- 40,
- 0,
- transformUppercaseFirst,
- 12,
- 49,
- transformIdentity,
- 41,
- 49,
- transformIdentity,
- 42,
- 49,
- transformUppercaseAll,
- 17,
- 49,
- transformIdentity,
- 43,
- 0,
- transformUppercaseFirst,
- 5,
- 49,
- transformUppercaseAll,
- 10,
- 0,
- transformIdentity,
- 34,
- 49,
- transformUppercaseFirst,
- 33,
- 49,
- transformIdentity,
- 44,
- 49,
- transformUppercaseAll,
- 5,
- 45,
- transformIdentity,
- 49,
- 0,
- transformIdentity,
- 33,
- 49,
- transformUppercaseFirst,
- 30,
- 49,
- transformUppercaseAll,
- 30,
- 49,
- transformIdentity,
- 46,
- 49,
- transformUppercaseAll,
- 1,
- 49,
- transformUppercaseFirst,
- 34,
- 0,
- transformUppercaseFirst,
- 33,
- 0,
- transformUppercaseAll,
- 30,
- 0,
- transformUppercaseAll,
- 1,
- 49,
- transformUppercaseAll,
- 33,
- 49,
- transformUppercaseAll,
- 21,
- 49,
- transformUppercaseAll,
- 12,
- 0,
- transformUppercaseAll,
- 5,
- 49,
- transformUppercaseAll,
- 34,
- 0,
- transformUppercaseAll,
- 12,
- 0,
- transformUppercaseFirst,
- 30,
- 0,
- transformUppercaseAll,
- 34,
- 0,
- transformUppercaseFirst,
- 34,
-}
-
-var kBrotliTransforms = transforms{
- 217,
- []byte(kPrefixSuffix),
- kPrefixSuffixMap[:],
- 121,
- kTransformsData,
- nil, /* no extra parameters */
- [transformsMaxCutOff + 1]int16{0, 12, 27, 23, 42, 63, 56, 48, 59, 64},
-}
-
-func getTransforms() *transforms {
- return &kBrotliTransforms
-}
-
-func toUpperCase(p []byte) int {
- if p[0] < 0xC0 {
- if p[0] >= 'a' && p[0] <= 'z' {
- p[0] ^= 32
- }
-
- return 1
- }
-
- /* An overly simplified uppercasing model for UTF-8. */
- if p[0] < 0xE0 {
- p[1] ^= 32
- return 2
- }
-
- /* An arbitrary transform for three byte characters. */
- p[2] ^= 5
-
- return 3
-}
-
-func shiftTransform(word []byte, word_len int, parameter uint16) int {
- /* Limited sign extension: scalar < (1 << 24). */
- var scalar uint32 = (uint32(parameter) & 0x7FFF) + (0x1000000 - (uint32(parameter) & 0x8000))
- if word[0] < 0x80 {
- /* 1-byte rune / 0sssssss / 7 bit scalar (ASCII). */
- scalar += uint32(word[0])
-
- word[0] = byte(scalar & 0x7F)
- return 1
- } else if word[0] < 0xC0 {
- /* Continuation / 10AAAAAA. */
- return 1
- } else if word[0] < 0xE0 {
- /* 2-byte rune / 110sssss AAssssss / 11 bit scalar. */
- if word_len < 2 {
- return 1
- }
- scalar += uint32(word[1]&0x3F | (word[0]&0x1F)<<6)
- word[0] = byte(0xC0 | (scalar>>6)&0x1F)
- word[1] = byte(uint32(word[1]&0xC0) | scalar&0x3F)
- return 2
- } else if word[0] < 0xF0 {
- /* 3-byte rune / 1110ssss AAssssss BBssssss / 16 bit scalar. */
- if word_len < 3 {
- return word_len
- }
- scalar += uint32(word[2])&0x3F | uint32(word[1]&0x3F)<<6 | uint32(word[0]&0x0F)<<12
- word[0] = byte(0xE0 | (scalar>>12)&0x0F)
- word[1] = byte(uint32(word[1]&0xC0) | (scalar>>6)&0x3F)
- word[2] = byte(uint32(word[2]&0xC0) | scalar&0x3F)
- return 3
- } else if word[0] < 0xF8 {
- /* 4-byte rune / 11110sss AAssssss BBssssss CCssssss / 21 bit scalar. */
- if word_len < 4 {
- return word_len
- }
- scalar += uint32(word[3])&0x3F | uint32(word[2]&0x3F)<<6 | uint32(word[1]&0x3F)<<12 | uint32(word[0]&0x07)<<18
- word[0] = byte(0xF0 | (scalar>>18)&0x07)
- word[1] = byte(uint32(word[1]&0xC0) | (scalar>>12)&0x3F)
- word[2] = byte(uint32(word[2]&0xC0) | (scalar>>6)&0x3F)
- word[3] = byte(uint32(word[3]&0xC0) | scalar&0x3F)
- return 4
- }
-
- return 1
-}
-
-func transformDictionaryWord(dst []byte, word []byte, len int, trans *transforms, transform_idx int) int {
- var idx int = 0
- var prefix []byte = transformPrefix(trans, transform_idx)
- var type_ byte = transformType(trans, transform_idx)
- var suffix []byte = transformSuffix(trans, transform_idx)
- {
- var prefix_len int = int(prefix[0])
- prefix = prefix[1:]
- for {
- tmp1 := prefix_len
- prefix_len--
- if tmp1 == 0 {
- break
- }
- dst[idx] = prefix[0]
- idx++
- prefix = prefix[1:]
- }
- }
- {
- var t int = int(type_)
- var i int = 0
- if t <= transformOmitLast9 {
- len -= t
- } else if t >= transformOmitFirst1 && t <= transformOmitFirst9 {
- var skip int = t - (transformOmitFirst1 - 1)
- word = word[skip:]
- len -= skip
- }
-
- for i < len {
- dst[idx] = word[i]
- idx++
- i++
- }
- if t == transformUppercaseFirst {
- toUpperCase(dst[idx-len:])
- } else if t == transformUppercaseAll {
- var uppercase []byte = dst
- uppercase = uppercase[idx-len:]
- for len > 0 {
- var step int = toUpperCase(uppercase)
- uppercase = uppercase[step:]
- len -= step
- }
- } else if t == transformShiftFirst {
- var param uint16 = uint16(trans.params[transform_idx*2]) + uint16(trans.params[transform_idx*2+1])<<8
- shiftTransform(dst[idx-len:], int(len), param)
- } else if t == transformShiftAll {
- var param uint16 = uint16(trans.params[transform_idx*2]) + uint16(trans.params[transform_idx*2+1])<<8
- var shift []byte = dst
- shift = shift[idx-len:]
- for len > 0 {
- var step int = shiftTransform(shift, int(len), param)
- shift = shift[step:]
- len -= step
- }
- }
- }
- {
- var suffix_len int = int(suffix[0])
- suffix = suffix[1:]
- for {
- tmp2 := suffix_len
- suffix_len--
- if tmp2 == 0 {
- break
- }
- dst[idx] = suffix[0]
- idx++
- suffix = suffix[1:]
- }
- return idx
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/utf8_util.go b/vendor/github.com/andybalholm/brotli/utf8_util.go
deleted file mode 100644
index 3244247e..00000000
--- a/vendor/github.com/andybalholm/brotli/utf8_util.go
+++ /dev/null
@@ -1,70 +0,0 @@
-package brotli
-
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Heuristics for deciding about the UTF8-ness of strings. */
-
-const kMinUTF8Ratio float64 = 0.75
-
-/* Returns 1 if at least min_fraction of the bytes between pos and
- pos + length in the (data, mask) ring-buffer is UTF8-encoded, otherwise
- returns 0. */
-func parseAsUTF8(symbol *int, input []byte, size uint) uint {
- /* ASCII */
- if input[0]&0x80 == 0 {
- *symbol = int(input[0])
- if *symbol > 0 {
- return 1
- }
- }
-
- /* 2-byte UTF8 */
- if size > 1 && input[0]&0xE0 == 0xC0 && input[1]&0xC0 == 0x80 {
- *symbol = (int(input[0])&0x1F)<<6 | int(input[1])&0x3F
- if *symbol > 0x7F {
- return 2
- }
- }
-
- /* 3-byte UFT8 */
- if size > 2 && input[0]&0xF0 == 0xE0 && input[1]&0xC0 == 0x80 && input[2]&0xC0 == 0x80 {
- *symbol = (int(input[0])&0x0F)<<12 | (int(input[1])&0x3F)<<6 | int(input[2])&0x3F
- if *symbol > 0x7FF {
- return 3
- }
- }
-
- /* 4-byte UFT8 */
- if size > 3 && input[0]&0xF8 == 0xF0 && input[1]&0xC0 == 0x80 && input[2]&0xC0 == 0x80 && input[3]&0xC0 == 0x80 {
- *symbol = (int(input[0])&0x07)<<18 | (int(input[1])&0x3F)<<12 | (int(input[2])&0x3F)<<6 | int(input[3])&0x3F
- if *symbol > 0xFFFF && *symbol <= 0x10FFFF {
- return 4
- }
- }
-
- /* Not UTF8, emit a special symbol above the UTF8-code space */
- *symbol = 0x110000 | int(input[0])
-
- return 1
-}
-
-/* Returns 1 if at least min_fraction of the data is UTF8-encoded.*/
-func isMostlyUTF8(data []byte, pos uint, mask uint, length uint, min_fraction float64) bool {
- var size_utf8 uint = 0
- var i uint = 0
- for i < length {
- var symbol int
- current_data := data[(pos+i)&mask:]
- var bytes_read uint = parseAsUTF8(&symbol, current_data, length-i)
- i += bytes_read
- if symbol < 0x110000 {
- size_utf8 += bytes_read
- }
- }
-
- return float64(size_utf8) > min_fraction*float64(length)
-}
diff --git a/vendor/github.com/andybalholm/brotli/util.go b/vendor/github.com/andybalholm/brotli/util.go
deleted file mode 100644
index a84553a6..00000000
--- a/vendor/github.com/andybalholm/brotli/util.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package brotli
-
-func assert(cond bool) {
- if !cond {
- panic("assertion failure")
- }
-}
diff --git a/vendor/github.com/andybalholm/brotli/write_bits.go b/vendor/github.com/andybalholm/brotli/write_bits.go
deleted file mode 100644
index 87299011..00000000
--- a/vendor/github.com/andybalholm/brotli/write_bits.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package brotli
-
-import "encoding/binary"
-
-/* Copyright 2010 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Write bits into a byte array. */
-
-/* This function writes bits into bytes in increasing addresses, and within
- a byte least-significant-bit first.
-
- The function can write up to 56 bits in one go with WriteBits
- Example: let's assume that 3 bits (Rs below) have been written already:
-
- BYTE-0 BYTE+1 BYTE+2
-
- 0000 0RRR 0000 0000 0000 0000
-
- Now, we could write 5 or less bits in MSB by just sifting by 3
- and OR'ing to BYTE-0.
-
- For n bits, we take the last 5 bits, OR that with high bits in BYTE-0,
- and locate the rest in BYTE+1, BYTE+2, etc. */
-func writeBits(n_bits uint, bits uint64, pos *uint, array []byte) {
- /* This branch of the code can write up to 56 bits at a time,
- 7 bits are lost by being perhaps already in *p and at least
- 1 bit is needed to initialize the bit-stream ahead (i.e. if 7
- bits are in *p and we write 57 bits, then the next write will
- access a byte that was never initialized). */
- p := array[*pos>>3:]
- v := uint64(p[0])
- v |= bits << (*pos & 7)
- binary.LittleEndian.PutUint64(p, v)
- *pos += n_bits
-}
-
-func writeSingleBit(bit bool, pos *uint, array []byte) {
- if bit {
- writeBits(1, 1, pos, array)
- } else {
- writeBits(1, 0, pos, array)
- }
-}
-
-func writeBitsPrepareStorage(pos uint, array []byte) {
- assert(pos&7 == 0)
- array[pos>>3] = 0
-}
diff --git a/vendor/github.com/andybalholm/brotli/writer.go b/vendor/github.com/andybalholm/brotli/writer.go
deleted file mode 100644
index 39feaef5..00000000
--- a/vendor/github.com/andybalholm/brotli/writer.go
+++ /dev/null
@@ -1,119 +0,0 @@
-package brotli
-
-import (
- "errors"
- "io"
-)
-
-const (
- BestSpeed = 0
- BestCompression = 11
- DefaultCompression = 6
-)
-
-// WriterOptions configures Writer.
-type WriterOptions struct {
- // Quality controls the compression-speed vs compression-density trade-offs.
- // The higher the quality, the slower the compression. Range is 0 to 11.
- Quality int
- // LGWin is the base 2 logarithm of the sliding window size.
- // Range is 10 to 24. 0 indicates automatic configuration based on Quality.
- LGWin int
-}
-
-var (
- errEncode = errors.New("brotli: encode error")
- errWriterClosed = errors.New("brotli: Writer is closed")
-)
-
-// Writes to the returned writer are compressed and written to dst.
-// It is the caller's responsibility to call Close on the Writer when done.
-// Writes may be buffered and not flushed until Close.
-func NewWriter(dst io.Writer) *Writer {
- return NewWriterLevel(dst, DefaultCompression)
-}
-
-// NewWriterLevel is like NewWriter but specifies the compression level instead
-// of assuming DefaultCompression.
-// The compression level can be DefaultCompression or any integer value between
-// BestSpeed and BestCompression inclusive.
-func NewWriterLevel(dst io.Writer, level int) *Writer {
- return NewWriterOptions(dst, WriterOptions{
- Quality: level,
- })
-}
-
-// NewWriterOptions is like NewWriter but specifies WriterOptions
-func NewWriterOptions(dst io.Writer, options WriterOptions) *Writer {
- w := new(Writer)
- w.options = options
- w.Reset(dst)
- return w
-}
-
-// Reset discards the Writer's state and makes it equivalent to the result of
-// its original state from NewWriter or NewWriterLevel, but writing to dst
-// instead. This permits reusing a Writer rather than allocating a new one.
-func (w *Writer) Reset(dst io.Writer) {
- encoderInitState(w)
- w.params.quality = w.options.Quality
- if w.options.LGWin > 0 {
- w.params.lgwin = uint(w.options.LGWin)
- }
- w.dst = dst
- w.err = nil
-}
-
-func (w *Writer) writeChunk(p []byte, op int) (n int, err error) {
- if w.dst == nil {
- return 0, errWriterClosed
- }
- if w.err != nil {
- return 0, w.err
- }
-
- for {
- availableIn := uint(len(p))
- nextIn := p
- success := encoderCompressStream(w, op, &availableIn, &nextIn)
- bytesConsumed := len(p) - int(availableIn)
- p = p[bytesConsumed:]
- n += bytesConsumed
- if !success {
- return n, errEncode
- }
-
- if len(p) == 0 || w.err != nil {
- return n, w.err
- }
- }
-}
-
-// Flush outputs encoded data for all input provided to Write. The resulting
-// output can be decoded to match all input before Flush, but the stream is
-// not yet complete until after Close.
-// Flush has a negative impact on compression.
-func (w *Writer) Flush() error {
- _, err := w.writeChunk(nil, operationFlush)
- return err
-}
-
-// Close flushes remaining data to the decorated writer.
-func (w *Writer) Close() error {
- // If stream is already closed, it is reported by `writeChunk`.
- _, err := w.writeChunk(nil, operationFinish)
- w.dst = nil
- return err
-}
-
-// Write implements io.Writer. Flush or Close must be called to ensure that the
-// encoded bytes are actually flushed to the underlying Writer.
-func (w *Writer) Write(p []byte) (n int, err error) {
- return w.writeChunk(p, operationProcess)
-}
-
-type nopCloser struct {
- io.Writer
-}
-
-func (nopCloser) Close() error { return nil }
diff --git a/vendor/github.com/gaukas/godicttls/.gitignore b/vendor/github.com/gaukas/godicttls/.gitignore
deleted file mode 100644
index 66fd13c9..00000000
--- a/vendor/github.com/gaukas/godicttls/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-# Binaries for programs and plugins
-*.exe
-*.exe~
-*.dll
-*.so
-*.dylib
-
-# Test binary, built with `go test -c`
-*.test
-
-# Output of the go coverage tool, specifically when used with LiteIDE
-*.out
-
-# Dependency directories (remove the comment below to include it)
-# vendor/
diff --git a/vendor/github.com/gaukas/godicttls/LICENSE b/vendor/github.com/gaukas/godicttls/LICENSE
deleted file mode 100644
index 6b3bea46..00000000
--- a/vendor/github.com/gaukas/godicttls/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-BSD 3-Clause License
-
-Copyright (c) 2023, Gaukas Wang
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-2. 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.
-
-3. 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 HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/gaukas/godicttls/README.md b/vendor/github.com/gaukas/godicttls/README.md
deleted file mode 100644
index 81c37729..00000000
--- a/vendor/github.com/gaukas/godicttls/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# godicttls
-Dictionary for TLS written in Go providing bidirectional mapping values to their names, plus enum convenience for values.
-
-Last Update with data fetched from [IANA](www.iana.org) in March 2023:
-- Transport Layer Security (TLS) Parameters [link](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml)
-- Transport Layer Security (TLS) Extensions [link](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml)
\ No newline at end of file
diff --git a/vendor/github.com/gaukas/godicttls/alerts.go b/vendor/github.com/gaukas/godicttls/alerts.go
deleted file mode 100644
index ef9691c6..00000000
--- a/vendor/github.com/gaukas/godicttls/alerts.go
+++ /dev/null
@@ -1,118 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-6
-// last updated: March 2023
-
-const (
- Alert_close_notify uint8 = 0
- Alert_unexpected_message uint8 = 10
- Alert_bad_record_mac uint8 = 20
- Alert_decryption_failed uint8 = 21
- Alert_record_overflow uint8 = 22
- Alert_decompression_failure uint8 = 30
- Alert_handshake_failure uint8 = 40
- Alert_no_certificate uint8 = 41
- Alert_bad_certificate uint8 = 42
- Alert_unsupported_certificate uint8 = 43
- Alert_certificate_revoked uint8 = 44
- Alert_certificate_expired uint8 = 45
- Alert_certificate_unknown uint8 = 46
- Alert_illegal_parameter uint8 = 47
- Alert_unknown_ca uint8 = 48
- Alert_access_denied uint8 = 49
- Alert_decode_error uint8 = 50
- Alert_decrypt_error uint8 = 51
- Alert_too_many_cids_requested uint8 = 52
- Alert_export_restriction uint8 = 60
- Alert_protocol_version uint8 = 70
- Alert_insufficient_security uint8 = 71
- Alert_internal_error uint8 = 80
- Alert_inappropriate_fallback uint8 = 86
- Alert_user_canceled uint8 = 90
- Alert_no_renegotiation uint8 = 100
- Alert_missing_extension uint8 = 109
- Alert_unsupported_extension uint8 = 110
- Alert_certificate_unobtainable uint8 = 111
- Alert_unrecognized_name uint8 = 112
- Alert_bad_certificate_status_response uint8 = 113
- Alert_bad_certificate_hash_value uint8 = 114
- Alert_unknown_psk_identity uint8 = 115
- Alert_certificate_required uint8 = 116
- Alert_no_application_protocol uint8 = 120
-)
-
-var DictAlertValueIndexed = map[uint8]string{
- 0: "close_notify",
- 10: "unexpected_message",
- 20: "bad_record_mac",
- 21: "decryption_failed",
- 22: "record_overflow",
- 30: "decompression_failure",
- 40: "handshake_failure",
- 41: "no_certificate",
- 42: "bad_certificate",
- 43: "unsupported_certificate",
- 44: "certificate_revoked",
- 45: "certificate_expired",
- 46: "certificate_unknown",
- 47: "illegal_parameter",
- 48: "unknown_ca",
- 49: "access_denied",
- 50: "decode_error",
- 51: "decrypt_error",
- 52: "too_many_cids_requested",
- 60: "export_restriction",
- 70: "protocol_version",
- 71: "insufficient_security",
- 80: "internal_error",
- 86: "inappropriate_fallback",
- 90: "user_canceled",
- 100: "no_renegotiation",
- 109: "missing_extension",
- 110: "unsupported_extension",
- 111: "certificate_unobtainable",
- 112: "unrecognized_name",
- 113: "bad_certificate_status_response",
- 114: "bad_certificate_hash_value",
- 115: "unknown_psk_identity",
- 116: "certificate_required",
- 120: "no_application_protocol",
-}
-
-var DictAlertNameIndexed = map[string]uint8{
- "close_notify": 0,
- "unexpected_message": 10,
- "bad_record_mac": 20,
- "decryption_failed": 21,
- "record_overflow": 22,
- "decompression_failure": 30,
- "handshake_failure": 40,
- "no_certificate": 41,
- "bad_certificate": 42,
- "unsupported_certificate": 43,
- "certificate_revoked": 44,
- "certificate_expired": 45,
- "certificate_unknown": 46,
- "illegal_parameter": 47,
- "unknown_ca": 48,
- "access_denied": 49,
- "decode_error": 50,
- "decrypt_error": 51,
- "too_many_cids_requested": 52,
- "export_restriction": 60,
- "protocol_version": 70,
- "insufficient_security": 71,
- "internal_error": 80,
- "inappropriate_fallback": 86,
- "user_canceled": 90,
- "no_renegotiation": 100,
- "missing_extension": 109,
- "unsupported_extension": 110,
- "certificate_unobtainable": 111,
- "unrecognized_name": 112,
- "bad_certificate_status_response": 113,
- "bad_certificate_hash_value": 114,
- "unknown_psk_identity": 115,
- "certificate_required": 116,
- "no_application_protocol": 120,
-}
diff --git a/vendor/github.com/gaukas/godicttls/authorization_data_formats.go b/vendor/github.com/gaukas/godicttls/authorization_data_formats.go
deleted file mode 100644
index d8b668f7..00000000
--- a/vendor/github.com/gaukas/godicttls/authorization_data_formats.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#authorization-data
-// last updated: March 2023
-
-const (
- AuthData_x509_attr_cert uint16 = 0
- AuthData_saml_assertion uint16 = 1
- AuthData_x509_attr_cert_url uint16 = 2
- AuthData_saml_assertion_url uint16 = 3
- AuthData_keynote_assertion_list uint16 = 64
- AuthData_keynote_assertion_list_url uint16 = 65
- AuthData_dtcp_authorization uint16 = 66
-)
-
-var DictAuthorizationDataFormatValueIndexed = map[uint16]string{
- 0: "x509_attr_cert",
- 1: "saml_assertion",
- 2: "x509_attr_cert_url",
- 3: "saml_assertion_url",
- 64: "keynote_assertion_list",
- 65: "keynote_assertion_list_url",
- 66: "dtcp_authorization",
-}
-
-var DictAuthorizationDataFormatNameIndexed = map[string]uint16{
- "x509_attr_cert": 0,
- "saml_assertion": 1,
- "x509_attr_cert_url": 2,
- "saml_assertion_url": 3,
- "Unassigned": 0,
- "keynote_assertion_list": 64,
- "keynote_assertion_list_url": 65,
- "dtcp_authorization": 66,
-}
diff --git a/vendor/github.com/gaukas/godicttls/cachedinformationtype_values.go b/vendor/github.com/gaukas/godicttls/cachedinformationtype_values.go
deleted file mode 100644
index 1973d834..00000000
--- a/vendor/github.com/gaukas/godicttls/cachedinformationtype_values.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#cachedinformationtype
-// last updated: March 2023
-
-const (
- CachedInformationType_cert uint8 = 1
- CachedInformationType_cert_req uint8 = 2
-)
-
-var DictCachedInformationTypeValueIndexed = map[uint8]string{
- 1: "cert",
- 2: "cert_req",
-}
-
-var DictCachedInformationTypeNameIndexed = map[string]uint8{
- "cert": 1,
- "cert_req": 2,
-}
diff --git a/vendor/github.com/gaukas/godicttls/certificate_compression_algorithm_ids.go b/vendor/github.com/gaukas/godicttls/certificate_compression_algorithm_ids.go
deleted file mode 100644
index a2c057f1..00000000
--- a/vendor/github.com/gaukas/godicttls/certificate_compression_algorithm_ids.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-certificate-compression-algorithm-ids
-// last updated: March 2023
-
-const (
- CertCompAlg_zlib uint16 = 1
- CertCompAlg_brotli uint16 = 2
- CertCompAlg_zstd uint16 = 3
-)
-
-var DictCertificateCompressionAlgorithmValueIndexed = map[uint16]string{
- 1: "zlib",
- 2: "brotli",
- 3: "zstd",
-}
-
-var DictCertificateCompressionAlgorithmNameIndexed = map[string]uint16{
- "zlib": 1,
- "brotli": 2,
- "zstd": 3,
-}
diff --git a/vendor/github.com/gaukas/godicttls/certificate_status_types.go b/vendor/github.com/gaukas/godicttls/certificate_status_types.go
deleted file mode 100644
index 37747bf2..00000000
--- a/vendor/github.com/gaukas/godicttls/certificate_status_types.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#certificate-status
-// last updated: March 2023
-
-const (
- CertStatusType_ocsp uint8 = 1
- CertStatusType_ocsp_multi uint8 = 2
-)
-
-var DictCertificateStatusTypeValueIndexed = map[uint8]string{
- 1: "ocsp",
- 2: "ocsp_multi",
-}
-
-var DictCertificateStatusTypeNameIndexed = map[string]uint8{
- "ocsp": 1,
- "ocsp_multi": 2,
-}
diff --git a/vendor/github.com/gaukas/godicttls/certificte_types.go b/vendor/github.com/gaukas/godicttls/certificte_types.go
deleted file mode 100644
index 46ca3ee4..00000000
--- a/vendor/github.com/gaukas/godicttls/certificte_types.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-3
-// last updated: March 2023
-
-const (
- CertType_X509 uint8 = 0
- CertType_OpenPGP uint8 = 1
- CertType_Raw_Public_Key uint8 = 2
- CertType_1609Dot2 uint8 = 3
-)
-
-var DictCertificateTypeValueIndexed = map[uint8]string{
- 0: "X509",
- 1: "OpenPGP",
- 2: "Raw Public Key",
- 3: "1609Dot2",
-}
-
-var DictCertificateTypeNameIndexed = map[string]uint8{
- "X509": 0,
- "OpenPGP": 1,
- "Raw Public Key": 2,
- "1609Dot2": 3,
-}
diff --git a/vendor/github.com/gaukas/godicttls/cipher_suites.go b/vendor/github.com/gaukas/godicttls/cipher_suites.go
deleted file mode 100644
index 1b292fec..00000000
--- a/vendor/github.com/gaukas/godicttls/cipher_suites.go
+++ /dev/null
@@ -1,1084 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4
-// last updated: March 2023
-
-const (
- TLS_NULL_WITH_NULL_NULL uint16 = 0x0000
- TLS_RSA_WITH_NULL_MD5 uint16 = 0x0001
- TLS_RSA_WITH_NULL_SHA uint16 = 0x0002
- TLS_RSA_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0003
- TLS_RSA_WITH_RC4_128_MD5 uint16 = 0x0004
- TLS_RSA_WITH_RC4_128_SHA uint16 = 0x0005
- TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x0006
- TLS_RSA_WITH_IDEA_CBC_SHA uint16 = 0x0007
- TLS_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0008
- TLS_RSA_WITH_DES_CBC_SHA uint16 = 0x0009
- TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x000A
- TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000B
- TLS_DH_DSS_WITH_DES_CBC_SHA uint16 = 0x000C
- TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x000D
- TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000E
- TLS_DH_RSA_WITH_DES_CBC_SHA uint16 = 0x000F
- TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0010
- TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011
- TLS_DHE_DSS_WITH_DES_CBC_SHA uint16 = 0x0012
- TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x0013
- TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014
- TLS_DHE_RSA_WITH_DES_CBC_SHA uint16 = 0x0015
- TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0016
- TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0017
- TLS_DH_anon_WITH_RC4_128_MD5 uint16 = 0x0018
- TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019
- TLS_DH_anon_WITH_DES_CBC_SHA uint16 = 0x001A
- TLS_DH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0x001B
-
- TLS_KRB5_WITH_DES_CBC_SHA uint16 = 0x001E
- TLS_KRB5_WITH_3DES_EDE_CBC_SHA uint16 = 0x001F
- TLS_KRB5_WITH_RC4_128_SHA uint16 = 0x0020
- TLS_KRB5_WITH_IDEA_CBC_SHA uint16 = 0x0021
- TLS_KRB5_WITH_DES_CBC_MD5 uint16 = 0x0022
- TLS_KRB5_WITH_3DES_EDE_CBC_MD5 uint16 = 0x0023
- TLS_KRB5_WITH_RC4_128_MD5 uint16 = 0x0024
- TLS_KRB5_WITH_IDEA_CBC_MD5 uint16 = 0x0025
- TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA uint16 = 0x0026
- TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA uint16 = 0x0027
- TLS_KRB5_EXPORT_WITH_RC4_40_SHA uint16 = 0x0028
- TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 uint16 = 0x0029
- TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x002A
- TLS_KRB5_EXPORT_WITH_RC4_40_MD5 uint16 = 0x002B
- TLS_PSK_WITH_NULL_SHA uint16 = 0x002C
- TLS_DHE_PSK_WITH_NULL_SHA uint16 = 0x002D
- TLS_RSA_PSK_WITH_NULL_SHA uint16 = 0x002E
- TLS_RSA_WITH_AES_128_CBC_SHA uint16 = 0x002F
- TLS_DH_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0030
- TLS_DH_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0031
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0032
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0033
- TLS_DH_anon_WITH_AES_128_CBC_SHA uint16 = 0x0034
- TLS_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0035
- TLS_DH_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0036
- TLS_DH_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0037
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0038
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0039
- TLS_DH_anon_WITH_AES_256_CBC_SHA uint16 = 0x003A
- TLS_RSA_WITH_NULL_SHA256 uint16 = 0x003B
- TLS_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003C
- TLS_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x003D
- TLS_DH_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x003E
- TLS_DH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003F
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x0040
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0041
- TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0042
- TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0043
- TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045
- TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046
-
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067
- TLS_DH_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x0068
- TLS_DH_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x0069
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B
- TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C
- TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D
-
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0084
- TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0085
- TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0086
- TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0087
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0088
- TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0089
- TLS_PSK_WITH_RC4_128_SHA uint16 = 0x008A
- TLS_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008B
- TLS_PSK_WITH_AES_128_CBC_SHA uint16 = 0x008C
- TLS_PSK_WITH_AES_256_CBC_SHA uint16 = 0x008D
- TLS_DHE_PSK_WITH_RC4_128_SHA uint16 = 0x008E
- TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008F
- TLS_DHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0090
- TLS_DHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0091
- TLS_RSA_PSK_WITH_RC4_128_SHA uint16 = 0x0092
- TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x0093
- TLS_RSA_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0094
- TLS_RSA_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0095
- TLS_RSA_WITH_SEED_CBC_SHA uint16 = 0x0096
- TLS_DH_DSS_WITH_SEED_CBC_SHA uint16 = 0x0097
- TLS_DH_RSA_WITH_SEED_CBC_SHA uint16 = 0x0098
- TLS_DHE_DSS_WITH_SEED_CBC_SHA uint16 = 0x0099
- TLS_DHE_RSA_WITH_SEED_CBC_SHA uint16 = 0x009A
- TLS_DH_anon_WITH_SEED_CBC_SHA uint16 = 0x009B
- TLS_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009C
- TLS_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009D
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009E
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009F
- TLS_DH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x00A0
- TLS_DH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x00A1
- TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A2
- TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A3
- TLS_DH_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A4
- TLS_DH_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A5
- TLS_DH_anon_WITH_AES_128_GCM_SHA256 uint16 = 0x00A6
- TLS_DH_anon_WITH_AES_256_GCM_SHA384 uint16 = 0x00A7
- TLS_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00A8
- TLS_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00A9
- TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AA
- TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AB
- TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AC
- TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AD
- TLS_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00AE
- TLS_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00AF
- TLS_PSK_WITH_NULL_SHA256 uint16 = 0x00B0
- TLS_PSK_WITH_NULL_SHA384 uint16 = 0x00B1
- TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B2
- TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B3
- TLS_DHE_PSK_WITH_NULL_SHA256 uint16 = 0x00B4
- TLS_DHE_PSK_WITH_NULL_SHA384 uint16 = 0x00B5
- TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B6
- TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B7
- TLS_RSA_PSK_WITH_NULL_SHA256 uint16 = 0x00B8
- TLS_RSA_PSK_WITH_NULL_SHA384 uint16 = 0x00B9
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BA
- TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BB
- TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BC
- TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE
- TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C0
- TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C1
- TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C2
- TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4
- TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5
- TLS_SM4_GCM_SM3 uint16 = 0x00C6
- TLS_SM4_CCM_SM3 uint16 = 0x00C7
-
- TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF
-
- TLS_AES_128_GCM_SHA256 uint16 = 0x1301
- TLS_AES_256_GCM_SHA384 uint16 = 0x1302
- TLS_CHACHA20_POLY1305_SHA256 uint16 = 0x1303
- TLS_AES_128_CCM_SHA256 uint16 = 0x1304
- TLS_AES_128_CCM_8_SHA256 uint16 = 0x1305
- TLS_AEGIS_256_SHA384 uint16 = 0x1306
- TLS_AEGIS_128L_SHA256 uint16 = 0x1307
-
- TLS_FALLBACK_SCSV uint16 = 0x5600
-
- TLS_ECDH_ECDSA_WITH_NULL_SHA uint16 = 0xC001
- TLS_ECDH_ECDSA_WITH_RC4_128_SHA uint16 = 0xC002
- TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC003
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC004
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC005
- TLS_ECDHE_ECDSA_WITH_NULL_SHA uint16 = 0xC006
- TLS_ECDHE_ECDSA_WITH_RC4_128_SHA uint16 = 0xC007
- TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC008
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC009
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC00A
- TLS_ECDH_RSA_WITH_NULL_SHA uint16 = 0xC00B
- TLS_ECDH_RSA_WITH_RC4_128_SHA uint16 = 0xC00C
- TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC00D
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC00E
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC00F
- TLS_ECDHE_RSA_WITH_NULL_SHA uint16 = 0xC010
- TLS_ECDHE_RSA_WITH_RC4_128_SHA uint16 = 0xC011
- TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC012
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC013
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC014
- TLS_ECDH_anon_WITH_NULL_SHA uint16 = 0xC015
- TLS_ECDH_anon_WITH_RC4_128_SHA uint16 = 0xC016
- TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0xC017
- TLS_ECDH_anon_WITH_AES_128_CBC_SHA uint16 = 0xC018
- TLS_ECDH_anon_WITH_AES_256_CBC_SHA uint16 = 0xC019
- TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01A
- TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01B
- TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01C
- TLS_SRP_SHA_WITH_AES_128_CBC_SHA uint16 = 0xC01D
- TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC01E
- TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA uint16 = 0xC01F
- TLS_SRP_SHA_WITH_AES_256_CBC_SHA uint16 = 0xC020
- TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC021
- TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA uint16 = 0xC022
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC023
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC024
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC025
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC026
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC027
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC028
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC029
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC02A
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02B
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02C
- TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02D
- TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02E
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02F
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC030
- TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC031
- TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC032
- TLS_ECDHE_PSK_WITH_RC4_128_SHA uint16 = 0xC033
- TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0xC034
- TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0xC035
- TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0xC036
- TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0xC037
- TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0xC038
- TLS_ECDHE_PSK_WITH_NULL_SHA uint16 = 0xC039
- TLS_ECDHE_PSK_WITH_NULL_SHA256 uint16 = 0xC03A
- TLS_ECDHE_PSK_WITH_NULL_SHA384 uint16 = 0xC03B
- TLS_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03C
- TLS_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03D
- TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03E
- TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03F
- TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC040
- TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC041
- TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC042
- TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC043
- TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC044
- TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC045
- TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC046
- TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC047
- TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC048
- TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC049
- TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04A
- TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04B
- TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04C
- TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04D
- TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04E
- TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04F
- TLS_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC050
- TLS_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC051
- TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC052
- TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC053
- TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC054
- TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC055
- TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC056
- TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC057
- TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC058
- TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC059
- TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05A
- TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05B
- TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05C
- TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05D
- TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05E
- TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05F
- TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC060
- TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC061
- TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC062
- TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC063
- TLS_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC064
- TLS_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC065
- TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC066
- TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC067
- TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC068
- TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC069
- TLS_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06A
- TLS_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06B
- TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06C
- TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06D
- TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06E
- TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06F
- TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC070
- TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC071
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073
- TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC074
- TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC075
- TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC076
- TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC077
- TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC078
- TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC079
- TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07A
- TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07B
- TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07C
- TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07D
- TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07E
- TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07F
- TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC080
- TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC081
- TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC082
- TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC083
- TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC084
- TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC085
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087
- TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC088
- TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC089
- TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08A
- TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08B
- TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08C
- TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08D
- TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08E
- TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08F
- TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC090
- TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC091
- TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC092
- TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC093
- TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC094
- TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC095
- TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC096
- TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC097
- TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC098
- TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC099
- TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC09A
- TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC09B
- TLS_RSA_WITH_AES_128_CCM uint16 = 0xC09C
- TLS_RSA_WITH_AES_256_CCM uint16 = 0xC09D
- TLS_DHE_RSA_WITH_AES_128_CCM uint16 = 0xC09E
- TLS_DHE_RSA_WITH_AES_256_CCM uint16 = 0xC09F
- TLS_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A0
- TLS_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A1
- TLS_DHE_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A2
- TLS_DHE_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A3
- TLS_PSK_WITH_AES_128_CCM uint16 = 0xC0A4
- TLS_PSK_WITH_AES_256_CCM uint16 = 0xC0A5
- TLS_DHE_PSK_WITH_AES_128_CCM uint16 = 0xC0A6
- TLS_DHE_PSK_WITH_AES_256_CCM uint16 = 0xC0A7
- TLS_PSK_WITH_AES_128_CCM_8 uint16 = 0xC0A8
- TLS_PSK_WITH_AES_256_CCM_8 uint16 = 0xC0A9
- TLS_PSK_DHE_WITH_AES_128_CCM_8 uint16 = 0xC0AA
- TLS_PSK_DHE_WITH_AES_256_CCM_8 uint16 = 0xC0AB
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM uint16 = 0xC0AC
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM uint16 = 0xC0AD
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 uint16 = 0xC0AE
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 uint16 = 0xC0AF
- TLS_ECCPWD_WITH_AES_128_GCM_SHA256 uint16 = 0xC0B0
- TLS_ECCPWD_WITH_AES_256_GCM_SHA384 uint16 = 0xC0B1
- TLS_ECCPWD_WITH_AES_128_CCM_SHA256 uint16 = 0xC0B2
- TLS_ECCPWD_WITH_AES_256_CCM_SHA384 uint16 = 0xC0B3
- TLS_SHA256_SHA256 uint16 = 0xC0B4
- TLS_SHA384_SHA384 uint16 = 0xC0B5
-
- TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC uint16 = 0xC100
- TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC uint16 = 0xC101
- TLS_GOSTR341112_256_WITH_28147_CNT_IMIT uint16 = 0xC102
- TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L uint16 = 0xC103
-)
-
-var DictCipherSuiteValueIndexed = map[uint16]string{
- 0x0000: "TLS_NULL_WITH_NULL_NULL",
- 0x0001: "TLS_RSA_WITH_NULL_MD5",
- 0x0002: "TLS_RSA_WITH_NULL_SHA",
- 0x0003: "TLS_RSA_EXPORT_WITH_RC4_40_MD5",
- 0x0004: "TLS_RSA_WITH_RC4_128_MD5",
- 0x0005: "TLS_RSA_WITH_RC4_128_SHA",
- 0x0006: "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
- 0x0007: "TLS_RSA_WITH_IDEA_CBC_SHA",
- 0x0008: "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
- 0x0009: "TLS_RSA_WITH_DES_CBC_SHA",
- 0x000A: "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
- 0x000B: "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
- 0x000C: "TLS_DH_DSS_WITH_DES_CBC_SHA",
- 0x000D: "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
- 0x000E: "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
- 0x000F: "TLS_DH_RSA_WITH_DES_CBC_SHA",
- 0x0010: "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
- 0x0011: "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
- 0x0012: "TLS_DHE_DSS_WITH_DES_CBC_SHA",
- 0x0013: "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
- 0x0014: "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
- 0x0015: "TLS_DHE_RSA_WITH_DES_CBC_SHA",
- 0x0016: "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
- 0x0017: "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5",
- 0x0018: "TLS_DH_anon_WITH_RC4_128_MD5",
- 0x0019: "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
- 0x001A: "TLS_DH_anon_WITH_DES_CBC_SHA",
- 0x001B: "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
-
- 0x001E: "TLS_KRB5_WITH_DES_CBC_SHA",
- 0x001F: "TLS_KRB5_WITH_3DES_EDE_CBC_SHA",
- 0x0020: "TLS_KRB5_WITH_RC4_128_SHA",
- 0x0021: "TLS_KRB5_WITH_IDEA_CBC_SHA",
- 0x0022: "TLS_KRB5_WITH_DES_CBC_MD5",
- 0x0023: "TLS_KRB5_WITH_3DES_EDE_CBC_MD5",
- 0x0024: "TLS_KRB5_WITH_RC4_128_MD5",
- 0x0025: "TLS_KRB5_WITH_IDEA_CBC_MD5",
- 0x0026: "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA",
- 0x0027: "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA",
- 0x0028: "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",
- 0x0029: "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5",
- 0x002A: "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5",
- 0x002B: "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",
- 0x002C: "TLS_PSK_WITH_NULL_SHA",
- 0x002D: "TLS_DHE_PSK_WITH_NULL_SHA",
- 0x002E: "TLS_RSA_PSK_WITH_NULL_SHA",
- 0x002F: "TLS_RSA_WITH_AES_128_CBC_SHA",
- 0x0030: "TLS_DH_DSS_WITH_AES_128_CBC_SHA",
- 0x0031: "TLS_DH_RSA_WITH_AES_128_CBC_SHA",
- 0x0032: "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
- 0x0033: "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
- 0x0034: "TLS_DH_anon_WITH_AES_128_CBC_SHA",
- 0x0035: "TLS_RSA_WITH_AES_256_CBC_SHA",
- 0x0036: "TLS_DH_DSS_WITH_AES_256_CBC_SHA",
- 0x0037: "TLS_DH_RSA_WITH_AES_256_CBC_SHA",
- 0x0038: "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
- 0x0039: "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
- 0x003A: "TLS_DH_anon_WITH_AES_256_CBC_SHA",
- 0x003B: "TLS_RSA_WITH_NULL_SHA256",
- 0x003C: "TLS_RSA_WITH_AES_128_CBC_SHA256",
- 0x003D: "TLS_RSA_WITH_AES_256_CBC_SHA256",
- 0x003E: "TLS_DH_DSS_WITH_AES_128_CBC_SHA256",
- 0x003F: "TLS_DH_RSA_WITH_AES_128_CBC_SHA256",
- 0x0040: "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
- 0x0041: "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA",
- 0x0042: "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA",
- 0x0043: "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA",
- 0x0044: "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA",
- 0x0045: "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
- 0x0046: "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA",
-
- 0x0067: "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
- 0x0068: "TLS_DH_DSS_WITH_AES_256_CBC_SHA256",
- 0x0069: "TLS_DH_RSA_WITH_AES_256_CBC_SHA256",
- 0x006A: "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
- 0x006B: "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
- 0x006C: "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
- 0x006D: "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
-
- 0x0084: "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA",
- 0x0085: "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA",
- 0x0086: "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA",
- 0x0087: "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA",
- 0x0088: "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
- 0x0089: "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA",
- 0x008A: "TLS_PSK_WITH_RC4_128_SHA",
- 0x008B: "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
- 0x008C: "TLS_PSK_WITH_AES_128_CBC_SHA",
- 0x008D: "TLS_PSK_WITH_AES_256_CBC_SHA",
- 0x008E: "TLS_DHE_PSK_WITH_RC4_128_SHA",
- 0x008F: "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA",
- 0x0090: "TLS_DHE_PSK_WITH_AES_128_CBC_SHA",
- 0x0091: "TLS_DHE_PSK_WITH_AES_256_CBC_SHA",
- 0x0092: "TLS_RSA_PSK_WITH_RC4_128_SHA",
- 0x0093: "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA",
- 0x0094: "TLS_RSA_PSK_WITH_AES_128_CBC_SHA",
- 0x0095: "TLS_RSA_PSK_WITH_AES_256_CBC_SHA",
- 0x0096: "TLS_RSA_WITH_SEED_CBC_SHA",
- 0x0097: "TLS_DH_DSS_WITH_SEED_CBC_SHA",
- 0x0098: "TLS_DH_RSA_WITH_SEED_CBC_SHA",
- 0x0099: "TLS_DHE_DSS_WITH_SEED_CBC_SHA",
- 0x009A: "TLS_DHE_RSA_WITH_SEED_CBC_SHA",
- 0x009B: "TLS_DH_anon_WITH_SEED_CBC_SHA",
- 0x009C: "TLS_RSA_WITH_AES_128_GCM_SHA256",
- 0x009D: "TLS_RSA_WITH_AES_256_GCM_SHA384",
- 0x009E: "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
- 0x009F: "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
- 0x00A0: "TLS_DH_RSA_WITH_AES_128_GCM_SHA256",
- 0x00A1: "TLS_DH_RSA_WITH_AES_256_GCM_SHA384",
- 0x00A2: "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
- 0x00A3: "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
- 0x00A4: "TLS_DH_DSS_WITH_AES_128_GCM_SHA256",
- 0x00A5: "TLS_DH_DSS_WITH_AES_256_GCM_SHA384",
- 0x00A6: "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
- 0x00A7: "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
- 0x00A8: "TLS_PSK_WITH_AES_128_GCM_SHA256",
- 0x00A9: "TLS_PSK_WITH_AES_256_GCM_SHA384",
- 0x00AA: "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256",
- 0x00AB: "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384",
- 0x00AC: "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256",
- 0x00AD: "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384",
- 0x00AE: "TLS_PSK_WITH_AES_128_CBC_SHA256",
- 0x00AF: "TLS_PSK_WITH_AES_256_CBC_SHA384",
- 0x00B0: "TLS_PSK_WITH_NULL_SHA256",
- 0x00B1: "TLS_PSK_WITH_NULL_SHA384",
- 0x00B2: "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256",
- 0x00B3: "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384",
- 0x00B4: "TLS_DHE_PSK_WITH_NULL_SHA256",
- 0x00B5: "TLS_DHE_PSK_WITH_NULL_SHA384",
- 0x00B6: "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256",
- 0x00B7: "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384",
- 0x00B8: "TLS_RSA_PSK_WITH_NULL_SHA256",
- 0x00B9: "TLS_RSA_PSK_WITH_NULL_SHA384",
- 0x00BA: "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00BB: "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00BC: "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00BD: "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00BE: "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00BF: "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256",
- 0x00C0: "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C1: "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C2: "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C3: "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C4: "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C5: "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256",
- 0x00C6: "TLS_SM4_GCM_SM3",
- 0x00C7: "TLS_SM4_CCM_SM3",
-
- 0x00FF: "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
-
- 0x1301: "TLS_AES_128_GCM_SHA256",
- 0x1302: "TLS_AES_256_GCM_SHA384",
- 0x1303: "TLS_CHACHA20_POLY1305_SHA256",
- 0x1304: "TLS_AES_128_CCM_SHA256",
- 0x1305: "TLS_AES_128_CCM_8_SHA256",
- 0x1306: "TLS_AEGIS_256_SHA384",
- 0x1307: "TLS_AEGIS_128L_SHA256",
-
- 0x5600: "TLS_FALLBACK_SCSV",
-
- 0xC001: "TLS_ECDH_ECDSA_WITH_NULL_SHA",
- 0xC002: "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
- 0xC003: "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
- 0xC004: "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
- 0xC005: "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
- 0xC006: "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
- 0xC007: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
- 0xC008: "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
- 0xC009: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
- 0xC00A: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
- 0xC00B: "TLS_ECDH_RSA_WITH_NULL_SHA",
- 0xC00C: "TLS_ECDH_RSA_WITH_RC4_128_SHA",
- 0xC00D: "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
- 0xC00E: "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
- 0xC00F: "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
- 0xC010: "TLS_ECDHE_RSA_WITH_NULL_SHA",
- 0xC011: "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
- 0xC012: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
- 0xC013: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
- 0xC014: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
- 0xC015: "TLS_ECDH_anon_WITH_NULL_SHA",
- 0xC016: "TLS_ECDH_anon_WITH_RC4_128_SHA",
- 0xC017: "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
- 0xC018: "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
- 0xC019: "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
- 0xC01A: "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA",
- 0xC01B: "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA",
- 0xC01C: "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA",
- 0xC01D: "TLS_SRP_SHA_WITH_AES_128_CBC_SHA",
- 0xC01E: "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA",
- 0xC01F: "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA",
- 0xC020: "TLS_SRP_SHA_WITH_AES_256_CBC_SHA",
- 0xC021: "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA",
- 0xC022: "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA",
- 0xC023: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
- 0xC024: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
- 0xC025: "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
- 0xC026: "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
- 0xC027: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
- 0xC028: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
- 0xC029: "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
- 0xC02A: "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
- 0xC02B: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
- 0xC02C: "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
- 0xC02D: "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
- 0xC02E: "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
- 0xC02F: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
- 0xC030: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
- 0xC031: "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
- 0xC032: "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
- 0xC033: "TLS_ECDHE_PSK_WITH_RC4_128_SHA",
- 0xC034: "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA",
- 0xC035: "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
- 0xC036: "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
- 0xC037: "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256",
- 0xC038: "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384",
- 0xC039: "TLS_ECDHE_PSK_WITH_NULL_SHA",
- 0xC03A: "TLS_ECDHE_PSK_WITH_NULL_SHA256",
- 0xC03B: "TLS_ECDHE_PSK_WITH_NULL_SHA384",
- 0xC03C: "TLS_RSA_WITH_ARIA_128_CBC_SHA256",
- 0xC03D: "TLS_RSA_WITH_ARIA_256_CBC_SHA384",
- 0xC03E: "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256",
- 0xC03F: "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384",
- 0xC040: "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256",
- 0xC041: "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384",
- 0xC042: "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256",
- 0xC043: "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384",
- 0xC044: "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256",
- 0xC045: "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384",
- 0xC046: "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256",
- 0xC047: "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384",
- 0xC048: "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256",
- 0xC049: "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384",
- 0xC04A: "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256",
- 0xC04B: "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384",
- 0xC04C: "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256",
- 0xC04D: "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384",
- 0xC04E: "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256",
- 0xC04F: "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384",
- 0xC050: "TLS_RSA_WITH_ARIA_128_GCM_SHA256",
- 0xC051: "TLS_RSA_WITH_ARIA_256_GCM_SHA384",
- 0xC052: "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256",
- 0xC053: "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384",
- 0xC054: "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256",
- 0xC055: "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384",
- 0xC056: "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256",
- 0xC057: "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384",
- 0xC058: "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256",
- 0xC059: "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384",
- 0xC05A: "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256",
- 0xC05B: "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384",
- 0xC05C: "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256",
- 0xC05D: "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384",
- 0xC05E: "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256",
- 0xC05F: "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384",
- 0xC060: "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256",
- 0xC061: "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384",
- 0xC062: "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256",
- 0xC063: "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384",
- 0xC064: "TLS_PSK_WITH_ARIA_128_CBC_SHA256",
- 0xC065: "TLS_PSK_WITH_ARIA_256_CBC_SHA384",
- 0xC066: "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256",
- 0xC067: "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384",
- 0xC068: "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256",
- 0xC069: "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384",
- 0xC06A: "TLS_PSK_WITH_ARIA_128_GCM_SHA256",
- 0xC06B: "TLS_PSK_WITH_ARIA_256_GCM_SHA384",
- 0xC06C: "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256",
- 0xC06D: "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384",
- 0xC06E: "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256",
- 0xC06F: "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384",
- 0xC070: "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256",
- 0xC071: "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384",
- 0xC072: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC073: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC074: "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC075: "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC076: "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC077: "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC078: "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC079: "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC07A: "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC07B: "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC07C: "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC07D: "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC07E: "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC07F: "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC080: "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC081: "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC082: "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC083: "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC084: "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC085: "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC086: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC087: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC088: "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC089: "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC08A: "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC08B: "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC08C: "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC08D: "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC08E: "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC08F: "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC090: "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC091: "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC092: "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256",
- 0xC093: "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384",
- 0xC094: "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC095: "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC096: "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC097: "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC098: "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC099: "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC09A: "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
- 0xC09B: "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
- 0xC09C: "TLS_RSA_WITH_AES_128_CCM",
- 0xC09D: "TLS_RSA_WITH_AES_256_CCM",
- 0xC09E: "TLS_DHE_RSA_WITH_AES_128_CCM",
- 0xC09F: "TLS_DHE_RSA_WITH_AES_256_CCM",
- 0xC0A0: "TLS_RSA_WITH_AES_128_CCM_8",
- 0xC0A1: "TLS_RSA_WITH_AES_256_CCM_8",
- 0xC0A2: "TLS_DHE_RSA_WITH_AES_128_CCM_8",
- 0xC0A3: "TLS_DHE_RSA_WITH_AES_256_CCM_8",
- 0xC0A4: "TLS_PSK_WITH_AES_128_CCM",
- 0xC0A5: "TLS_PSK_WITH_AES_256_CCM",
- 0xC0A6: "TLS_DHE_PSK_WITH_AES_128_CCM",
- 0xC0A7: "TLS_DHE_PSK_WITH_AES_256_CCM",
- 0xC0A8: "TLS_PSK_WITH_AES_128_CCM_8",
- 0xC0A9: "TLS_PSK_WITH_AES_256_CCM_8",
- 0xC0AA: "TLS_PSK_DHE_WITH_AES_128_CCM_8",
- 0xC0AB: "TLS_PSK_DHE_WITH_AES_256_CCM_8",
- 0xC0AC: "TLS_ECDHE_ECDSA_WITH_AES_128_CCM",
- 0xC0AD: "TLS_ECDHE_ECDSA_WITH_AES_256_CCM",
- 0xC0AE: "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
- 0xC0AF: "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8",
- 0xC0B0: "TLS_ECCPWD_WITH_AES_128_GCM_SHA256",
- 0xC0B1: "TLS_ECCPWD_WITH_AES_256_GCM_SHA384",
- 0xC0B2: "TLS_ECCPWD_WITH_AES_128_CCM_SHA256",
- 0xC0B3: "TLS_ECCPWD_WITH_AES_256_CCM_SHA384",
- 0xC0B4: "TLS_SHA256_SHA256",
- 0xC0B5: "TLS_SHA384_SHA384",
-
- 0xC100: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC",
- 0xC101: "TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC",
- 0xC102: "TLS_GOSTR341112_256_WITH_28147_CNT_IMIT",
- 0xC103: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L",
- 0xC104: "TLS_GOSTR341112_256_WITH_MAGMA_MGM_L",
- 0xC105: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S",
- 0xC106: "TLS_GOSTR341112_256_WITH_MAGMA_MGM_S",
-
- 0xCCA8: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCA9: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCAA: "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCAB: "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCAC: "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCAD: "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
- 0xCCAE: "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256",
-
- 0xD001: "TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256",
- 0xD002: "TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384",
- 0xD003: "TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256",
- 0xD005: "TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256",
-}
-
-var DictCipherSuiteNameIndexed = map[string]uint16{
- "TLS_NULL_WITH_NULL_NULL": 0x0000,
- "TLS_RSA_WITH_NULL_MD5": 0x0001,
- "TLS_RSA_WITH_NULL_SHA": 0x0002,
- "TLS_RSA_EXPORT_WITH_RC4_40_MD5": 0x0003,
- "TLS_RSA_WITH_RC4_128_MD5": 0x0004,
- "TLS_RSA_WITH_RC4_128_SHA": 0x0005,
- "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5": 0x0006,
- "TLS_RSA_WITH_IDEA_CBC_SHA": 0x0007,
- "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA": 0x0008,
- "TLS_RSA_WITH_DES_CBC_SHA": 0x0009,
- "TLS_RSA_WITH_3DES_EDE_CBC_SHA": 0x000A,
- "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA": 0x000B,
- "TLS_DH_DSS_WITH_DES_CBC_SHA": 0x000C,
- "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA": 0x000D,
- "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA": 0x000E,
- "TLS_DH_RSA_WITH_DES_CBC_SHA": 0x000F,
- "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA": 0x0010,
- "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA": 0x0011,
- "TLS_DHE_DSS_WITH_DES_CBC_SHA": 0x0012,
- "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA": 0x0013,
- "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA": 0x0014,
- "TLS_DHE_RSA_WITH_DES_CBC_SHA": 0x0015,
- "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA": 0x0016,
- "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5": 0x0017,
- "TLS_DH_anon_WITH_RC4_128_MD5": 0x0018,
- "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA": 0x0019,
- "TLS_DH_anon_WITH_DES_CBC_SHA": 0x001A,
- "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA": 0x001B,
-
- "TLS_KRB5_WITH_DES_CBC_SHA": 0x001E,
- "TLS_KRB5_WITH_3DES_EDE_CBC_SHA": 0x001F,
- "TLS_KRB5_WITH_RC4_128_SHA": 0x0020,
- "TLS_KRB5_WITH_IDEA_CBC_SHA": 0x0021,
- "TLS_KRB5_WITH_DES_CBC_MD5": 0x0022,
- "TLS_KRB5_WITH_3DES_EDE_CBC_MD5": 0x0023,
- "TLS_KRB5_WITH_RC4_128_MD5": 0x0024,
- "TLS_KRB5_WITH_IDEA_CBC_MD5": 0x0025,
- "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA": 0x0026,
- "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA": 0x0027,
- "TLS_KRB5_EXPORT_WITH_RC4_40_SHA": 0x0028,
- "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5": 0x0029,
- "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5": 0x002A,
- "TLS_KRB5_EXPORT_WITH_RC4_40_MD5": 0x002B,
- "TLS_PSK_WITH_NULL_SHA": 0x002C,
- "TLS_DHE_PSK_WITH_NULL_SHA": 0x002D,
- "TLS_RSA_PSK_WITH_NULL_SHA": 0x002E,
- "TLS_RSA_WITH_AES_128_CBC_SHA": 0x002F,
- "TLS_DH_DSS_WITH_AES_128_CBC_SHA": 0x0030,
- "TLS_DH_RSA_WITH_AES_128_CBC_SHA": 0x0031,
- "TLS_DHE_DSS_WITH_AES_128_CBC_SHA": 0x0032,
- "TLS_DHE_RSA_WITH_AES_128_CBC_SHA": 0x0033,
- "TLS_DH_anon_WITH_AES_128_CBC_SHA": 0x0034,
- "TLS_RSA_WITH_AES_256_CBC_SHA": 0x0035,
- "TLS_DH_DSS_WITH_AES_256_CBC_SHA": 0x0036,
- "TLS_DH_RSA_WITH_AES_256_CBC_SHA": 0x0037,
- "TLS_DHE_DSS_WITH_AES_256_CBC_SHA": 0x0038,
- "TLS_DHE_RSA_WITH_AES_256_CBC_SHA": 0x0039,
- "TLS_DH_anon_WITH_AES_256_CBC_SHA": 0x003A,
- "TLS_RSA_WITH_NULL_SHA256": 0x003B,
- "TLS_RSA_WITH_AES_128_CBC_SHA256": 0x003C,
- "TLS_RSA_WITH_AES_256_CBC_SHA256": 0x003D,
- "TLS_DH_DSS_WITH_AES_128_CBC_SHA256": 0x003E,
- "TLS_DH_RSA_WITH_AES_128_CBC_SHA256": 0x003F,
- "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256": 0x0040,
- "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA": 0x0041,
- "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA": 0x0042,
- "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA": 0x0043,
- "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA": 0x0044,
- "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA": 0x0045,
- "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA": 0x0046,
-
- "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256": 0x0067,
- "TLS_DH_DSS_WITH_AES_256_CBC_SHA256": 0x0068,
- "TLS_DH_RSA_WITH_AES_256_CBC_SHA256": 0x0069,
- "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256": 0x006A,
- "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256": 0x006B,
- "TLS_DH_anon_WITH_AES_128_CBC_SHA256": 0x006C,
- "TLS_DH_anon_WITH_AES_256_CBC_SHA256": 0x006D,
-
- "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA": 0x0084,
- "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA": 0x0085,
- "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA": 0x0086,
- "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA": 0x0087,
- "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA": 0x0088,
- "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA": 0x0089,
- "TLS_PSK_WITH_RC4_128_SHA": 0x008A,
- "TLS_PSK_WITH_3DES_EDE_CBC_SHA": 0x008B,
- "TLS_PSK_WITH_AES_128_CBC_SHA": 0x008C,
- "TLS_PSK_WITH_AES_256_CBC_SHA": 0x008D,
- "TLS_DHE_PSK_WITH_RC4_128_SHA": 0x008E,
- "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA": 0x008F,
- "TLS_DHE_PSK_WITH_AES_128_CBC_SHA": 0x0090,
- "TLS_DHE_PSK_WITH_AES_256_CBC_SHA": 0x0091,
- "TLS_RSA_PSK_WITH_RC4_128_SHA": 0x0092,
- "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA": 0x0093,
- "TLS_RSA_PSK_WITH_AES_128_CBC_SHA": 0x0094,
- "TLS_RSA_PSK_WITH_AES_256_CBC_SHA": 0x0095,
- "TLS_RSA_WITH_SEED_CBC_SHA": 0x0096,
- "TLS_DH_DSS_WITH_SEED_CBC_SHA": 0x0097,
- "TLS_DH_RSA_WITH_SEED_CBC_SHA": 0x0098,
- "TLS_DHE_DSS_WITH_SEED_CBC_SHA": 0x0099,
- "TLS_DHE_RSA_WITH_SEED_CBC_SHA": 0x009A,
- "TLS_DH_anon_WITH_SEED_CBC_SHA": 0x009B,
- "TLS_RSA_WITH_AES_128_GCM_SHA256": 0x009C,
- "TLS_RSA_WITH_AES_256_GCM_SHA384": 0x009D,
- "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256": 0x009E,
- "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384": 0x009F,
- "TLS_DH_RSA_WITH_AES_128_GCM_SHA256": 0x00A0,
- "TLS_DH_RSA_WITH_AES_256_GCM_SHA384": 0x00A1,
- "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256": 0x00A2,
- "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384": 0x00A3,
- "TLS_DH_DSS_WITH_AES_128_GCM_SHA256": 0x00A4,
- "TLS_DH_DSS_WITH_AES_256_GCM_SHA384": 0x00A5,
- "TLS_DH_anon_WITH_AES_128_GCM_SHA256": 0x00A6,
- "TLS_DH_anon_WITH_AES_256_GCM_SHA384": 0x00A7,
- "TLS_PSK_WITH_AES_128_GCM_SHA256": 0x00A8,
- "TLS_PSK_WITH_AES_256_GCM_SHA384": 0x00A9,
- "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256": 0x00AA,
- "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384": 0x00AB,
- "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256": 0x00AC,
- "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384": 0x00AD,
- "TLS_PSK_WITH_AES_128_CBC_SHA256": 0x00AE,
- "TLS_PSK_WITH_AES_256_CBC_SHA384": 0x00AF,
- "TLS_PSK_WITH_NULL_SHA256": 0x00B0,
- "TLS_PSK_WITH_NULL_SHA384": 0x00B1,
- "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256": 0x00B2,
- "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384": 0x00B3,
- "TLS_DHE_PSK_WITH_NULL_SHA256": 0x00B4,
- "TLS_DHE_PSK_WITH_NULL_SHA384": 0x00B5,
- "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256": 0x00B6,
- "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384": 0x00B7,
- "TLS_RSA_PSK_WITH_NULL_SHA256": 0x00B8,
- "TLS_RSA_PSK_WITH_NULL_SHA384": 0x00B9,
- "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256": 0x00BA,
- "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256": 0x00BB,
- "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256": 0x00BC,
- "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256": 0x00BD,
- "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256": 0x00BE,
- "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256": 0x00BF,
- "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256": 0x00C0,
- "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256": 0x00C1,
- "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256": 0x00C2,
- "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256": 0x00C3,
- "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256": 0x00C4,
- "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256": 0x00C5,
- "TLS_SM4_GCM_SM3": 0x00C6,
- "TLS_SM4_CCM_SM3": 0x00C7,
-
- "TLS_EMPTY_RENEGOTIATION_INFO_SCSV": 0x00FF,
-
- "TLS_AES_128_GCM_SHA256": 0x1301,
- "TLS_AES_256_GCM_SHA384": 0x1302,
- "TLS_CHACHA20_POLY1305_SHA256": 0x1303,
- "TLS_AES_128_CCM_SHA256": 0x1304,
- "TLS_AES_128_CCM_8_SHA256": 0x1305,
- "TLS_AEGIS_256_SHA384": 0x1306,
- "TLS_AEGIS_128L_SHA256": 0x1307,
-
- "TLS_FALLBACK_SCSV": 0x5600,
-
- "TLS_ECDH_ECDSA_WITH_NULL_SHA": 0xC001,
- "TLS_ECDH_ECDSA_WITH_RC4_128_SHA": 0xC002,
- "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA": 0xC003,
- "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA": 0xC004,
- "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA": 0xC005,
- "TLS_ECDHE_ECDSA_WITH_NULL_SHA": 0xC006,
- "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": 0xC007,
- "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA": 0xC008,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": 0xC009,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": 0xC00A,
- "TLS_ECDH_RSA_WITH_NULL_SHA": 0xC00B,
- "TLS_ECDH_RSA_WITH_RC4_128_SHA": 0xC00C,
- "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA": 0xC00D,
- "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA": 0xC00E,
- "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA": 0xC00F,
- "TLS_ECDHE_RSA_WITH_NULL_SHA": 0xC010,
- "TLS_ECDHE_RSA_WITH_RC4_128_SHA": 0xC011,
- "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": 0xC012,
- "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": 0xC013,
- "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": 0xC014,
- "TLS_ECDH_anon_WITH_NULL_SHA": 0xC015,
- "TLS_ECDH_anon_WITH_RC4_128_SHA": 0xC016,
- "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA": 0xC017,
- "TLS_ECDH_anon_WITH_AES_128_CBC_SHA": 0xC018,
- "TLS_ECDH_anon_WITH_AES_256_CBC_SHA": 0xC019,
- "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA": 0xC01A,
- "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA": 0xC01B,
- "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA": 0xC01C,
- "TLS_SRP_SHA_WITH_AES_128_CBC_SHA": 0xC01D,
- "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA": 0xC01E,
- "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA": 0xC01F,
- "TLS_SRP_SHA_WITH_AES_256_CBC_SHA": 0xC020,
- "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA": 0xC021,
- "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA": 0xC022,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256": 0xC023,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384": 0xC024,
- "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256": 0xC025,
- "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384": 0xC026,
- "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256": 0xC027,
- "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384": 0xC028,
- "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256": 0xC029,
- "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384": 0xC02A,
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": 0xC02B,
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384": 0xC02C,
- "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256": 0xC02D,
- "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384": 0xC02E,
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": 0xC02F,
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384": 0xC030,
- "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256": 0xC031,
- "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384": 0xC032,
- "TLS_ECDHE_PSK_WITH_RC4_128_SHA": 0xC033,
- "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA": 0xC034,
- "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA": 0xC035,
- "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA": 0xC036,
- "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256": 0xC037,
- "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384": 0xC038,
- "TLS_ECDHE_PSK_WITH_NULL_SHA": 0xC039,
- "TLS_ECDHE_PSK_WITH_NULL_SHA256": 0xC03A,
- "TLS_ECDHE_PSK_WITH_NULL_SHA384": 0xC03B,
- "TLS_RSA_WITH_ARIA_128_CBC_SHA256": 0xC03C,
- "TLS_RSA_WITH_ARIA_256_CBC_SHA384": 0xC03D,
- "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256": 0xC03E,
- "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384": 0xC03F,
- "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256": 0xC040,
- "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384": 0xC041,
- "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256": 0xC042,
- "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384": 0xC043,
- "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256": 0xC044,
- "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384": 0xC045,
- "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256": 0xC046,
- "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384": 0xC047,
- "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256": 0xC048,
- "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384": 0xC049,
- "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256": 0xC04A,
- "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384": 0xC04B,
- "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256": 0xC04C,
- "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384": 0xC04D,
- "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256": 0xC04E,
- "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384": 0xC04F,
- "TLS_RSA_WITH_ARIA_128_GCM_SHA256": 0xC050,
- "TLS_RSA_WITH_ARIA_256_GCM_SHA384": 0xC051,
- "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256": 0xC052,
- "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384": 0xC053,
- "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256": 0xC054,
- "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384": 0xC055,
- "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256": 0xC056,
- "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384": 0xC057,
- "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256": 0xC058,
- "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384": 0xC059,
- "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256": 0xC05A,
- "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384": 0xC05B,
- "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256": 0xC05C,
- "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384": 0xC05D,
- "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256": 0xC05E,
- "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384": 0xC05F,
- "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256": 0xC060,
- "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384": 0xC061,
- "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256": 0xC062,
- "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384": 0xC063,
- "TLS_PSK_WITH_ARIA_128_CBC_SHA256": 0xC064,
- "TLS_PSK_WITH_ARIA_256_CBC_SHA384": 0xC065,
- "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256": 0xC066,
- "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384": 0xC067,
- "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256": 0xC068,
- "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384": 0xC069,
- "TLS_PSK_WITH_ARIA_128_GCM_SHA256": 0xC06A,
- "TLS_PSK_WITH_ARIA_256_GCM_SHA384": 0xC06B,
- "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256": 0xC06C,
- "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384": 0xC06D,
- "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256": 0xC06E,
- "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384": 0xC06F,
- "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256": 0xC070,
- "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384": 0xC071,
- "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256": 0xC072,
- "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384": 0xC073,
- "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256": 0xC074,
- "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384": 0xC075,
- "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256": 0xC076,
- "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384": 0xC077,
- "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256": 0xC078,
- "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384": 0xC079,
- "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC07A,
- "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC07B,
- "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC07C,
- "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC07D,
- "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC07E,
- "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC07F,
- "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256": 0xC080,
- "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384": 0xC081,
- "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256": 0xC082,
- "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384": 0xC083,
- "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256": 0xC084,
- "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384": 0xC085,
- "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC086,
- "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC087,
- "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC088,
- "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC089,
- "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC08A,
- "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC08B,
- "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256": 0xC08C,
- "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384": 0xC08D,
- "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256": 0xC08E,
- "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384": 0xC08F,
- "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256": 0xC090,
- "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384": 0xC091,
- "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256": 0xC092,
- "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384": 0xC093,
- "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256": 0xC094,
- "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384": 0xC095,
- "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256": 0xC096,
- "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384": 0xC097,
- "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256": 0xC098,
- "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384": 0xC099,
- "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256": 0xC09A,
- "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384": 0xC09B,
- "TLS_RSA_WITH_AES_128_CCM": 0xC09C,
- "TLS_RSA_WITH_AES_256_CCM": 0xC09D,
- "TLS_DHE_RSA_WITH_AES_128_CCM": 0xC09E,
- "TLS_DHE_RSA_WITH_AES_256_CCM": 0xC09F,
- "TLS_RSA_WITH_AES_128_CCM_8": 0xC0A0,
- "TLS_RSA_WITH_AES_256_CCM_8": 0xC0A1,
- "TLS_DHE_RSA_WITH_AES_128_CCM_8": 0xC0A2,
- "TLS_DHE_RSA_WITH_AES_256_CCM_8": 0xC0A3,
- "TLS_PSK_WITH_AES_128_CCM": 0xC0A4,
- "TLS_PSK_WITH_AES_256_CCM": 0xC0A5,
- "TLS_DHE_PSK_WITH_AES_128_CCM": 0xC0A6,
- "TLS_DHE_PSK_WITH_AES_256_CCM": 0xC0A7,
- "TLS_PSK_WITH_AES_128_CCM_8": 0xC0A8,
- "TLS_PSK_WITH_AES_256_CCM_8": 0xC0A9,
- "TLS_PSK_DHE_WITH_AES_128_CCM_8": 0xC0AA,
- "TLS_PSK_DHE_WITH_AES_256_CCM_8": 0xC0AB,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CCM": 0xC0AC,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CCM": 0xC0AD,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8": 0xC0AE,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8": 0xC0AF,
- "TLS_ECCPWD_WITH_AES_128_GCM_SHA256": 0xC0B0,
- "TLS_ECCPWD_WITH_AES_256_GCM_SHA384": 0xC0B1,
- "TLS_ECCPWD_WITH_AES_128_CCM_SHA256": 0xC0B2,
- "TLS_ECCPWD_WITH_AES_256_CCM_SHA384": 0xC0B3,
- "TLS_SHA256_SHA256": 0xC0B4,
- "TLS_SHA384_SHA384": 0xC0B5,
-
- "TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC": 0xC100,
- "TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC": 0xC101,
- "TLS_GOSTR341112_256_WITH_28147_CNT_IMIT": 0xC102,
- "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L": 0xC103,
- "TLS_GOSTR341112_256_WITH_MAGMA_MGM_L": 0xC104,
- "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S": 0xC105,
- "TLS_GOSTR341112_256_WITH_MAGMA_MGM_S": 0xC106,
-
- "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256": 0xCCA8,
- "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256": 0xCCA9,
- "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256": 0xCCAA,
- "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256": 0xCCAB,
- "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256": 0xCCAC,
- "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256": 0xCCAD,
- "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256": 0xCCAE,
-
- "TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256": 0xD001,
- "TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384": 0xD002,
- "TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256": 0xD003,
-
- "TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256": 0xD005,
-}
diff --git a/vendor/github.com/gaukas/godicttls/clientcertificatetype_identifiers.go b/vendor/github.com/gaukas/godicttls/clientcertificatetype_identifiers.go
deleted file mode 100644
index 56354c9e..00000000
--- a/vendor/github.com/gaukas/godicttls/clientcertificatetype_identifiers.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-2
-// last updated: March 2023
-
-const (
- ClientCertTypeIdentifier_rsa_sign uint8 = 1
- ClientCertTypeIdentifier_dss_sign uint8 = 2
- ClientCertTypeIdentifier_rsa_fixed_dh uint8 = 3
- ClientCertTypeIdentifier_dss_fixed_dh uint8 = 4
- ClientCertTypeIdentifier_rsa_ephemeral_dh uint8 = 5
- ClientCertTypeIdentifier_dss_ephemeral_dh uint8 = 6
- ClientCertTypeIdentifier_fortezza_dms uint8 = 20
- ClientCertTypeIdentifier_ecdsa_sign uint8 = 64
- ClientCertTypeIdentifier_rsa_fixed_ecdh uint8 = 65
- ClientCertTypeIdentifier_ecdsa_fixed_ecdh uint8 = 66
- ClientCertTypeIdentifier_gost_sign256 uint8 = 67
- ClientCertTypeIdentifier_gost_sign512 uint8 = 68
-)
-
-var DictClientCertificateTypeIdentifierValueIndexed = map[uint8]string{
- 1: "rsa_sign",
- 2: "dss_sign",
- 3: "rsa_fixed_dh",
- 4: "dss_fixed_dh",
- 5: "rsa_ephemeral_dh",
- 6: "dss_ephemeral_dh",
- 20: "fortezza_dms",
- 64: "ecdsa_sign",
- 65: "rsa_fixed_ecdh",
- 66: "ecdsa_fixed_ecdh",
- 67: "gost_sign256",
- 68: "gost_sign512",
-}
-
-var DictClientCertificateTypeIdentifierNameIndexed = map[string]uint8{
- "rsa_sign": 1,
- "dss_sign": 2,
- "rsa_fixed_dh": 3,
- "dss_fixed_dh": 4,
- "rsa_ephemeral_dh": 5,
- "dss_ephemeral_dh": 6,
- "fortezza_dms": 20,
- "ecdsa_sign": 64,
- "rsa_fixed_ecdh": 65,
- "ecdsa_fixed_ecdh": 66,
- "gost_sign256": 67,
- "gost_sign512": 68,
-}
diff --git a/vendor/github.com/gaukas/godicttls/comp_meth_ids.go b/vendor/github.com/gaukas/godicttls/comp_meth_ids.go
deleted file mode 100644
index c1d5908d..00000000
--- a/vendor/github.com/gaukas/godicttls/comp_meth_ids.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/comp-meth-ids/comp-meth-ids-2.csv
-// last updated: March 2023
-
-const (
- CompMeth_NULL uint8 = 0
- CompMeth_DEFLATE uint8 = 1
- CompMeth_LZS uint8 = 64
-)
-
-var DictCompMethValueIndexed = map[uint8]string{
- 0: "NULL",
- 1: "DEFLATE",
- 64: "LZS",
-}
-
-var DictCompMethNameIndexed = map[string]uint8{
- "NULL": 0,
- "DEFLATE": 1,
- "LZS": 64,
-}
diff --git a/vendor/github.com/gaukas/godicttls/contenttype.go b/vendor/github.com/gaukas/godicttls/contenttype.go
deleted file mode 100644
index dce2f059..00000000
--- a/vendor/github.com/gaukas/godicttls/contenttype.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-5
-// last updated: March 2023
-
-const (
- ContentType_change_cipher_spec uint8 = 20
- ContentType_alert uint8 = 21
- ContentType_handshake uint8 = 22
- ContentType_application_data uint8 = 23
- ContentType_heartbeat uint8 = 24
- ContentType_tls12_cid uint8 = 25
- ContentType_ACK uint8 = 26
-)
-
-var DictContentTypeValueIndexed = map[uint8]string{
- 20: "change_cipher_spec",
- 21: "alert",
- 22: "handshake",
- 23: "application_data",
- 24: "heartbeat",
- 25: "tls12_cid",
- 26: "ACK",
-}
-
-var DictContentTypeNameIndexed = map[string]uint8{
- "change_cipher_spec": 20,
- "alert": 21,
- "handshake": 22,
- "application_data": 23,
- "heartbeat": 24,
- "tls12_cid": 25,
- "ACK": 26,
-}
diff --git a/vendor/github.com/gaukas/godicttls/ec_curve_types.go b/vendor/github.com/gaukas/godicttls/ec_curve_types.go
deleted file mode 100644
index 733a86f1..00000000
--- a/vendor/github.com/gaukas/godicttls/ec_curve_types.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-10
-// last updated: March 2023
-
-const (
- ECCurve_explicit_prime uint16 = 1
- ECCurve_explicit_char2 uint16 = 2
- ECCurve_named_curve uint16 = 3
-)
-
-var DictECCurveTypeValueIndexed = map[uint16]string{
- 1: "explicit_prime",
- 2: "explicit_char2",
- 3: "named_curve",
-}
-
-var DictECCurveTypeNameIndexed = map[string]uint16{
- "explicit_prime": 1,
- "explicit_char2": 2,
- "named_curve": 3,
-}
diff --git a/vendor/github.com/gaukas/godicttls/ec_point_formats.go b/vendor/github.com/gaukas/godicttls/ec_point_formats.go
deleted file mode 100644
index e57f1980..00000000
--- a/vendor/github.com/gaukas/godicttls/ec_point_formats.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-9
-// last updated: March 2023
-
-const (
- ECPoint_uncompressed uint8 = 0
- ECPoint_ansiX962_compressed_prime uint8 = 1
- ECPoint_ansiX962_compressed_char2 uint8 = 2
-)
-
-var DictECPointFormatValueIndexed = map[uint8]string{
- 0: "uncompressed",
- 1: "ansiX962_compressed_prime",
- 2: "ansiX962_compressed_char2",
-}
-
-var DictECPointFormatNameIndexed = map[string]uint8{
- "uncompressed": 0,
- "ansiX962_compressed_prime": 1,
- "ansiX962_compressed_char2": 2,
-}
diff --git a/vendor/github.com/gaukas/godicttls/exttype_values.go b/vendor/github.com/gaukas/godicttls/exttype_values.go
deleted file mode 100644
index fc20a487..00000000
--- a/vendor/github.com/gaukas/godicttls/exttype_values.go
+++ /dev/null
@@ -1,209 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-1
-// last updated: March 2023
-
-const (
- ExtType_server_name uint16 = 0
- ExtType_max_fragment_length uint16 = 1
- ExtType_client_certificate_url uint16 = 2
- ExtType_trusted_ca_keys uint16 = 3
- ExtType_truncated_hmac uint16 = 4
- ExtType_status_request uint16 = 5
- ExtType_user_mapping uint16 = 6
- ExtType_client_authz uint16 = 7
- ExtType_server_authz uint16 = 8
- ExtType_cert_type uint16 = 9
- ExtType_supported_groups uint16 = 10
- ExtType_ec_point_formats uint16 = 11
- ExtType_srp uint16 = 12
- ExtType_signature_algorithms uint16 = 13
- ExtType_use_srtp uint16 = 14
- ExtType_heartbeat uint16 = 15
- ExtType_application_layer_protocol_negotiation uint16 = 16
- ExtType_status_request_v2 uint16 = 17
- ExtType_signed_certificate_timestamp uint16 = 18
- ExtType_client_certificate_type uint16 = 19
- ExtType_server_certificate_type uint16 = 20
- ExtType_padding uint16 = 21
- ExtType_encrypt_then_mac uint16 = 22
- ExtType_extended_master_secret uint16 = 23
- ExtType_token_binding uint16 = 24
- ExtType_cached_info uint16 = 25
- ExtType_tls_lts uint16 = 26
- ExtType_compress_certificate uint16 = 27
- ExtType_record_size_limit uint16 = 28
- ExtType_pwd_protect uint16 = 29
- ExtType_pwd_clear uint16 = 30
- ExtType_password_salt uint16 = 31
- ExtType_ticket_pinning uint16 = 32
- ExtType_tls_cert_with_extern_psk uint16 = 33
- ExtType_delegated_credentials uint16 = 34 // IANA name: delegated_credentials, IETF name: delegated_credential
- ExtType_session_ticket uint16 = 35
- ExtType_TLMSP uint16 = 36
- ExtType_TLMSP_proxying uint16 = 37
- ExtType_TLMSP_delegate uint16 = 38
- ExtType_supported_ekt_ciphers uint16 = 39
- ExtType_pre_shared_key uint16 = 41
- ExtType_early_data uint16 = 42
- ExtType_supported_versions uint16 = 43
- ExtType_cookie uint16 = 44
- ExtType_psk_key_exchange_modes uint16 = 45
- ExtType_certificate_authorities uint16 = 47
- ExtType_oid_filters uint16 = 48
- ExtType_post_handshake_auth uint16 = 49
- ExtType_signature_algorithms_cert uint16 = 50
- ExtType_key_share uint16 = 51
- ExtType_transparency_info uint16 = 52
- ExtType_connection_id_deprecated uint16 = 53 // deprecated
- ExtType_connection_id uint16 = 54
- ExtType_external_id_hash uint16 = 55
- ExtType_external_session_id uint16 = 56
- ExtType_quic_transport_parameters uint16 = 57
- ExtType_ticket_request uint16 = 58
- ExtType_dnssec_chain uint16 = 59
- ExtType_renegotiation_info uint16 = 65281
-)
-
-// Not IANA assigned
-const (
- ExtType_next_protocol_negotiation uint16 = 13172 // https://datatracker.ietf.org/doc/html/draft-agl-tls-nextprotoneg-04
- ExtType_application_settings uint16 = 17513 // https://www.ietf.org/archive/id/draft-vvv-tls-alps-01.html
- ExtType_channel_id_old uint16 = 30031 // https://datatracker.ietf.org/doc/html/draft-balfanz-tls-channelid-01
- ExtType_channel_id uint16 = 30032 // https://datatracker.ietf.org/doc/html/draft-balfanz-tls-channelid-01
-)
-
-var DictExtTypeValueIndexed = map[uint16]string{
- 0: "server_name",
- 1: "max_fragment_length",
- 2: "client_certificate_url",
- 3: "trusted_ca_keys",
- 4: "truncated_hmac",
- 5: "status_request",
- 6: "user_mapping",
- 7: "client_authz",
- 8: "server_authz",
- 9: "cert_type",
- 10: "supported_groups",
- 11: "ec_point_formats",
- 12: "srp",
- 13: "signature_algorithms",
- 14: "use_srtp",
- 15: "heartbeat",
- 16: "application_layer_protocol_negotiation",
- 17: "status_request_v2",
- 18: "signed_certificate_timestamp",
- 19: "client_certificate_type",
- 20: "server_certificate_type",
- 21: "padding",
- 22: "encrypt_then_mac",
- 23: "extended_master_secret",
- 24: "token_binding",
- 25: "cached_info",
- 26: "tls_lts",
- 27: "compress_certificate",
- 28: "record_size_limit",
- 29: "pwd_protect",
- 30: "pwd_clear",
- 31: "password_salt",
- 32: "ticket_pinning",
- 33: "tls_cert_with_extern_psk",
- 34: "delegated_credentials", // IANA name: delegated_credentials, IETF name: delegated_credential
- 35: "session_ticket",
- 36: "TLMSP",
- 37: "TLMSP_proxying",
- 38: "TLMSP_delegate",
- 39: "supported_ekt_ciphers",
- 41: "pre_shared_key",
- 42: "early_data",
- 43: "supported_versions",
- 44: "cookie",
- 45: "psk_key_exchange_modes",
- 47: "certificate_authorities",
- 48: "oid_filters",
- 49: "post_handshake_auth",
- 50: "signature_algorithms_cert",
- 51: "key_share",
- 52: "transparency_info",
- 53: "connection_id_deprecated", // deprecated
- 54: "connection_id",
- 55: "external_id_hash",
- 56: "external_session_id",
- 57: "quic_transport_parameters",
- 58: "ticket_request",
- 59: "dnssec_chain",
- 65281: "renegotiation_info",
-
- 13172: "next_protocol_negotiation",
- 17513: "application_settings",
- 30031: "channel_id_old",
- 30032: "channel_id",
-}
-
-var DictExtTypeNameIndexed = map[string]uint16{
- "server_name": 0,
- "max_fragment_length": 1,
- "client_certificate_url": 2,
- "trusted_ca_keys": 3,
- "truncated_hmac": 4,
- "status_request": 5,
- "user_mapping": 6,
- "client_authz": 7,
- "server_authz": 8,
- "cert_type": 9,
- "supported_groups": 10,
- "ec_point_formats": 11,
- "srp": 12,
- "signature_algorithms": 13,
- "use_srtp": 14,
- "heartbeat": 15,
- "application_layer_protocol_negotiation": 16,
- "status_request_v2": 17,
- "signed_certificate_timestamp": 18,
- "client_certificate_type": 19,
- "server_certificate_type": 20,
- "padding": 21,
- "encrypt_then_mac": 22,
- "extended_master_secret": 23,
- "token_binding": 24,
- "cached_info": 25,
- "tls_lts": 26,
- "compress_certificate": 27,
- "record_size_limit": 28,
- "pwd_protect": 29,
- "pwd_clear": 30,
- "password_salt": 31,
- "ticket_pinning": 32,
- "tls_cert_with_extern_psk": 33,
- "delegated_credentials": 34, // IANA name: delegated_credentials
- "delegated_credential": 34, // IETF name: delegated_credential
- "session_ticket": 35,
- "TLMSP": 36,
- "TLMSP_proxying": 37,
- "TLMSP_delegate": 38,
- "supported_ekt_ciphers": 39,
- "pre_shared_key": 41,
- "early_data": 42,
- "supported_versions": 43,
- "cookie": 44,
- "psk_key_exchange_modes": 45,
- "certificate_authorities": 47,
- "oid_filters": 48,
- "post_handshake_auth": 49,
- "signature_algorithms_cert": 50,
- "key_share": 51,
- "transparency_info": 52,
- "connection_id_deprecated": 53, // deprecated
- "connection_id": 54,
- "external_id_hash": 55,
- "external_session_id": 56,
- "quic_transport_parameters": 57,
- "ticket_request": 58,
- "dnssec_chain": 59,
- "renegotiation_info": 65281,
-
- "next_protocol_negotiation": 13172,
- "application_settings": 17513,
- "channel_id_old": 30031,
- "channel_id": 30032,
-}
diff --git a/vendor/github.com/gaukas/godicttls/handshaketype.go b/vendor/github.com/gaukas/godicttls/handshaketype.go
deleted file mode 100644
index cafba3b9..00000000
--- a/vendor/github.com/gaukas/godicttls/handshaketype.go
+++ /dev/null
@@ -1,96 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-7
-// last updated: March 2023
-
-const (
- HandshakeType_hello_request uint8 = 0
- HandshakeType_client_hello uint8 = 1
- HandshakeType_server_hello uint8 = 2
- HandshakeType_hello_verify_request uint8 = 3
- HandshakeType_new_session_ticket uint8 = 4
- HandshakeType_end_of_early_data uint8 = 5
- HandshakeType_hello_retry_request uint8 = 6
- HandshakeType_encrypted_extensions uint8 = 8
- HandshakeType_request_connection_id uint8 = 9
- HandshakeType_new_connection_id uint8 = 10
- HandshakeType_certificate uint8 = 11
- HandshakeType_server_key_exchange uint8 = 12
- HandshakeType_certificate_request uint8 = 13
- HandshakeType_server_hello_done uint8 = 14
- HandshakeType_certificate_verify uint8 = 15
- HandshakeType_client_key_exchange uint8 = 16
- HandshakeType_client_certificate_request uint8 = 17
- HandshakeType_finished uint8 = 20
- HandshakeType_certificate_url uint8 = 21
- HandshakeType_certificate_status uint8 = 22
- HandshakeType_supplemental_data uint8 = 23
- HandshakeType_key_update uint8 = 24
- HandshakeType_compressed_certificate uint8 = 25
- HandshakeType_ekt_key uint8 = 26
- HandshakeType_message_hash uint8 = 254
-
- // Not IANA assigned
- HandshakeType_next_protocol uint8 = 67
-)
-
-var DictHandshakeTypeValueIndexed = map[uint8]string{
- 0: "hello_request",
- 1: "client_hello",
- 2: "server_hello",
- 3: "hello_verify_request",
- 4: "new_session_ticket",
- 5: "end_of_early_data",
- 6: "hello_retry_request",
- 7: "Unassigned",
- 8: "encrypted_extensions",
- 9: "request_connection_id",
- 10: "new_connection_id",
- 11: "certificate",
- 12: "server_key_exchange",
- 13: "certificate_request",
- 14: "server_hello_done",
- 15: "certificate_verify",
- 16: "client_key_exchange",
- 17: "client_certificate_request",
- 20: "finished",
- 21: "certificate_url",
- 22: "certificate_status",
- 23: "supplemental_data",
- 24: "key_update",
- 25: "compressed_certificate",
- 26: "ekt_key",
- 254: "message_hash",
-
- 67: "next_protocol",
-}
-
-var DictHandshakeTypeNameIndexed = map[string]uint8{
- "hello_request": 0,
- "client_hello": 1,
- "server_hello": 2,
- "hello_verify_request": 3,
- "new_session_ticket": 4,
- "end_of_early_data": 5,
- "hello_retry_request": 6,
- "encrypted_extensions": 8,
- "request_connection_id": 9,
- "new_connection_id": 10,
- "certificate": 11,
- "server_key_exchange": 12,
- "certificate_request": 13,
- "server_hello_done": 14,
- "certificate_verify": 15,
- "client_key_exchange": 16,
- "client_certificate_request": 17,
- "finished": 20,
- "certificate_url": 21,
- "certificate_status": 22,
- "supplemental_data": 23,
- "key_update": 24,
- "compressed_certificate": 25,
- "ekt_key": 26,
- "message_hash": 254,
-
- "next_protocol": 67,
-}
diff --git a/vendor/github.com/gaukas/godicttls/hashalgorithm.go b/vendor/github.com/gaukas/godicttls/hashalgorithm.go
deleted file mode 100644
index 420bb0ae..00000000
--- a/vendor/github.com/gaukas/godicttls/hashalgorithm.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-18
-// last updated: March 2023
-
-const (
- HashAlg_none uint8 = 0 // deprecated in TLS 1.3
- HashAlg_md5 uint8 = 1 // deprecated in TLS 1.3
- HashAlg_sha1 uint8 = 2
- HashAlg_sha224 uint8 = 3 // deprecated in TLS 1.3
- HashAlg_sha256 uint8 = 4
- HashAlg_sha384 uint8 = 5
- HashAlg_sha512 uint8 = 6
- HashAlg_Intrinsic uint8 = 8
-)
-
-var DictHashAlgorithmValueIndexed = map[uint8]string{
- 0: "none",
- 1: "md5",
- 2: "sha1",
- 3: "sha224",
- 4: "sha256",
- 5: "sha384",
- 6: "sha512",
- 7: "Reserved",
- 8: "Intrinsic",
-}
-
-var DictHashAlgorithmNameIndexed = map[string]uint8{
- "none": 0,
- "md5": 1,
- "sha1": 2,
- "sha224": 3,
- "sha256": 4,
- "sha384": 5,
- "sha512": 6,
- "Reserved": 7,
- "Intrinsic": 8,
-}
diff --git a/vendor/github.com/gaukas/godicttls/heartbeat_message_types.go b/vendor/github.com/gaukas/godicttls/heartbeat_message_types.go
deleted file mode 100644
index 46db1a6e..00000000
--- a/vendor/github.com/gaukas/godicttls/heartbeat_message_types.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/heartbeat-message-types.csv
-// last updated: March 2023
-
-const (
- HeartbeatMessage_request uint8 = 1
- HeartbeatMessage_response uint8 = 2
-)
-
-var DictHeartbeatMessageTypeValueIndexed = map[uint8]string{
- 1: "heartbeat_request",
- 2: "heartbeat_response",
-}
-
-var DictHeartbeatMessageTypeNameIndexed = map[string]uint8{
- "heartbeat_request": 1,
- "heartbeat_response": 2,
-}
diff --git a/vendor/github.com/gaukas/godicttls/heartbeat_mode.go b/vendor/github.com/gaukas/godicttls/heartbeat_mode.go
deleted file mode 100644
index 0847cb2b..00000000
--- a/vendor/github.com/gaukas/godicttls/heartbeat_mode.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/heartbeat-modes.csv
-// last updated: March 2023
-
-const (
- HeartbeatMode_peer_allowed_to_send uint8 = 1
- HeartbeatMode_peer_not_allowed_to_send uint8 = 2
-)
-
-var DictHeartbeatModeValueIndexed = map[uint8]string{
- 1: "peer_allowed_to_send",
- 2: "peer_not_allowed_to_send",
-}
-
-var DictHeartbeatModeNameIndexed = map[string]uint8{
- "peer_allowed_to_send": 1,
- "peer_not_allowed_to_send": 2,
-}
diff --git a/vendor/github.com/gaukas/godicttls/kdf_identifiers.go b/vendor/github.com/gaukas/godicttls/kdf_identifiers.go
deleted file mode 100644
index f77a0f83..00000000
--- a/vendor/github.com/gaukas/godicttls/kdf_identifiers.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-kdf-ids.csv
-// last updated: March 2023
-
-const (
- HKDF_SHA256 uint16 = 0x0001
- HKDF_SHA384 uint16 = 0x0002
-)
-
-var DictKDFIdentifierValueIndexed = map[uint16]string{
- 0x0001: "HKDF_SHA256",
- 0x0002: "HKDF_SHA384",
-}
-
-var DictKDFIdentifierNameIndexed = map[string]uint16{
- "HKDF_SHA256": 0x0001,
- "HKDF_SHA384": 0x0002,
-}
diff --git a/vendor/github.com/gaukas/godicttls/psk_key_exchange_mode.go b/vendor/github.com/gaukas/godicttls/psk_key_exchange_mode.go
deleted file mode 100644
index 8df086ab..00000000
--- a/vendor/github.com/gaukas/godicttls/psk_key_exchange_mode.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-pskkeyexchangemode.csv
-// last updated: March 2023
-
-const (
- PSKKeyExchangeMode_psk_ke uint8 = 0
- PSKKeyExchangeMode_psk_dhe_ke uint8 = 1
-)
-
-var DictPSKKeyExchangeModeValueIndexed = map[uint8]string{
- 0: "psk_ke",
- 1: "psk_dhe_ke",
-}
-
-var DictPSKKeyExchangeModeNameIndexed = map[string]uint8{
- "psk_ke": 0,
- "psk_dhe_ke": 1,
-}
diff --git a/vendor/github.com/gaukas/godicttls/quic_frame_types.go b/vendor/github.com/gaukas/godicttls/quic_frame_types.go
deleted file mode 100644
index b8059d14..00000000
--- a/vendor/github.com/gaukas/godicttls/quic_frame_types.go
+++ /dev/null
@@ -1,112 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/quic/quic.xhtml#quic-frame-types
-// last updated: July 2023
-
-const (
- QUICFrameType_PADDING uint8 = 0x00
- QUICFrameType_PING uint8 = 0x01
- QUICFrameType_ACK uint8 = 0x02
- QUICFrameType_ACK_ecn uint8 = 0x03
- QUICFrameType_RESET_STREAM uint8 = 0x04
- QUICFrameType_STOP_SENDING uint8 = 0x05
- QUICFrameType_CRYPTO uint8 = 0x06
- QUICFrameType_NEW_TOKEN uint8 = 0x07
- QUICFrameType_STREAM uint8 = 0x08
- QUICFrameType_STREAM_fin uint8 = 0x09
- QUICFrameType_STREAM_len uint8 = 0x0a
- QUICFrameType_STREAM_len_fin uint8 = 0x0b
- QUICFrameType_STREAM_off uint8 = 0x0c
- QUICFrameType_STREAM_off_fin uint8 = 0x0d
- QUICFrameType_STREAM_off_len uint8 = 0x0e
- QUICFrameType_STREAM_off_len_fin uint8 = 0x0f
- QUICFrameType_MAX_DATA uint8 = 0x10
- QUICFrameType_MAX_STREAM_DATA uint8 = 0x11
- QUICFrameType_MAX_STREAMS_bidi uint8 = 0x12
- QUICFrameType_MAX_STREAMS_uni uint8 = 0x13
- QUICFrameType_DATA_BLOCKED uint8 = 0x14
- QUICFrameType_STREAM_DATA_BLOCKED uint8 = 0x15
- QUICFrameType_STREAMS_BLOCKED_bidi uint8 = 0x16
- QUICFrameType_STREAMS_BLOCKED_uni uint8 = 0x17
- QUICFrameType_NEW_CONNECTION_ID uint8 = 0x18
- QUICFrameType_RETIRE_CONNECTION_ID uint8 = 0x19
- QUICFrameType_PATH_CHALLENGE uint8 = 0x1a
- QUICFrameType_PATH_RESPONSE uint8 = 0x1b
- QUICFrameType_CONNECTION_CLOSE uint8 = 0x1c
- QUICFrameType_CONNECTION_CLOSE_app uint8 = 0x1d
- QUICFrameType_HANDSHAKE_DONE uint8 = 0x1e
- QUICFrameType_DATAGRAM uint8 = 0x30 // RFC9221
- QUICFrameType_DATAGRAM_len uint8 = 0x31 // RFC9221
-)
-
-var DictQUICFrameTypeValueIndexed = map[uint8]string{
- 0x00: "PADDING",
- 0x01: "PING",
- 0x02: "ACK",
- 0x03: "ACK_ecn",
- 0x04: "RESET_STREAM",
- 0x05: "STOP_SENDING",
- 0x06: "CRYPTO",
- 0x07: "NEW_TOKEN",
- 0x08: "STREAM",
- 0x09: "STREAM_fin",
- 0x0a: "STREAM_len",
- 0x0b: "STREAM_len_fin",
- 0x0c: "STREAM_off",
- 0x0d: "STREAM_off_fin",
- 0x0e: "STREAM_off_len",
- 0x0f: "STREAM_off_len_fin",
- 0x10: "MAX_DATA",
- 0x11: "MAX_STREAM_DATA",
- 0x12: "MAX_STREAMS_bidi",
- 0x13: "MAX_STREAMS_uni",
- 0x14: "DATA_BLOCKED",
- 0x15: "STREAM_DATA_BLOCKED",
- 0x16: "STREAMS_BLOCKED_bidi",
- 0x17: "STREAMS_BLOCKED_uni",
- 0x18: "NEW_CONNECTION_ID",
- 0x19: "RETIRE_CONNECTION_ID",
- 0x1a: "PATH_CHALLENGE",
- 0x1b: "PATH_RESPONSE",
- 0x1c: "CONNECTION_CLOSE",
- 0x1d: "CONNECTION_CLOSE_app",
- 0x1e: "HANDSHAKE_DONE",
- 0x30: "DATAGRAM",
- 0x31: "DATAGRAM_len",
-}
-
-var DictQUICFrameTypeNameIndexed = map[string]uint8{
- "PADDING": 0x00,
- "PING": 0x01,
- "ACK": 0x02,
- "ACK_ecn": 0x03,
- "RESET_STREAM": 0x04,
- "STOP_SENDING": 0x05,
- "CRYPTO": 0x06,
- "NEW_TOKEN": 0x07,
- "STREAM": 0x08,
- "STREAM_fin": 0x09,
- "STREAM_len": 0x0a,
- "STREAM_len_fin": 0x0b,
- "STREAM_off": 0x0c,
- "STREAM_off_fin": 0x0d,
- "STREAM_off_len": 0x0e,
- "STREAM_off_len_fin": 0x0f,
- "MAX_DATA": 0x10,
- "MAX_STREAM_DATA": 0x11,
- "MAX_STREAMS_bidi": 0x12,
- "MAX_STREAMS_uni": 0x13,
- "DATA_BLOCKED": 0x14,
- "STREAM_DATA_BLOCKED": 0x15,
- "STREAMS_BLOCKED_bidi": 0x16,
- "STREAMS_BLOCKED_uni": 0x17,
- "NEW_CONNECTION_ID": 0x18,
- "RETIRE_CONNECTION_ID": 0x19,
- "PATH_CHALLENGE": 0x1a,
- "PATH_RESPONSE": 0x1b,
- "CONNECTION_CLOSE": 0x1c,
- "CONNECTION_CLOSE_app": 0x1d,
- "HANDSHAKE_DONE": 0x1e,
- "DATAGRAM": 0x30,
- "DATAGRAM_len": 0x31,
-}
diff --git a/vendor/github.com/gaukas/godicttls/quic_transport_error_codes.go b/vendor/github.com/gaukas/godicttls/quic_transport_error_codes.go
deleted file mode 100644
index 6824e831..00000000
--- a/vendor/github.com/gaukas/godicttls/quic_transport_error_codes.go
+++ /dev/null
@@ -1,70 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/quic/quic.xhtml#quic-transport-error-codes
-// last updated: July 2023
-
-const (
- QUICTransportErrorCode_NO_ERROR uint16 = 0x0000
- QUICTransportErrorCode_INTERNAL_ERROR uint16 = 0x0001
- QUICTransportErrorCode_CONNECTION_REFUSED uint16 = 0x0002
- QUICTransportErrorCode_FLOW_CONTROL_ERROR uint16 = 0x0003
- QUICTransportErrorCode_STREAM_LIMIT_ERROR uint16 = 0x0004
- QUICTransportErrorCode_STREAM_STATE_ERROR uint16 = 0x0005
- QUICTransportErrorCode_FINAL_SIZE_ERROR uint16 = 0x0006
- QUICTransportErrorCode_FRAME_ENCODING_ERROR uint16 = 0x0007
- QUICTransportErrorCode_TRANSPORT_PARAMETER_ERROR uint16 = 0x0008
- QUICTransportErrorCode_CONNECTION_ID_LIMIT_ERROR uint16 = 0x0009
- QUICTransportErrorCode_PROTOCOL_VIOLATION uint16 = 0x000A
- QUICTransportErrorCode_INVALID_TOKEN uint16 = 0x000B
- QUICTransportErrorCode_APPLICATION_ERROR uint16 = 0x000C
- QUICTransportErrorCode_CRYPTO_BUFFER_EXCEEDED uint16 = 0x000D
- QUICTransportErrorCode_KEY_UPDATE_ERROR uint16 = 0x000E
- QUICTransportErrorCode_AEAD_LIMIT_REACHED uint16 = 0x000F
- QUICTransportErrorCode_NO_VIABLE_PATH uint16 = 0x0010
- QUICTransportErrorCode_VERSION_NEGOTIATION_ERROR uint16 = 0x0011 // RFC9368
- QUICTransportErrorCode_CRYPTO_ERROR uint16 = 0x0100 // 0x0100-0x01FF, use with bitwise operator
-)
-
-var DictQUICTransportErrorCodeValueIndexed = map[uint16]string{
- 0x0000: "NO_ERROR",
- 0x0001: "INTERNAL_ERROR",
- 0x0002: "CONNECTION_REFUSED",
- 0x0003: "FLOW_CONTROL_ERROR",
- 0x0004: "STREAM_LIMIT_ERROR",
- 0x0005: "STREAM_STATE_ERROR",
- 0x0006: "FINAL_SIZE_ERROR",
- 0x0007: "FRAME_ENCODING_ERROR",
- 0x0008: "TRANSPORT_PARAMETER_ERROR",
- 0x0009: "CONNECTION_ID_LIMIT_ERROR",
- 0x000A: "PROTOCOL_VIOLATION",
- 0x000B: "INVALID_TOKEN",
- 0x000C: "APPLICATION_ERROR",
- 0x000D: "CRYPTO_BUFFER_EXCEEDED",
- 0x000E: "KEY_UPDATE_ERROR",
- 0x000F: "AEAD_LIMIT_REACHED",
- 0x0010: "NO_VIABLE_PATH",
- 0x0011: "VERSION_NEGOTIATION_ERROR",
- 0x0100: "CRYPTO_ERROR",
-}
-
-var DictQUICTransportErrorCodeNameIndexed = map[string]uint16{
- "NO_ERROR": 0x0000,
- "INTERNAL_ERROR": 0x0001,
- "CONNECTION_REFUSED": 0x0002,
- "FLOW_CONTROL_ERROR": 0x0003,
- "STREAM_LIMIT_ERROR": 0x0004,
- "STREAM_STATE_ERROR": 0x0005,
- "FINAL_SIZE_ERROR": 0x0006,
- "FRAME_ENCODING_ERROR": 0x0007,
- "TRANSPORT_PARAMETER_ERROR": 0x0008,
- "CONNECTION_ID_LIMIT_ERROR": 0x0009,
- "PROTOCOL_VIOLATION": 0x000A,
- "INVALID_TOKEN": 0x000B,
- "APPLICATION_ERROR": 0x000C,
- "CRYPTO_BUFFER_EXCEEDED": 0x000D,
- "KEY_UPDATE_ERROR": 0x000E,
- "AEAD_LIMIT_REACHED": 0x000F,
- "NO_VIABLE_PATH": 0x0010,
- "VERSION_NEGOTIATION_ERROR": 0x0011,
- "CRYPTO_ERROR": 0x0100,
-}
diff --git a/vendor/github.com/gaukas/godicttls/quic_transport_parameters.go b/vendor/github.com/gaukas/godicttls/quic_transport_parameters.go
deleted file mode 100644
index 1e2f3b9f..00000000
--- a/vendor/github.com/gaukas/godicttls/quic_transport_parameters.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/quic/quic.xhtml#quic-transport
-// last updated: July 2023
-
-const (
- QUICTransportParameter_original_destination_connection_id uint64 = 0x00
- QUICTransportParameter_max_idle_timeout uint64 = 0x01
- QUICTransportParameter_stateless_reset_token uint64 = 0x02
- QUICTransportParameter_max_udp_payload_size uint64 = 0x03
- QUICTransportParameter_initial_max_data uint64 = 0x04
- QUICTransportParameter_initial_max_stream_data_bidi_local uint64 = 0x05
- QUICTransportParameter_initial_max_stream_data_bidi_remote uint64 = 0x06
- QUICTransportParameter_initial_max_stream_data_uni uint64 = 0x07
- QUICTransportParameter_initial_max_streams_bidi uint64 = 0x08
- QUICTransportParameter_initial_max_streams_uni uint64 = 0x09
- QUICTransportParameter_ack_delay_exponent uint64 = 0x0a
- QUICTransportParameter_max_ack_delay uint64 = 0x0b
- QUICTransportParameter_disable_active_migration uint64 = 0x0c
- QUICTransportParameter_preferred_address uint64 = 0x0d
- QUICTransportParameter_active_connection_id_limit uint64 = 0x0e
- QUICTransportParameter_initial_source_connection_id uint64 = 0x0f
- QUICTransportParameter_retry_source_connection_id uint64 = 0x10
- QUICTransportParameter_version_information uint64 = 0x11 // RFC9368
- QUICTransportParameter_max_datagram_frame_size uint64 = 0x20 // RFC9221
- QUICTransportParameter_discard uint64 = 0x173e // David_Schinazi: Receiver silently discards. https://github.com/quicwg/base-drafts/wiki/Quantum-Readiness-test
- QUICTransportParameter_google_handshake_message uint64 = 0x26ab // Google: Used to carry Google internal handshake message
- QUICTransportParameter_grease_quic_bit uint64 = 0x2ab2 // RFC9287
- QUICTransportParameter_initial_rtt uint64 = 0x3127 // Google: Initial RTT in microseconds
- QUICTransportParameter_google_connection_options uint64 = 0x3128 // Google: Google connection options for experimentation
- QUICTransportParameter_user_agent uint64 = 0x3129 // Google: User agent string (deprecated)
- QUICTransportParameter_google_version uint64 = 0x4752 // Google: Google QUIC version downgrade prevention
-)
-
-var DictQUICTransportParameterValueIndexed = map[uint64]string{
- 0x00: "original_destination_connection_id",
- 0x01: "max_idle_timeout",
- 0x02: "stateless_reset_token",
- 0x03: "max_udp_payload_size",
- 0x04: "initial_max_data",
- 0x05: "initial_max_stream_data_bidi_local",
- 0x06: "initial_max_stream_data_bidi_remote",
- 0x07: "initial_max_stream_data_uni",
- 0x08: "initial_max_streams_bidi",
- 0x09: "initial_max_streams_uni",
- 0x0a: "ack_delay_exponent",
- 0x0b: "max_ack_delay",
- 0x0c: "disable_active_migration",
- 0x0d: "preferred_address",
- 0x0e: "active_connection_id_limit",
- 0x0f: "initial_source_connection_id",
- 0x10: "retry_source_connection_id",
- 0x11: "version_information",
- 0x20: "max_datagram_frame_size",
- 0x173e: "discard",
- 0x26ab: "google handshake message",
- 0x2ab2: "grease_quic_bit",
- 0x3127: "initial_rtt",
- 0x3128: "google_connection_options",
- 0x3129: "user_agent",
- 0x4752: "google_version",
-}
-
-var DictQUICTransportParameterNameIndexed = map[string]uint64{
- "original_destination_connection_id": 0x00,
- "max_idle_timeout": 0x01,
- "stateless_reset_token": 0x02,
- "max_udp_payload_size": 0x03,
- "initial_max_data": 0x04,
- "initial_max_stream_data_bidi_local": 0x05,
- "initial_max_stream_data_bidi_remote": 0x06,
- "initial_max_stream_data_uni": 0x07,
- "initial_max_streams_bidi": 0x08,
- "initial_max_streams_uni": 0x09,
- "ack_delay_exponent": 0x0a,
- "max_ack_delay": 0x0b,
- "disable_active_migration": 0x0c,
- "preferred_address": 0x0d,
- "active_connection_id_limit": 0x0e,
- "initial_source_connection_id": 0x0f,
- "retry_source_connection_id": 0x10,
- "version_information": 0x11,
- "max_datagram_frame_size": 0x20,
- "discard": 0x173e,
- "google handshake message": 0x26ab,
- "grease_quic_bit": 0x2ab2,
- "initial_rtt": 0x3127,
- "google_connection_options": 0x3128,
- "user_agent": 0x3129,
- "google_version": 0x4752,
-}
diff --git a/vendor/github.com/gaukas/godicttls/signaturealgorithm.go b/vendor/github.com/gaukas/godicttls/signaturealgorithm.go
deleted file mode 100644
index e219dfc0..00000000
--- a/vendor/github.com/gaukas/godicttls/signaturealgorithm.go
+++ /dev/null
@@ -1,41 +0,0 @@
-package godicttls
-
-// Note: values in this file was used in TLS 1.2's signature_algorithms extension
-// in combination with the values in hashalgorithm.go.
-// signature_algorithms extension in TLS 1.3 uses values in signaturescheme.go
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-16
-// last updated: March 2023
-
-const (
- SigAlg_anonymous uint8 = 0 // deprecated in TLS 1.3
- SigAlg_rsa uint8 = 1
- SigAlg_dsa uint8 = 2 // deprecated in TLS 1.3
- SigAlg_ecdsa uint8 = 3
- SigAlg_ed25519 uint8 = 7
- SigAlg_ed448 uint8 = 8
- SigAlg_gostr34102012_256 uint8 = 64 // value changed in TLS 1.3, to 0x0709-0x070C
- SigAlg_gostr34102012_512 uint8 = 65 // value changed in TLS 1.3, to 0x070D-0x070F
-)
-
-var DictSignatureAlgorithmValueIndexed = map[uint8]string{
- 0: "anonymous",
- 1: "rsa",
- 2: "dsa",
- 3: "ecdsa",
- 7: "ed25519",
- 8: "ed448",
- 64: "gostr34102012_256",
- 65: "gostr34102012_512",
-}
-
-var DictSignatureAlgorithmNameIndexed = map[string]uint8{
- "anonymous": 0,
- "rsa": 1,
- "dsa": 2,
- "ecdsa": 3,
- "ed25519": 7,
- "ed448": 8,
- "gostr34102012_256": 64,
- "gostr34102012_512": 65,
-}
diff --git a/vendor/github.com/gaukas/godicttls/signaturescheme.go b/vendor/github.com/gaukas/godicttls/signaturescheme.go
deleted file mode 100644
index 969eca82..00000000
--- a/vendor/github.com/gaukas/godicttls/signaturescheme.go
+++ /dev/null
@@ -1,116 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-signaturescheme.csv
-// last updated: March 2023
-
-const (
- SigScheme_rsa_pkcs1_sha1 uint16 = 0x0201
- SigScheme_ecdsa_sha1 uint16 = 0x0203
- SigScheme_rsa_pkcs1_sha256 uint16 = 0x0401
- SigScheme_ecdsa_secp256r1_sha256 uint16 = 0x0403
- SigScheme_rsa_pkcs1_sha256_legacy uint16 = 0x0420
- SigScheme_rsa_pkcs1_sha384 uint16 = 0x0501
- SigScheme_ecdsa_secp384r1_sha384 uint16 = 0x0503
- SigScheme_rsa_pkcs1_sha384_legacy uint16 = 0x0520
- SigScheme_rsa_pkcs1_sha512 uint16 = 0x0601
- SigScheme_ecdsa_secp521r1_sha512 uint16 = 0x0603
- SigScheme_rsa_pkcs1_sha512_legacy uint16 = 0x0620
- SigScheme_eccsi_sha256 uint16 = 0x0704
- SigScheme_iso_ibs1 uint16 = 0x0705
- SigScheme_iso_ibs2 uint16 = 0x0706
- SigScheme_iso_chinese_ibs uint16 = 0x0707
- SigScheme_sm2sig_sm3 uint16 = 0x0708
- SigScheme_gostr34102012_256a uint16 = 0x0709
- SigScheme_gostr34102012_256b uint16 = 0x070A
- SigScheme_gostr34102012_256c uint16 = 0x070B
- SigScheme_gostr34102012_256d uint16 = 0x070C
- SigScheme_gostr34102012_512a uint16 = 0x070D
- SigScheme_gostr34102012_512b uint16 = 0x070E
- SigScheme_gostr34102012_512c uint16 = 0x070F
- SigScheme_rsa_pss_rsae_sha256 uint16 = 0x0804
- SigScheme_rsa_pss_rsae_sha384 uint16 = 0x0805
- SigScheme_rsa_pss_rsae_sha512 uint16 = 0x0806
- SigScheme_ed25519 uint16 = 0x0807
- SigScheme_ed448 uint16 = 0x0808
- SigScheme_rsa_pss_pss_sha256 uint16 = 0x0809
- SigScheme_rsa_pss_pss_sha384 uint16 = 0x080A
- SigScheme_rsa_pss_pss_sha512 uint16 = 0x080B
- SigScheme_ecdsa_brainpoolP256r1tls13_sha256 uint16 = 0x081A
- SigScheme_ecdsa_brainpoolP384r1tls13_sha384 uint16 = 0x081B
- SigScheme_ecdsa_brainpoolP512r1tls13_sha512 uint16 = 0x081C
-)
-
-var DictSignatureSchemeValueIndexed = map[uint16]string{
- 0x0201: "rsa_pkcs1_sha1",
- 0x0203: "ecdsa_sha1",
- 0x0401: "rsa_pkcs1_sha256",
- 0x0403: "ecdsa_secp256r1_sha256",
- 0x0420: "rsa_pkcs1_sha256_legacy",
- 0x0501: "rsa_pkcs1_sha384",
- 0x0503: "ecdsa_secp384r1_sha384",
- 0x0520: "rsa_pkcs1_sha384_legacy",
- 0x0601: "rsa_pkcs1_sha512",
- 0x0603: "ecdsa_secp521r1_sha512",
- 0x0620: "rsa_pkcs1_sha512_legacy",
- 0x0704: "eccsi_sha256",
- 0x0705: "iso_ibs1",
- 0x0706: "iso_ibs2",
- 0x0707: "iso_chinese_ibs",
- 0x0708: "sm2sig_sm3",
- 0x0709: "gostr34102012_256a",
- 0x070A: "gostr34102012_256b",
- 0x070B: "gostr34102012_256c",
- 0x070C: "gostr34102012_256d",
- 0x070D: "gostr34102012_512a",
- 0x070E: "gostr34102012_512b",
- 0x070F: "gostr34102012_512c",
- 0x0804: "rsa_pss_rsae_sha256",
- 0x0805: "rsa_pss_rsae_sha384",
- 0x0806: "rsa_pss_rsae_sha512",
- 0x0807: "ed25519",
- 0x0808: "ed448",
- 0x0809: "rsa_pss_pss_sha256",
- 0x080A: "rsa_pss_pss_sha384",
- 0x080B: "rsa_pss_pss_sha512",
- 0x081A: "ecdsa_brainpoolP256r1tls13_sha256",
- 0x081B: "ecdsa_brainpoolP384r1tls13_sha384",
- 0x081C: "ecdsa_brainpoolP512r1tls13_sha512",
-}
-
-var DictSignatureSchemeNameIndexed = map[string]uint16{
- "rsa_pkcs1_sha1": 0x0201,
- "Reserved for backward compatibility": 0x0202,
- "ecdsa_sha1": 0x0203,
- "rsa_pkcs1_sha256": 0x0401,
- "ecdsa_secp256r1_sha256": 0x0403,
- "rsa_pkcs1_sha256_legacy": 0x0420,
- "rsa_pkcs1_sha384": 0x0501,
- "ecdsa_secp384r1_sha384": 0x0503,
- "rsa_pkcs1_sha384_legacy": 0x0520,
- "rsa_pkcs1_sha512": 0x0601,
- "ecdsa_secp521r1_sha512": 0x0603,
- "rsa_pkcs1_sha512_legacy": 0x0620,
- "eccsi_sha256": 0x0704,
- "iso_ibs1": 0x0705,
- "iso_ibs2": 0x0706,
- "iso_chinese_ibs": 0x0707,
- "sm2sig_sm3": 0x0708,
- "gostr34102012_256a": 0x0709,
- "gostr34102012_256b": 0x070A,
- "gostr34102012_256c": 0x070B,
- "gostr34102012_256d": 0x070C,
- "gostr34102012_512a": 0x070D,
- "gostr34102012_512b": 0x070E,
- "gostr34102012_512c": 0x070F,
- "rsa_pss_rsae_sha256": 0x0804,
- "rsa_pss_rsae_sha384": 0x0805,
- "rsa_pss_rsae_sha512": 0x0806,
- "ed25519": 0x0807,
- "ed448": 0x0808,
- "rsa_pss_pss_sha256": 0x0809,
- "rsa_pss_pss_sha384": 0x080A,
- "rsa_pss_pss_sha512": 0x080B,
- "ecdsa_brainpoolP256r1tls13_sha256": 0x081A,
- "ecdsa_brainpoolP384r1tls13_sha384": 0x081B,
- "ecdsa_brainpoolP512r1tls13_sha512": 0x081C,
-}
diff --git a/vendor/github.com/gaukas/godicttls/supplemental_data_formats.go b/vendor/github.com/gaukas/godicttls/supplemental_data_formats.go
deleted file mode 100644
index 2ea74f77..00000000
--- a/vendor/github.com/gaukas/godicttls/supplemental_data_formats.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-12
-// last updated: March 2023
-
-const (
- SupplementalDataType_user_mapping_data uint16 = 0
- SupplementalDataType_authz_data uint16 = 16386
-)
-
-var DictSupplementalDataFormatValueIndexed = map[uint16]string{
- 0: "user_mapping_data",
- 16386: "authz_data",
-}
-
-var DictSupplementalDataFormatNameIndexed = map[string]uint16{
- "user_mapping_data": 0,
- "authz_data": 16386,
-}
diff --git a/vendor/github.com/gaukas/godicttls/supported_groups.go b/vendor/github.com/gaukas/godicttls/supported_groups.go
deleted file mode 100644
index 1daea63c..00000000
--- a/vendor/github.com/gaukas/godicttls/supported_groups.go
+++ /dev/null
@@ -1,157 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8
-// last updated: March 2023
-
-const (
- SupportedGroups_sect163k1 uint16 = 1
- SupportedGroups_sect163r1 uint16 = 2
- SupportedGroups_sect163r2 uint16 = 3
- SupportedGroups_sect193r1 uint16 = 4
- SupportedGroups_sect193r2 uint16 = 5
- SupportedGroups_sect233k1 uint16 = 6
- SupportedGroups_sect233r1 uint16 = 7
- SupportedGroups_sect239k1 uint16 = 8
- SupportedGroups_sect283k1 uint16 = 9
- SupportedGroups_sect283r1 uint16 = 10
- SupportedGroups_sect409k1 uint16 = 11
- SupportedGroups_sect409r1 uint16 = 12
- SupportedGroups_sect571k1 uint16 = 13
- SupportedGroups_sect571r1 uint16 = 14
- SupportedGroups_secp160k1 uint16 = 15
- SupportedGroups_secp160r1 uint16 = 16
- SupportedGroups_secp160r2 uint16 = 17
- SupportedGroups_secp192k1 uint16 = 18
- SupportedGroups_secp192r1 uint16 = 19
- SupportedGroups_secp224k1 uint16 = 20
- SupportedGroups_secp224r1 uint16 = 21
- SupportedGroups_secp256k1 uint16 = 22
- SupportedGroups_secp256r1 uint16 = 23
- SupportedGroups_secp384r1 uint16 = 24
- SupportedGroups_secp521r1 uint16 = 25
- SupportedGroups_brainpoolP256r1 uint16 = 26
- SupportedGroups_brainpoolP384r1 uint16 = 27
- SupportedGroups_brainpoolP512r1 uint16 = 28
- SupportedGroups_x25519 uint16 = 29
- SupportedGroups_x448 uint16 = 30
- SupportedGroups_brainpoolP256r1tls13 uint16 = 31
- SupportedGroups_brainpoolP384r1tls13 uint16 = 32
- SupportedGroups_brainpoolP512r1tls13 uint16 = 33
- SupportedGroups_GC256A uint16 = 34
- SupportedGroups_GC256B uint16 = 35
- SupportedGroups_GC256C uint16 = 36
- SupportedGroups_GC256D uint16 = 37
- SupportedGroups_GC512A uint16 = 38
- SupportedGroups_GC512B uint16 = 39
- SupportedGroups_GC512C uint16 = 40
- SupportedGroups_curveSM2 uint16 = 41
- SupportedGroups_ffdhe2048 uint16 = 256
- SupportedGroups_ffdhe3072 uint16 = 257
- SupportedGroups_ffdhe4096 uint16 = 258
- SupportedGroups_ffdhe6144 uint16 = 259
- SupportedGroups_ffdhe8192 uint16 = 260
- SupportedGroups_arbitrary_explicit_prime_curves uint16 = 65281
- SupportedGroups_arbitrary_explicit_char2_curves uint16 = 65282
-)
-
-var DictSupportedGroupsValueIndexed = map[uint16]string{
- 1: "sect163k1",
- 2: "sect163r1",
- 3: "sect163r2",
- 4: "sect193r1",
- 5: "sect193r2",
- 6: "sect233k1",
- 7: "sect233r1",
- 8: "sect239k1",
- 9: "sect283k1",
- 10: "sect283r1",
- 11: "sect409k1",
- 12: "sect409r1",
- 13: "sect571k1",
- 14: "sect571r1",
- 15: "secp160k1",
- 16: "secp160r1",
- 17: "secp160r2",
- 18: "secp192k1",
- 19: "secp192r1",
- 20: "secp224k1",
- 21: "secp224r1",
- 22: "secp256k1",
- 23: "secp256r1",
- 24: "secp384r1",
- 25: "secp521r1",
- 26: "brainpoolP256r1",
- 27: "brainpoolP384r1",
- 28: "brainpoolP512r1",
- 29: "x25519",
- 30: "x448",
- 31: "brainpoolP256r1tls13",
- 32: "brainpoolP384r1tls13",
- 33: "brainpoolP512r1tls13",
- 34: "GC256A",
- 35: "GC256B",
- 36: "GC256C",
- 37: "GC256D",
- 38: "GC512A",
- 39: "GC512B",
- 40: "GC512C",
- 41: "curveSM2",
- 256: "ffdhe2048",
- 257: "ffdhe3072",
- 258: "ffdhe4096",
- 259: "ffdhe6144",
- 260: "ffdhe8192",
- 65281: "arbitrary_explicit_prime_curves",
- 65282: "arbitrary_explicit_char2_curves",
-}
-
-var DictSupportedGroupsNameIndexed = map[string]uint16{
- "sect163k1": 1,
- "sect163r1": 2,
- "sect163r2": 3,
- "sect193r1": 4,
- "sect193r2": 5,
- "sect233k1": 6,
- "sect233r1": 7,
- "sect239k1": 8,
- "sect283k1": 9,
- "sect283r1": 10,
- "sect409k1": 11,
- "sect409r1": 12,
- "sect571k1": 13,
- "sect571r1": 14,
- "secp160k1": 15,
- "secp160r1": 16,
- "secp160r2": 17,
- "secp192k1": 18,
- "secp192r1": 19,
- "secp224k1": 20,
- "secp224r1": 21,
- "secp256k1": 22,
- "secp256r1": 23,
- "secp384r1": 24,
- "secp521r1": 25,
- "brainpoolP256r1": 26,
- "brainpoolP384r1": 27,
- "brainpoolP512r1": 28,
- "x25519": 29,
- "x448": 30,
- "brainpoolP256r1tls13": 31,
- "brainpoolP384r1tls13": 32,
- "brainpoolP512r1tls13": 33,
- "GC256A": 34,
- "GC256B": 35,
- "GC256C": 36,
- "GC256D": 37,
- "GC512A": 38,
- "GC512B": 39,
- "GC512C": 40,
- "curveSM2": 41,
- "ffdhe2048": 256,
- "ffdhe3072": 257,
- "ffdhe4096": 258,
- "ffdhe6144": 259,
- "ffdhe8192": 260,
- "arbitrary_explicit_prime_curves": 65281,
- "arbitrary_explicit_char2_curves": 65282,
-}
diff --git a/vendor/github.com/gaukas/godicttls/usermappingtype_values.go b/vendor/github.com/gaukas/godicttls/usermappingtype_values.go
deleted file mode 100644
index 79108427..00000000
--- a/vendor/github.com/gaukas/godicttls/usermappingtype_values.go
+++ /dev/null
@@ -1,16 +0,0 @@
-package godicttls
-
-// source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-14
-// last updated: March 2023
-
-const (
- UserMappingType_upn_domain_hint uint8 = 64
-)
-
-var DictUserMappingTypeValueIndexed = map[uint8]string{
- 64: "upn_domain_hint",
-}
-
-var DictUserMappingTypeNameIndexed = map[string]uint8{
- "upn_domain_hint": 64,
-}
diff --git a/vendor/github.com/go-redis/redis/.gitignore b/vendor/github.com/go-redis/redis/.gitignore
deleted file mode 100644
index ebfe903b..00000000
--- a/vendor/github.com/go-redis/redis/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.rdb
-testdata/*/
diff --git a/vendor/github.com/go-redis/redis/.travis.yml b/vendor/github.com/go-redis/redis/.travis.yml
deleted file mode 100644
index 06d7897b..00000000
--- a/vendor/github.com/go-redis/redis/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-sudo: false
-language: go
-
-services:
- - redis-server
-
-go:
- - 1.9.x
- - 1.10.x
- - 1.11.x
- - 1.12.x
- - tip
-
-matrix:
- allow_failures:
- - go: tip
-
-install:
- - go get github.com/onsi/ginkgo
- - go get github.com/onsi/gomega
diff --git a/vendor/github.com/go-redis/redis/CHANGELOG.md b/vendor/github.com/go-redis/redis/CHANGELOG.md
deleted file mode 100644
index 19645661..00000000
--- a/vendor/github.com/go-redis/redis/CHANGELOG.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Changelog
-
-## Unreleased
-
-- Cluster and Ring pipelines process commands for each node in its own goroutine.
-
-## 6.14
-
-- Added Options.MinIdleConns.
-- Added Options.MaxConnAge.
-- PoolStats.FreeConns is renamed to PoolStats.IdleConns.
-- Add Client.Do to simplify creating custom commands.
-- Add Cmd.String, Cmd.Int, Cmd.Int64, Cmd.Uint64, Cmd.Float64, and Cmd.Bool helpers.
-- Lower memory usage.
-
-## v6.13
-
-- Ring got new options called `HashReplicas` and `Hash`. It is recommended to set `HashReplicas = 1000` for better keys distribution between shards.
-- Cluster client was optimized to use much less memory when reloading cluster state.
-- PubSub.ReceiveMessage is re-worked to not use ReceiveTimeout so it does not lose data when timeout occurres. In most cases it is recommended to use PubSub.Channel instead.
-- Dialer.KeepAlive is set to 5 minutes by default.
-
-## v6.12
-
-- ClusterClient got new option called `ClusterSlots` which allows to build cluster of normal Redis Servers that don't have cluster mode enabled. See https://godoc.org/github.com/go-redis/redis#example-NewClusterClient--ManualSetup
diff --git a/vendor/github.com/go-redis/redis/LICENSE b/vendor/github.com/go-redis/redis/LICENSE
deleted file mode 100644
index 298bed9b..00000000
--- a/vendor/github.com/go-redis/redis/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2013 The github.com/go-redis/redis 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.
-
-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/github.com/go-redis/redis/Makefile b/vendor/github.com/go-redis/redis/Makefile
deleted file mode 100644
index fa3b4e00..00000000
--- a/vendor/github.com/go-redis/redis/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-all: testdeps
- go test ./...
- go test ./... -short -race
- env GOOS=linux GOARCH=386 go test ./...
- go vet
- go get github.com/gordonklaus/ineffassign
- ineffassign .
-
-testdeps: testdata/redis/src/redis-server
-
-bench: testdeps
- go test ./... -test.run=NONE -test.bench=. -test.benchmem
-
-.PHONY: all test testdeps bench
-
-testdata/redis:
- mkdir -p $@
- wget -qO- https://github.com/antirez/redis/archive/5.0.tar.gz | tar xvz --strip-components=1 -C $@
-
-testdata/redis/src/redis-server: testdata/redis
- sed -i.bak 's/libjemalloc.a/libjemalloc.a -lrt/g' $
-}
-
-func ExampleClient() {
- err := client.Set("key", "value", 0).Err()
- if err != nil {
- panic(err)
- }
-
- val, err := client.Get("key").Result()
- if err != nil {
- panic(err)
- }
- fmt.Println("key", val)
-
- val2, err := client.Get("key2").Result()
- if err == redis.Nil {
- fmt.Println("key2 does not exist")
- } else if err != nil {
- panic(err)
- } else {
- fmt.Println("key2", val2)
- }
- // Output: key value
- // key2 does not exist
-}
-```
-
-## Howto
-
-Please go through [examples](https://godoc.org/github.com/go-redis/redis#pkg-examples) to get an idea how to use this package.
-
-## Look and feel
-
-Some corner cases:
-
-```go
-// SET key value EX 10 NX
-set, err := client.SetNX("key", "value", 10*time.Second).Result()
-
-// SORT list LIMIT 0 2 ASC
-vals, err := client.Sort("list", redis.Sort{Offset: 0, Count: 2, Order: "ASC"}).Result()
-
-// ZRANGEBYSCORE zset -inf +inf WITHSCORES LIMIT 0 2
-vals, err := client.ZRangeByScoreWithScores("zset", redis.ZRangeBy{
- Min: "-inf",
- Max: "+inf",
- Offset: 0,
- Count: 2,
-}).Result()
-
-// ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 AGGREGATE SUM
-vals, err := client.ZInterStore("out", redis.ZStore{Weights: []int64{2, 3}}, "zset1", "zset2").Result()
-
-// EVAL "return {KEYS[1],ARGV[1]}" 1 "key" "hello"
-vals, err := client.Eval("return {KEYS[1],ARGV[1]}", []string{"key"}, "hello").Result()
-```
-
-## Benchmark
-
-go-redis vs redigo:
-
-```
-BenchmarkSetGoRedis10Conns64Bytes-4 200000 7621 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis100Conns64Bytes-4 200000 7554 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis10Conns1KB-4 200000 7697 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis100Conns1KB-4 200000 7688 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis10Conns10KB-4 200000 9214 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis100Conns10KB-4 200000 9181 ns/op 210 B/op 6 allocs/op
-BenchmarkSetGoRedis10Conns1MB-4 2000 583242 ns/op 2337 B/op 6 allocs/op
-BenchmarkSetGoRedis100Conns1MB-4 2000 583089 ns/op 2338 B/op 6 allocs/op
-BenchmarkSetRedigo10Conns64Bytes-4 200000 7576 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo100Conns64Bytes-4 200000 7782 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo10Conns1KB-4 200000 7958 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo100Conns1KB-4 200000 7725 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo10Conns10KB-4 100000 18442 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo100Conns10KB-4 100000 18818 ns/op 208 B/op 7 allocs/op
-BenchmarkSetRedigo10Conns1MB-4 2000 668829 ns/op 226 B/op 7 allocs/op
-BenchmarkSetRedigo100Conns1MB-4 2000 679542 ns/op 226 B/op 7 allocs/op
-```
-
-Redis Cluster:
-
-```
-BenchmarkRedisPing-4 200000 6983 ns/op 116 B/op 4 allocs/op
-BenchmarkRedisClusterPing-4 100000 11535 ns/op 117 B/op 4 allocs/op
-```
-
-## See also
-
-- [Golang PostgreSQL ORM](https://github.com/go-pg/pg)
-- [Golang msgpack](https://github.com/vmihailenco/msgpack)
-- [Golang message task queue](https://github.com/vmihailenco/taskq)
diff --git a/vendor/github.com/go-redis/redis/cluster.go b/vendor/github.com/go-redis/redis/cluster.go
deleted file mode 100644
index ab2c76f0..00000000
--- a/vendor/github.com/go-redis/redis/cluster.go
+++ /dev/null
@@ -1,1627 +0,0 @@
-package redis
-
-import (
- "context"
- "crypto/tls"
- "fmt"
- "math"
- "math/rand"
- "net"
- "runtime"
- "sort"
- "sync"
- "sync/atomic"
- "time"
-
- "github.com/go-redis/redis/internal"
- "github.com/go-redis/redis/internal/hashtag"
- "github.com/go-redis/redis/internal/pool"
- "github.com/go-redis/redis/internal/proto"
-)
-
-var errClusterNoNodes = fmt.Errorf("redis: cluster has no nodes")
-
-// ClusterOptions are used to configure a cluster client and should be
-// passed to NewClusterClient.
-type ClusterOptions struct {
- // A seed list of host:port addresses of cluster nodes.
- Addrs []string
-
- // The maximum number of retries before giving up. Command is retried
- // on network errors and MOVED/ASK redirects.
- // Default is 8 retries.
- MaxRedirects int
-
- // Enables read-only commands on slave nodes.
- ReadOnly bool
- // Allows routing read-only commands to the closest master or slave node.
- // It automatically enables ReadOnly.
- RouteByLatency bool
- // Allows routing read-only commands to the random master or slave node.
- // It automatically enables ReadOnly.
- RouteRandomly bool
-
- // Optional function that returns cluster slots information.
- // It is useful to manually create cluster of standalone Redis servers
- // and load-balance read/write operations between master and slaves.
- // It can use service like ZooKeeper to maintain configuration information
- // and Cluster.ReloadState to manually trigger state reloading.
- ClusterSlots func() ([]ClusterSlot, error)
-
- // Optional hook that is called when a new node is created.
- OnNewNode func(*Client)
-
- // Following options are copied from Options struct.
-
- OnConnect func(*Conn) error
-
- Password string
-
- MaxRetries int
- MinRetryBackoff time.Duration
- MaxRetryBackoff time.Duration
-
- DialTimeout time.Duration
- ReadTimeout time.Duration
- WriteTimeout time.Duration
-
- // PoolSize applies per cluster node and not for the whole cluster.
- PoolSize int
- MinIdleConns int
- MaxConnAge time.Duration
- PoolTimeout time.Duration
- IdleTimeout time.Duration
- IdleCheckFrequency time.Duration
-
- TLSConfig *tls.Config
-}
-
-func (opt *ClusterOptions) init() {
- if opt.MaxRedirects == -1 {
- opt.MaxRedirects = 0
- } else if opt.MaxRedirects == 0 {
- opt.MaxRedirects = 8
- }
-
- if (opt.RouteByLatency || opt.RouteRandomly) && opt.ClusterSlots == nil {
- opt.ReadOnly = true
- }
-
- if opt.PoolSize == 0 {
- opt.PoolSize = 5 * runtime.NumCPU()
- }
-
- switch opt.ReadTimeout {
- case -1:
- opt.ReadTimeout = 0
- case 0:
- opt.ReadTimeout = 3 * time.Second
- }
- switch opt.WriteTimeout {
- case -1:
- opt.WriteTimeout = 0
- case 0:
- opt.WriteTimeout = opt.ReadTimeout
- }
-
- switch opt.MinRetryBackoff {
- case -1:
- opt.MinRetryBackoff = 0
- case 0:
- opt.MinRetryBackoff = 8 * time.Millisecond
- }
- switch opt.MaxRetryBackoff {
- case -1:
- opt.MaxRetryBackoff = 0
- case 0:
- opt.MaxRetryBackoff = 512 * time.Millisecond
- }
-}
-
-func (opt *ClusterOptions) clientOptions() *Options {
- const disableIdleCheck = -1
-
- return &Options{
- OnConnect: opt.OnConnect,
-
- MaxRetries: opt.MaxRetries,
- MinRetryBackoff: opt.MinRetryBackoff,
- MaxRetryBackoff: opt.MaxRetryBackoff,
- Password: opt.Password,
- readOnly: opt.ReadOnly,
-
- DialTimeout: opt.DialTimeout,
- ReadTimeout: opt.ReadTimeout,
- WriteTimeout: opt.WriteTimeout,
-
- PoolSize: opt.PoolSize,
- MinIdleConns: opt.MinIdleConns,
- MaxConnAge: opt.MaxConnAge,
- PoolTimeout: opt.PoolTimeout,
- IdleTimeout: opt.IdleTimeout,
- IdleCheckFrequency: disableIdleCheck,
-
- TLSConfig: opt.TLSConfig,
- }
-}
-
-//------------------------------------------------------------------------------
-
-type clusterNode struct {
- Client *Client
-
- latency uint32 // atomic
- generation uint32 // atomic
- loading uint32 // atomic
-}
-
-func newClusterNode(clOpt *ClusterOptions, addr string) *clusterNode {
- opt := clOpt.clientOptions()
- opt.Addr = addr
- node := clusterNode{
- Client: NewClient(opt),
- }
-
- node.latency = math.MaxUint32
- if clOpt.RouteByLatency {
- go node.updateLatency()
- }
-
- if clOpt.OnNewNode != nil {
- clOpt.OnNewNode(node.Client)
- }
-
- return &node
-}
-
-func (n *clusterNode) String() string {
- return n.Client.String()
-}
-
-func (n *clusterNode) Close() error {
- return n.Client.Close()
-}
-
-func (n *clusterNode) updateLatency() {
- const probes = 10
-
- var latency uint32
- for i := 0; i < probes; i++ {
- start := time.Now()
- n.Client.Ping()
- probe := uint32(time.Since(start) / time.Microsecond)
- latency = (latency + probe) / 2
- }
- atomic.StoreUint32(&n.latency, latency)
-}
-
-func (n *clusterNode) Latency() time.Duration {
- latency := atomic.LoadUint32(&n.latency)
- return time.Duration(latency) * time.Microsecond
-}
-
-func (n *clusterNode) MarkAsLoading() {
- atomic.StoreUint32(&n.loading, uint32(time.Now().Unix()))
-}
-
-func (n *clusterNode) Loading() bool {
- const minute = int64(time.Minute / time.Second)
-
- loading := atomic.LoadUint32(&n.loading)
- if loading == 0 {
- return false
- }
- if time.Now().Unix()-int64(loading) < minute {
- return true
- }
- atomic.StoreUint32(&n.loading, 0)
- return false
-}
-
-func (n *clusterNode) Generation() uint32 {
- return atomic.LoadUint32(&n.generation)
-}
-
-func (n *clusterNode) SetGeneration(gen uint32) {
- for {
- v := atomic.LoadUint32(&n.generation)
- if gen < v || atomic.CompareAndSwapUint32(&n.generation, v, gen) {
- break
- }
- }
-}
-
-//------------------------------------------------------------------------------
-
-type clusterNodes struct {
- opt *ClusterOptions
-
- mu sync.RWMutex
- allAddrs []string
- allNodes map[string]*clusterNode
- clusterAddrs []string
- closed bool
-
- _generation uint32 // atomic
-}
-
-func newClusterNodes(opt *ClusterOptions) *clusterNodes {
- return &clusterNodes{
- opt: opt,
-
- allAddrs: opt.Addrs,
- allNodes: make(map[string]*clusterNode),
- }
-}
-
-func (c *clusterNodes) Close() error {
- c.mu.Lock()
- defer c.mu.Unlock()
-
- if c.closed {
- return nil
- }
- c.closed = true
-
- var firstErr error
- for _, node := range c.allNodes {
- if err := node.Client.Close(); err != nil && firstErr == nil {
- firstErr = err
- }
- }
-
- c.allNodes = nil
- c.clusterAddrs = nil
-
- return firstErr
-}
-
-func (c *clusterNodes) Addrs() ([]string, error) {
- var addrs []string
- c.mu.RLock()
- closed := c.closed
- if !closed {
- if len(c.clusterAddrs) > 0 {
- addrs = c.clusterAddrs
- } else {
- addrs = c.allAddrs
- }
- }
- c.mu.RUnlock()
-
- if closed {
- return nil, pool.ErrClosed
- }
- if len(addrs) == 0 {
- return nil, errClusterNoNodes
- }
- return addrs, nil
-}
-
-func (c *clusterNodes) NextGeneration() uint32 {
- return atomic.AddUint32(&c._generation, 1)
-}
-
-// GC removes unused nodes.
-func (c *clusterNodes) GC(generation uint32) {
- var collected []*clusterNode
- c.mu.Lock()
- for addr, node := range c.allNodes {
- if node.Generation() >= generation {
- continue
- }
-
- c.clusterAddrs = remove(c.clusterAddrs, addr)
- delete(c.allNodes, addr)
- collected = append(collected, node)
- }
- c.mu.Unlock()
-
- for _, node := range collected {
- _ = node.Client.Close()
- }
-}
-
-func (c *clusterNodes) Get(addr string) (*clusterNode, error) {
- var node *clusterNode
- var err error
- c.mu.RLock()
- if c.closed {
- err = pool.ErrClosed
- } else {
- node = c.allNodes[addr]
- }
- c.mu.RUnlock()
- return node, err
-}
-
-func (c *clusterNodes) GetOrCreate(addr string) (*clusterNode, error) {
- node, err := c.Get(addr)
- if err != nil {
- return nil, err
- }
- if node != nil {
- return node, nil
- }
-
- c.mu.Lock()
- defer c.mu.Unlock()
-
- if c.closed {
- return nil, pool.ErrClosed
- }
-
- node, ok := c.allNodes[addr]
- if ok {
- return node, err
- }
-
- node = newClusterNode(c.opt, addr)
-
- c.allAddrs = appendIfNotExists(c.allAddrs, addr)
- c.clusterAddrs = append(c.clusterAddrs, addr)
- c.allNodes[addr] = node
-
- return node, err
-}
-
-func (c *clusterNodes) All() ([]*clusterNode, error) {
- c.mu.RLock()
- defer c.mu.RUnlock()
-
- if c.closed {
- return nil, pool.ErrClosed
- }
-
- cp := make([]*clusterNode, 0, len(c.allNodes))
- for _, node := range c.allNodes {
- cp = append(cp, node)
- }
- return cp, nil
-}
-
-func (c *clusterNodes) Random() (*clusterNode, error) {
- addrs, err := c.Addrs()
- if err != nil {
- return nil, err
- }
-
- n := rand.Intn(len(addrs))
- return c.GetOrCreate(addrs[n])
-}
-
-//------------------------------------------------------------------------------
-
-type clusterSlot struct {
- start, end int
- nodes []*clusterNode
-}
-
-type clusterSlotSlice []*clusterSlot
-
-func (p clusterSlotSlice) Len() int {
- return len(p)
-}
-
-func (p clusterSlotSlice) Less(i, j int) bool {
- return p[i].start < p[j].start
-}
-
-func (p clusterSlotSlice) Swap(i, j int) {
- p[i], p[j] = p[j], p[i]
-}
-
-type clusterState struct {
- nodes *clusterNodes
- Masters []*clusterNode
- Slaves []*clusterNode
-
- slots []*clusterSlot
-
- generation uint32
- createdAt time.Time
-}
-
-func newClusterState(
- nodes *clusterNodes, slots []ClusterSlot, origin string,
-) (*clusterState, error) {
- c := clusterState{
- nodes: nodes,
-
- slots: make([]*clusterSlot, 0, len(slots)),
-
- generation: nodes.NextGeneration(),
- createdAt: time.Now(),
- }
-
- originHost, _, _ := net.SplitHostPort(origin)
- isLoopbackOrigin := isLoopback(originHost)
-
- for _, slot := range slots {
- var nodes []*clusterNode
- for i, slotNode := range slot.Nodes {
- addr := slotNode.Addr
- if !isLoopbackOrigin {
- addr = replaceLoopbackHost(addr, originHost)
- }
-
- node, err := c.nodes.GetOrCreate(addr)
- if err != nil {
- return nil, err
- }
-
- node.SetGeneration(c.generation)
- nodes = append(nodes, node)
-
- if i == 0 {
- c.Masters = appendUniqueNode(c.Masters, node)
- } else {
- c.Slaves = appendUniqueNode(c.Slaves, node)
- }
- }
-
- c.slots = append(c.slots, &clusterSlot{
- start: slot.Start,
- end: slot.End,
- nodes: nodes,
- })
- }
-
- sort.Sort(clusterSlotSlice(c.slots))
-
- time.AfterFunc(time.Minute, func() {
- nodes.GC(c.generation)
- })
-
- return &c, nil
-}
-
-func replaceLoopbackHost(nodeAddr, originHost string) string {
- nodeHost, nodePort, err := net.SplitHostPort(nodeAddr)
- if err != nil {
- return nodeAddr
- }
-
- nodeIP := net.ParseIP(nodeHost)
- if nodeIP == nil {
- return nodeAddr
- }
-
- if !nodeIP.IsLoopback() {
- return nodeAddr
- }
-
- // Use origin host which is not loopback and node port.
- return net.JoinHostPort(originHost, nodePort)
-}
-
-func isLoopback(host string) bool {
- ip := net.ParseIP(host)
- if ip == nil {
- return true
- }
- return ip.IsLoopback()
-}
-
-func (c *clusterState) slotMasterNode(slot int) (*clusterNode, error) {
- nodes := c.slotNodes(slot)
- if len(nodes) > 0 {
- return nodes[0], nil
- }
- return c.nodes.Random()
-}
-
-func (c *clusterState) slotSlaveNode(slot int) (*clusterNode, error) {
- nodes := c.slotNodes(slot)
- switch len(nodes) {
- case 0:
- return c.nodes.Random()
- case 1:
- return nodes[0], nil
- case 2:
- if slave := nodes[1]; !slave.Loading() {
- return slave, nil
- }
- return nodes[0], nil
- default:
- var slave *clusterNode
- for i := 0; i < 10; i++ {
- n := rand.Intn(len(nodes)-1) + 1
- slave = nodes[n]
- if !slave.Loading() {
- return slave, nil
- }
- }
-
- // All slaves are loading - use master.
- return nodes[0], nil
- }
-}
-
-func (c *clusterState) slotClosestNode(slot int) (*clusterNode, error) {
- const threshold = time.Millisecond
-
- nodes := c.slotNodes(slot)
- if len(nodes) == 0 {
- return c.nodes.Random()
- }
-
- var node *clusterNode
- for _, n := range nodes {
- if n.Loading() {
- continue
- }
- if node == nil || node.Latency()-n.Latency() > threshold {
- node = n
- }
- }
- return node, nil
-}
-
-func (c *clusterState) slotRandomNode(slot int) *clusterNode {
- nodes := c.slotNodes(slot)
- n := rand.Intn(len(nodes))
- return nodes[n]
-}
-
-func (c *clusterState) slotNodes(slot int) []*clusterNode {
- i := sort.Search(len(c.slots), func(i int) bool {
- return c.slots[i].end >= slot
- })
- if i >= len(c.slots) {
- return nil
- }
- x := c.slots[i]
- if slot >= x.start && slot <= x.end {
- return x.nodes
- }
- return nil
-}
-
-//------------------------------------------------------------------------------
-
-type clusterStateHolder struct {
- load func() (*clusterState, error)
-
- state atomic.Value
- reloading uint32 // atomic
-}
-
-func newClusterStateHolder(fn func() (*clusterState, error)) *clusterStateHolder {
- return &clusterStateHolder{
- load: fn,
- }
-}
-
-func (c *clusterStateHolder) Reload() (*clusterState, error) {
- state, err := c.load()
- if err != nil {
- return nil, err
- }
- c.state.Store(state)
- return state, nil
-}
-
-func (c *clusterStateHolder) LazyReload() {
- if !atomic.CompareAndSwapUint32(&c.reloading, 0, 1) {
- return
- }
- go func() {
- defer atomic.StoreUint32(&c.reloading, 0)
-
- _, err := c.Reload()
- if err != nil {
- return
- }
- time.Sleep(100 * time.Millisecond)
- }()
-}
-
-func (c *clusterStateHolder) Get() (*clusterState, error) {
- v := c.state.Load()
- if v != nil {
- state := v.(*clusterState)
- if time.Since(state.createdAt) > time.Minute {
- c.LazyReload()
- }
- return state, nil
- }
- return c.Reload()
-}
-
-func (c *clusterStateHolder) ReloadOrGet() (*clusterState, error) {
- state, err := c.Reload()
- if err == nil {
- return state, nil
- }
- return c.Get()
-}
-
-//------------------------------------------------------------------------------
-
-// ClusterClient is a Redis Cluster client representing a pool of zero
-// or more underlying connections. It's safe for concurrent use by
-// multiple goroutines.
-type ClusterClient struct {
- cmdable
-
- ctx context.Context
-
- opt *ClusterOptions
- nodes *clusterNodes
- state *clusterStateHolder
- cmdsInfoCache *cmdsInfoCache
-
- process func(Cmder) error
- processPipeline func([]Cmder) error
- processTxPipeline func([]Cmder) error
-}
-
-// NewClusterClient returns a Redis Cluster client as described in
-// http://redis.io/topics/cluster-spec.
-func NewClusterClient(opt *ClusterOptions) *ClusterClient {
- opt.init()
-
- c := &ClusterClient{
- opt: opt,
- nodes: newClusterNodes(opt),
- }
- c.state = newClusterStateHolder(c.loadState)
- c.cmdsInfoCache = newCmdsInfoCache(c.cmdsInfo)
-
- c.process = c.defaultProcess
- c.processPipeline = c.defaultProcessPipeline
- c.processTxPipeline = c.defaultProcessTxPipeline
-
- c.init()
- if opt.IdleCheckFrequency > 0 {
- go c.reaper(opt.IdleCheckFrequency)
- }
-
- return c
-}
-
-func (c *ClusterClient) init() {
- c.cmdable.setProcessor(c.Process)
-}
-
-// ReloadState reloads cluster state. If available it calls ClusterSlots func
-// to get cluster slots information.
-func (c *ClusterClient) ReloadState() error {
- _, err := c.state.Reload()
- return err
-}
-
-func (c *ClusterClient) Context() context.Context {
- if c.ctx != nil {
- return c.ctx
- }
- return context.Background()
-}
-
-func (c *ClusterClient) WithContext(ctx context.Context) *ClusterClient {
- if ctx == nil {
- panic("nil context")
- }
- c2 := c.clone()
- c2.ctx = ctx
- return c2
-}
-
-func (c *ClusterClient) clone() *ClusterClient {
- cp := *c
- cp.init()
- return &cp
-}
-
-// Options returns read-only Options that were used to create the client.
-func (c *ClusterClient) Options() *ClusterOptions {
- return c.opt
-}
-
-func (c *ClusterClient) retryBackoff(attempt int) time.Duration {
- return internal.RetryBackoff(attempt, c.opt.MinRetryBackoff, c.opt.MaxRetryBackoff)
-}
-
-func (c *ClusterClient) cmdsInfo() (map[string]*CommandInfo, error) {
- addrs, err := c.nodes.Addrs()
- if err != nil {
- return nil, err
- }
-
- var firstErr error
- for _, addr := range addrs {
- node, err := c.nodes.Get(addr)
- if err != nil {
- return nil, err
- }
- if node == nil {
- continue
- }
-
- info, err := node.Client.Command().Result()
- if err == nil {
- return info, nil
- }
- if firstErr == nil {
- firstErr = err
- }
- }
- return nil, firstErr
-}
-
-func (c *ClusterClient) cmdInfo(name string) *CommandInfo {
- cmdsInfo, err := c.cmdsInfoCache.Get()
- if err != nil {
- return nil
- }
-
- info := cmdsInfo[name]
- if info == nil {
- internal.Logf("info for cmd=%s not found", name)
- }
- return info
-}
-
-func cmdSlot(cmd Cmder, pos int) int {
- if pos == 0 {
- return hashtag.RandomSlot()
- }
- firstKey := cmd.stringArg(pos)
- return hashtag.Slot(firstKey)
-}
-
-func (c *ClusterClient) cmdSlot(cmd Cmder) int {
- args := cmd.Args()
- if args[0] == "cluster" && args[1] == "getkeysinslot" {
- return args[2].(int)
- }
-
- cmdInfo := c.cmdInfo(cmd.Name())
- return cmdSlot(cmd, cmdFirstKeyPos(cmd, cmdInfo))
-}
-
-func (c *ClusterClient) cmdSlotAndNode(cmd Cmder) (int, *clusterNode, error) {
- state, err := c.state.Get()
- if err != nil {
- return 0, nil, err
- }
-
- cmdInfo := c.cmdInfo(cmd.Name())
- slot := c.cmdSlot(cmd)
-
- if c.opt.ReadOnly && cmdInfo != nil && cmdInfo.ReadOnly {
- if c.opt.RouteByLatency {
- node, err := state.slotClosestNode(slot)
- return slot, node, err
- }
-
- if c.opt.RouteRandomly {
- node := state.slotRandomNode(slot)
- return slot, node, nil
- }
-
- node, err := state.slotSlaveNode(slot)
- return slot, node, err
- }
-
- node, err := state.slotMasterNode(slot)
- return slot, node, err
-}
-
-func (c *ClusterClient) slotMasterNode(slot int) (*clusterNode, error) {
- state, err := c.state.Get()
- if err != nil {
- return nil, err
- }
-
- nodes := state.slotNodes(slot)
- if len(nodes) > 0 {
- return nodes[0], nil
- }
- return c.nodes.Random()
-}
-
-func (c *ClusterClient) Watch(fn func(*Tx) error, keys ...string) error {
- if len(keys) == 0 {
- return fmt.Errorf("redis: Watch requires at least one key")
- }
-
- slot := hashtag.Slot(keys[0])
- for _, key := range keys[1:] {
- if hashtag.Slot(key) != slot {
- err := fmt.Errorf("redis: Watch requires all keys to be in the same slot")
- return err
- }
- }
-
- node, err := c.slotMasterNode(slot)
- if err != nil {
- return err
- }
-
- for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
- if attempt > 0 {
- time.Sleep(c.retryBackoff(attempt))
- }
-
- err = node.Client.Watch(fn, keys...)
- if err == nil {
- break
- }
- if err != Nil {
- c.state.LazyReload()
- }
-
- moved, ask, addr := internal.IsMovedError(err)
- if moved || ask {
- node, err = c.nodes.GetOrCreate(addr)
- if err != nil {
- return err
- }
- continue
- }
-
- if err == pool.ErrClosed || internal.IsReadOnlyError(err) {
- node, err = c.slotMasterNode(slot)
- if err != nil {
- return err
- }
- continue
- }
-
- if internal.IsRetryableError(err, true) {
- continue
- }
-
- return err
- }
-
- return err
-}
-
-// Close closes the cluster client, releasing any open resources.
-//
-// It is rare to Close a ClusterClient, as the ClusterClient is meant
-// to be long-lived and shared between many goroutines.
-func (c *ClusterClient) Close() error {
- return c.nodes.Close()
-}
-
-// Do creates a Cmd from the args and processes the cmd.
-func (c *ClusterClient) Do(args ...interface{}) *Cmd {
- cmd := NewCmd(args...)
- c.Process(cmd)
- return cmd
-}
-
-func (c *ClusterClient) WrapProcess(
- fn func(oldProcess func(Cmder) error) func(Cmder) error,
-) {
- c.process = fn(c.process)
-}
-
-func (c *ClusterClient) Process(cmd Cmder) error {
- return c.process(cmd)
-}
-
-func (c *ClusterClient) defaultProcess(cmd Cmder) error {
- var node *clusterNode
- var ask bool
- for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
- if attempt > 0 {
- time.Sleep(c.retryBackoff(attempt))
- }
-
- if node == nil {
- var err error
- _, node, err = c.cmdSlotAndNode(cmd)
- if err != nil {
- cmd.setErr(err)
- break
- }
- }
-
- var err error
- if ask {
- pipe := node.Client.Pipeline()
- _ = pipe.Process(NewCmd("ASKING"))
- _ = pipe.Process(cmd)
- _, err = pipe.Exec()
- _ = pipe.Close()
- ask = false
- } else {
- err = node.Client.Process(cmd)
- }
-
- // If there is no error - we are done.
- if err == nil {
- break
- }
- if err != Nil {
- c.state.LazyReload()
- }
-
- // If slave is loading - pick another node.
- if c.opt.ReadOnly && internal.IsLoadingError(err) {
- node.MarkAsLoading()
- node = nil
- continue
- }
-
- var moved bool
- var addr string
- moved, ask, addr = internal.IsMovedError(err)
- if moved || ask {
- node, err = c.nodes.GetOrCreate(addr)
- if err != nil {
- break
- }
- continue
- }
-
- if err == pool.ErrClosed || internal.IsReadOnlyError(err) {
- node = nil
- continue
- }
-
- if internal.IsRetryableError(err, true) {
- // First retry the same node.
- if attempt == 0 {
- continue
- }
-
- // Second try random node.
- node, err = c.nodes.Random()
- if err != nil {
- break
- }
- continue
- }
-
- break
- }
-
- return cmd.Err()
-}
-
-// ForEachMaster concurrently calls the fn on each master node in the cluster.
-// It returns the first error if any.
-func (c *ClusterClient) ForEachMaster(fn func(client *Client) error) error {
- state, err := c.state.ReloadOrGet()
- if err != nil {
- return err
- }
-
- var wg sync.WaitGroup
- errCh := make(chan error, 1)
- for _, master := range state.Masters {
- wg.Add(1)
- go func(node *clusterNode) {
- defer wg.Done()
- err := fn(node.Client)
- if err != nil {
- select {
- case errCh <- err:
- default:
- }
- }
- }(master)
- }
- wg.Wait()
-
- select {
- case err := <-errCh:
- return err
- default:
- return nil
- }
-}
-
-// ForEachSlave concurrently calls the fn on each slave node in the cluster.
-// It returns the first error if any.
-func (c *ClusterClient) ForEachSlave(fn func(client *Client) error) error {
- state, err := c.state.ReloadOrGet()
- if err != nil {
- return err
- }
-
- var wg sync.WaitGroup
- errCh := make(chan error, 1)
- for _, slave := range state.Slaves {
- wg.Add(1)
- go func(node *clusterNode) {
- defer wg.Done()
- err := fn(node.Client)
- if err != nil {
- select {
- case errCh <- err:
- default:
- }
- }
- }(slave)
- }
- wg.Wait()
-
- select {
- case err := <-errCh:
- return err
- default:
- return nil
- }
-}
-
-// ForEachNode concurrently calls the fn on each known node in the cluster.
-// It returns the first error if any.
-func (c *ClusterClient) ForEachNode(fn func(client *Client) error) error {
- state, err := c.state.ReloadOrGet()
- if err != nil {
- return err
- }
-
- var wg sync.WaitGroup
- errCh := make(chan error, 1)
- worker := func(node *clusterNode) {
- defer wg.Done()
- err := fn(node.Client)
- if err != nil {
- select {
- case errCh <- err:
- default:
- }
- }
- }
-
- for _, node := range state.Masters {
- wg.Add(1)
- go worker(node)
- }
- for _, node := range state.Slaves {
- wg.Add(1)
- go worker(node)
- }
-
- wg.Wait()
- select {
- case err := <-errCh:
- return err
- default:
- return nil
- }
-}
-
-// PoolStats returns accumulated connection pool stats.
-func (c *ClusterClient) PoolStats() *PoolStats {
- var acc PoolStats
-
- state, _ := c.state.Get()
- if state == nil {
- return &acc
- }
-
- for _, node := range state.Masters {
- s := node.Client.connPool.Stats()
- acc.Hits += s.Hits
- acc.Misses += s.Misses
- acc.Timeouts += s.Timeouts
-
- acc.TotalConns += s.TotalConns
- acc.IdleConns += s.IdleConns
- acc.StaleConns += s.StaleConns
- }
-
- for _, node := range state.Slaves {
- s := node.Client.connPool.Stats()
- acc.Hits += s.Hits
- acc.Misses += s.Misses
- acc.Timeouts += s.Timeouts
-
- acc.TotalConns += s.TotalConns
- acc.IdleConns += s.IdleConns
- acc.StaleConns += s.StaleConns
- }
-
- return &acc
-}
-
-func (c *ClusterClient) loadState() (*clusterState, error) {
- if c.opt.ClusterSlots != nil {
- slots, err := c.opt.ClusterSlots()
- if err != nil {
- return nil, err
- }
- return newClusterState(c.nodes, slots, "")
- }
-
- addrs, err := c.nodes.Addrs()
- if err != nil {
- return nil, err
- }
-
- var firstErr error
- for _, addr := range addrs {
- node, err := c.nodes.GetOrCreate(addr)
- if err != nil {
- if firstErr == nil {
- firstErr = err
- }
- continue
- }
-
- slots, err := node.Client.ClusterSlots().Result()
- if err != nil {
- if firstErr == nil {
- firstErr = err
- }
- continue
- }
-
- return newClusterState(c.nodes, slots, node.Client.opt.Addr)
- }
-
- return nil, firstErr
-}
-
-// reaper closes idle connections to the cluster.
-func (c *ClusterClient) reaper(idleCheckFrequency time.Duration) {
- ticker := time.NewTicker(idleCheckFrequency)
- defer ticker.Stop()
-
- for range ticker.C {
- nodes, err := c.nodes.All()
- if err != nil {
- break
- }
-
- for _, node := range nodes {
- _, err := node.Client.connPool.(*pool.ConnPool).ReapStaleConns()
- if err != nil {
- internal.Logf("ReapStaleConns failed: %s", err)
- }
- }
- }
-}
-
-func (c *ClusterClient) Pipeline() Pipeliner {
- pipe := Pipeline{
- exec: c.processPipeline,
- }
- pipe.statefulCmdable.setProcessor(pipe.Process)
- return &pipe
-}
-
-func (c *ClusterClient) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().Pipelined(fn)
-}
-
-func (c *ClusterClient) WrapProcessPipeline(
- fn func(oldProcess func([]Cmder) error) func([]Cmder) error,
-) {
- c.processPipeline = fn(c.processPipeline)
- c.processTxPipeline = fn(c.processTxPipeline)
-}
-
-func (c *ClusterClient) defaultProcessPipeline(cmds []Cmder) error {
- cmdsMap := newCmdsMap()
- err := c.mapCmdsByNode(cmds, cmdsMap)
- if err != nil {
- setCmdsErr(cmds, err)
- return err
- }
-
- for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
- if attempt > 0 {
- time.Sleep(c.retryBackoff(attempt))
- }
-
- failedCmds := newCmdsMap()
- var wg sync.WaitGroup
-
- for node, cmds := range cmdsMap.m {
- wg.Add(1)
- go func(node *clusterNode, cmds []Cmder) {
- defer wg.Done()
-
- cn, err := node.Client.getConn()
- if err != nil {
- if err == pool.ErrClosed {
- c.mapCmdsByNode(cmds, failedCmds)
- } else {
- setCmdsErr(cmds, err)
- }
- return
- }
-
- err = c.pipelineProcessCmds(node, cn, cmds, failedCmds)
- node.Client.releaseConnStrict(cn, err)
- }(node, cmds)
- }
-
- wg.Wait()
- if len(failedCmds.m) == 0 {
- break
- }
- cmdsMap = failedCmds
- }
-
- return cmdsFirstErr(cmds)
-}
-
-type cmdsMap struct {
- mu sync.Mutex
- m map[*clusterNode][]Cmder
-}
-
-func newCmdsMap() *cmdsMap {
- return &cmdsMap{
- m: make(map[*clusterNode][]Cmder),
- }
-}
-
-func (c *ClusterClient) mapCmdsByNode(cmds []Cmder, cmdsMap *cmdsMap) error {
- state, err := c.state.Get()
- if err != nil {
- setCmdsErr(cmds, err)
- return err
- }
-
- cmdsAreReadOnly := c.cmdsAreReadOnly(cmds)
- for _, cmd := range cmds {
- var node *clusterNode
- var err error
- if cmdsAreReadOnly {
- _, node, err = c.cmdSlotAndNode(cmd)
- } else {
- slot := c.cmdSlot(cmd)
- node, err = state.slotMasterNode(slot)
- }
- if err != nil {
- return err
- }
- cmdsMap.mu.Lock()
- cmdsMap.m[node] = append(cmdsMap.m[node], cmd)
- cmdsMap.mu.Unlock()
- }
- return nil
-}
-
-func (c *ClusterClient) cmdsAreReadOnly(cmds []Cmder) bool {
- for _, cmd := range cmds {
- cmdInfo := c.cmdInfo(cmd.Name())
- if cmdInfo == nil || !cmdInfo.ReadOnly {
- return false
- }
- }
- return true
-}
-
-func (c *ClusterClient) pipelineProcessCmds(
- node *clusterNode, cn *pool.Conn, cmds []Cmder, failedCmds *cmdsMap,
-) error {
- err := cn.WithWriter(c.opt.WriteTimeout, func(wr *proto.Writer) error {
- return writeCmd(wr, cmds...)
- })
- if err != nil {
- setCmdsErr(cmds, err)
- failedCmds.mu.Lock()
- failedCmds.m[node] = cmds
- failedCmds.mu.Unlock()
- return err
- }
-
- err = cn.WithReader(c.opt.ReadTimeout, func(rd *proto.Reader) error {
- return c.pipelineReadCmds(node, rd, cmds, failedCmds)
- })
- return err
-}
-
-func (c *ClusterClient) pipelineReadCmds(
- node *clusterNode, rd *proto.Reader, cmds []Cmder, failedCmds *cmdsMap,
-) error {
- var firstErr error
- for _, cmd := range cmds {
- err := cmd.readReply(rd)
- if err == nil {
- continue
- }
-
- if c.checkMovedErr(cmd, err, failedCmds) {
- continue
- }
-
- if internal.IsRedisError(err) {
- continue
- }
-
- failedCmds.mu.Lock()
- failedCmds.m[node] = append(failedCmds.m[node], cmd)
- failedCmds.mu.Unlock()
- if firstErr == nil {
- firstErr = err
- }
- }
- return firstErr
-}
-
-func (c *ClusterClient) checkMovedErr(
- cmd Cmder, err error, failedCmds *cmdsMap,
-) bool {
- moved, ask, addr := internal.IsMovedError(err)
-
- if moved {
- c.state.LazyReload()
-
- node, err := c.nodes.GetOrCreate(addr)
- if err != nil {
- return false
- }
-
- failedCmds.mu.Lock()
- failedCmds.m[node] = append(failedCmds.m[node], cmd)
- failedCmds.mu.Unlock()
- return true
- }
-
- if ask {
- node, err := c.nodes.GetOrCreate(addr)
- if err != nil {
- return false
- }
-
- failedCmds.mu.Lock()
- failedCmds.m[node] = append(failedCmds.m[node], NewCmd("ASKING"), cmd)
- failedCmds.mu.Unlock()
- return true
- }
-
- return false
-}
-
-// TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
-func (c *ClusterClient) TxPipeline() Pipeliner {
- pipe := Pipeline{
- exec: c.processTxPipeline,
- }
- pipe.statefulCmdable.setProcessor(pipe.Process)
- return &pipe
-}
-
-func (c *ClusterClient) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.TxPipeline().Pipelined(fn)
-}
-
-func (c *ClusterClient) defaultProcessTxPipeline(cmds []Cmder) error {
- state, err := c.state.Get()
- if err != nil {
- return err
- }
-
- cmdsMap := c.mapCmdsBySlot(cmds)
- for slot, cmds := range cmdsMap {
- node, err := state.slotMasterNode(slot)
- if err != nil {
- setCmdsErr(cmds, err)
- continue
- }
- cmdsMap := map[*clusterNode][]Cmder{node: cmds}
-
- for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
- if attempt > 0 {
- time.Sleep(c.retryBackoff(attempt))
- }
-
- failedCmds := newCmdsMap()
- var wg sync.WaitGroup
-
- for node, cmds := range cmdsMap {
- wg.Add(1)
- go func(node *clusterNode, cmds []Cmder) {
- defer wg.Done()
-
- cn, err := node.Client.getConn()
- if err != nil {
- if err == pool.ErrClosed {
- c.mapCmdsByNode(cmds, failedCmds)
- } else {
- setCmdsErr(cmds, err)
- }
- return
- }
-
- err = c.txPipelineProcessCmds(node, cn, cmds, failedCmds)
- node.Client.releaseConnStrict(cn, err)
- }(node, cmds)
- }
-
- wg.Wait()
- if len(failedCmds.m) == 0 {
- break
- }
- cmdsMap = failedCmds.m
- }
- }
-
- return cmdsFirstErr(cmds)
-}
-
-func (c *ClusterClient) mapCmdsBySlot(cmds []Cmder) map[int][]Cmder {
- cmdsMap := make(map[int][]Cmder)
- for _, cmd := range cmds {
- slot := c.cmdSlot(cmd)
- cmdsMap[slot] = append(cmdsMap[slot], cmd)
- }
- return cmdsMap
-}
-
-func (c *ClusterClient) txPipelineProcessCmds(
- node *clusterNode, cn *pool.Conn, cmds []Cmder, failedCmds *cmdsMap,
-) error {
- err := cn.WithWriter(c.opt.WriteTimeout, func(wr *proto.Writer) error {
- return txPipelineWriteMulti(wr, cmds)
- })
- if err != nil {
- setCmdsErr(cmds, err)
- failedCmds.mu.Lock()
- failedCmds.m[node] = cmds
- failedCmds.mu.Unlock()
- return err
- }
-
- err = cn.WithReader(c.opt.ReadTimeout, func(rd *proto.Reader) error {
- err := c.txPipelineReadQueued(rd, cmds, failedCmds)
- if err != nil {
- setCmdsErr(cmds, err)
- return err
- }
- return pipelineReadCmds(rd, cmds)
- })
- return err
-}
-
-func (c *ClusterClient) txPipelineReadQueued(
- rd *proto.Reader, cmds []Cmder, failedCmds *cmdsMap,
-) error {
- // Parse queued replies.
- var statusCmd StatusCmd
- if err := statusCmd.readReply(rd); err != nil {
- return err
- }
-
- for _, cmd := range cmds {
- err := statusCmd.readReply(rd)
- if err == nil {
- continue
- }
-
- if c.checkMovedErr(cmd, err, failedCmds) || internal.IsRedisError(err) {
- continue
- }
-
- return err
- }
-
- // Parse number of replies.
- line, err := rd.ReadLine()
- if err != nil {
- if err == Nil {
- err = TxFailedErr
- }
- return err
- }
-
- switch line[0] {
- case proto.ErrorReply:
- err := proto.ParseErrorReply(line)
- for _, cmd := range cmds {
- if !c.checkMovedErr(cmd, err, failedCmds) {
- break
- }
- }
- return err
- case proto.ArrayReply:
- // ok
- default:
- err := fmt.Errorf("redis: expected '*', but got line %q", line)
- return err
- }
-
- return nil
-}
-
-func (c *ClusterClient) pubSub() *PubSub {
- var node *clusterNode
- pubsub := &PubSub{
- opt: c.opt.clientOptions(),
-
- newConn: func(channels []string) (*pool.Conn, error) {
- if node != nil {
- panic("node != nil")
- }
-
- var err error
- if len(channels) > 0 {
- slot := hashtag.Slot(channels[0])
- node, err = c.slotMasterNode(slot)
- } else {
- node, err = c.nodes.Random()
- }
- if err != nil {
- return nil, err
- }
-
- cn, err := node.Client.newConn()
- if err != nil {
- node = nil
-
- return nil, err
- }
-
- return cn, nil
- },
- closeConn: func(cn *pool.Conn) error {
- err := node.Client.connPool.CloseConn(cn)
- node = nil
- return err
- },
- }
- pubsub.init()
-
- return pubsub
-}
-
-// Subscribe subscribes the client to the specified channels.
-// Channels can be omitted to create empty subscription.
-func (c *ClusterClient) Subscribe(channels ...string) *PubSub {
- pubsub := c.pubSub()
- if len(channels) > 0 {
- _ = pubsub.Subscribe(channels...)
- }
- return pubsub
-}
-
-// PSubscribe subscribes the client to the given patterns.
-// Patterns can be omitted to create empty subscription.
-func (c *ClusterClient) PSubscribe(channels ...string) *PubSub {
- pubsub := c.pubSub()
- if len(channels) > 0 {
- _ = pubsub.PSubscribe(channels...)
- }
- return pubsub
-}
-
-func appendUniqueNode(nodes []*clusterNode, node *clusterNode) []*clusterNode {
- for _, n := range nodes {
- if n == node {
- return nodes
- }
- }
- return append(nodes, node)
-}
-
-func appendIfNotExists(ss []string, es ...string) []string {
-loop:
- for _, e := range es {
- for _, s := range ss {
- if s == e {
- continue loop
- }
- }
- ss = append(ss, e)
- }
- return ss
-}
-
-func remove(ss []string, es ...string) []string {
- if len(es) == 0 {
- return ss[:0]
- }
- for _, e := range es {
- for i, s := range ss {
- if s == e {
- ss = append(ss[:i], ss[i+1:]...)
- break
- }
- }
- }
- return ss
-}
diff --git a/vendor/github.com/go-redis/redis/cluster_commands.go b/vendor/github.com/go-redis/redis/cluster_commands.go
deleted file mode 100644
index dff62c90..00000000
--- a/vendor/github.com/go-redis/redis/cluster_commands.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package redis
-
-import "sync/atomic"
-
-func (c *ClusterClient) DBSize() *IntCmd {
- cmd := NewIntCmd("dbsize")
- var size int64
- err := c.ForEachMaster(func(master *Client) error {
- n, err := master.DBSize().Result()
- if err != nil {
- return err
- }
- atomic.AddInt64(&size, n)
- return nil
- })
- if err != nil {
- cmd.setErr(err)
- return cmd
- }
- cmd.val = size
- return cmd
-}
diff --git a/vendor/github.com/go-redis/redis/command.go b/vendor/github.com/go-redis/redis/command.go
deleted file mode 100644
index c70973d3..00000000
--- a/vendor/github.com/go-redis/redis/command.go
+++ /dev/null
@@ -1,1972 +0,0 @@
-package redis
-
-import (
- "fmt"
- "net"
- "strconv"
- "strings"
- "time"
-
- "github.com/go-redis/redis/internal"
- "github.com/go-redis/redis/internal/proto"
-)
-
-type Cmder interface {
- Name() string
- Args() []interface{}
- stringArg(int) string
-
- readReply(rd *proto.Reader) error
- setErr(error)
-
- readTimeout() *time.Duration
-
- Err() error
-}
-
-func setCmdsErr(cmds []Cmder, e error) {
- for _, cmd := range cmds {
- if cmd.Err() == nil {
- cmd.setErr(e)
- }
- }
-}
-
-func cmdsFirstErr(cmds []Cmder) error {
- for _, cmd := range cmds {
- if err := cmd.Err(); err != nil {
- return err
- }
- }
- return nil
-}
-
-func writeCmd(wr *proto.Writer, cmds ...Cmder) error {
- for _, cmd := range cmds {
- err := wr.WriteArgs(cmd.Args())
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func cmdString(cmd Cmder, val interface{}) string {
- var ss []string
- for _, arg := range cmd.Args() {
- ss = append(ss, fmt.Sprint(arg))
- }
- s := strings.Join(ss, " ")
- if err := cmd.Err(); err != nil {
- return s + ": " + err.Error()
- }
- if val != nil {
- switch vv := val.(type) {
- case []byte:
- return s + ": " + string(vv)
- default:
- return s + ": " + fmt.Sprint(val)
- }
- }
- return s
-
-}
-
-func cmdFirstKeyPos(cmd Cmder, info *CommandInfo) int {
- switch cmd.Name() {
- case "eval", "evalsha":
- if cmd.stringArg(2) != "0" {
- return 3
- }
-
- return 0
- case "publish":
- return 1
- }
- if info == nil {
- return 0
- }
- return int(info.FirstKeyPos)
-}
-
-//------------------------------------------------------------------------------
-
-type baseCmd struct {
- _args []interface{}
- err error
-
- _readTimeout *time.Duration
-}
-
-var _ Cmder = (*Cmd)(nil)
-
-func (cmd *baseCmd) Err() error {
- return cmd.err
-}
-
-func (cmd *baseCmd) Args() []interface{} {
- return cmd._args
-}
-
-func (cmd *baseCmd) stringArg(pos int) string {
- if pos < 0 || pos >= len(cmd._args) {
- return ""
- }
- s, _ := cmd._args[pos].(string)
- return s
-}
-
-func (cmd *baseCmd) Name() string {
- if len(cmd._args) > 0 {
- // Cmd name must be lower cased.
- s := internal.ToLower(cmd.stringArg(0))
- cmd._args[0] = s
- return s
- }
- return ""
-}
-
-func (cmd *baseCmd) readTimeout() *time.Duration {
- return cmd._readTimeout
-}
-
-func (cmd *baseCmd) setReadTimeout(d time.Duration) {
- cmd._readTimeout = &d
-}
-
-func (cmd *baseCmd) setErr(e error) {
- cmd.err = e
-}
-
-//------------------------------------------------------------------------------
-
-type Cmd struct {
- baseCmd
-
- val interface{}
-}
-
-func NewCmd(args ...interface{}) *Cmd {
- return &Cmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *Cmd) Val() interface{} {
- return cmd.val
-}
-
-func (cmd *Cmd) Result() (interface{}, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *Cmd) String() (string, error) {
- if cmd.err != nil {
- return "", cmd.err
- }
- switch val := cmd.val.(type) {
- case string:
- return val, nil
- default:
- err := fmt.Errorf("redis: unexpected type=%T for String", val)
- return "", err
- }
-}
-
-func (cmd *Cmd) Int() (int, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return int(val), nil
- case string:
- return strconv.Atoi(val)
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Int", val)
- return 0, err
- }
-}
-
-func (cmd *Cmd) Int64() (int64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return val, nil
- case string:
- return strconv.ParseInt(val, 10, 64)
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Int64", val)
- return 0, err
- }
-}
-
-func (cmd *Cmd) Uint64() (uint64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return uint64(val), nil
- case string:
- return strconv.ParseUint(val, 10, 64)
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Uint64", val)
- return 0, err
- }
-}
-
-func (cmd *Cmd) Float32() (float32, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return float32(val), nil
- case string:
- f, err := strconv.ParseFloat(val, 32)
- if err != nil {
- return 0, err
- }
- return float32(f), nil
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Float32", val)
- return 0, err
- }
-}
-
-func (cmd *Cmd) Float64() (float64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return float64(val), nil
- case string:
- return strconv.ParseFloat(val, 64)
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Float64", val)
- return 0, err
- }
-}
-
-func (cmd *Cmd) Bool() (bool, error) {
- if cmd.err != nil {
- return false, cmd.err
- }
- switch val := cmd.val.(type) {
- case int64:
- return val != 0, nil
- case string:
- return strconv.ParseBool(val)
- default:
- err := fmt.Errorf("redis: unexpected type=%T for Bool", val)
- return false, err
- }
-}
-
-func (cmd *Cmd) readReply(rd *proto.Reader) error {
- cmd.val, cmd.err = rd.ReadReply(sliceParser)
- return cmd.err
-}
-
-// Implements proto.MultiBulkParse
-func sliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- vals := make([]interface{}, 0, n)
- for i := int64(0); i < n; i++ {
- v, err := rd.ReadReply(sliceParser)
- if err != nil {
- if err == Nil {
- vals = append(vals, nil)
- continue
- }
- if err, ok := err.(proto.RedisError); ok {
- vals = append(vals, err)
- continue
- }
- return nil, err
- }
-
- switch v := v.(type) {
- case string:
- vals = append(vals, v)
- default:
- vals = append(vals, v)
- }
- }
- return vals, nil
-}
-
-//------------------------------------------------------------------------------
-
-type SliceCmd struct {
- baseCmd
-
- val []interface{}
-}
-
-var _ Cmder = (*SliceCmd)(nil)
-
-func NewSliceCmd(args ...interface{}) *SliceCmd {
- return &SliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *SliceCmd) Val() []interface{} {
- return cmd.val
-}
-
-func (cmd *SliceCmd) Result() ([]interface{}, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *SliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *SliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(sliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]interface{})
- return nil
-}
-
-//------------------------------------------------------------------------------
-
-type StatusCmd struct {
- baseCmd
-
- val string
-}
-
-var _ Cmder = (*StatusCmd)(nil)
-
-func NewStatusCmd(args ...interface{}) *StatusCmd {
- return &StatusCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StatusCmd) Val() string {
- return cmd.val
-}
-
-func (cmd *StatusCmd) Result() (string, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *StatusCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StatusCmd) readReply(rd *proto.Reader) error {
- cmd.val, cmd.err = rd.ReadString()
- return cmd.err
-}
-
-//------------------------------------------------------------------------------
-
-type IntCmd struct {
- baseCmd
-
- val int64
-}
-
-var _ Cmder = (*IntCmd)(nil)
-
-func NewIntCmd(args ...interface{}) *IntCmd {
- return &IntCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *IntCmd) Val() int64 {
- return cmd.val
-}
-
-func (cmd *IntCmd) Result() (int64, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *IntCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *IntCmd) readReply(rd *proto.Reader) error {
- cmd.val, cmd.err = rd.ReadIntReply()
- return cmd.err
-}
-
-//------------------------------------------------------------------------------
-
-type DurationCmd struct {
- baseCmd
-
- val time.Duration
- precision time.Duration
-}
-
-var _ Cmder = (*DurationCmd)(nil)
-
-func NewDurationCmd(precision time.Duration, args ...interface{}) *DurationCmd {
- return &DurationCmd{
- baseCmd: baseCmd{_args: args},
- precision: precision,
- }
-}
-
-func (cmd *DurationCmd) Val() time.Duration {
- return cmd.val
-}
-
-func (cmd *DurationCmd) Result() (time.Duration, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *DurationCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *DurationCmd) readReply(rd *proto.Reader) error {
- var n int64
- n, cmd.err = rd.ReadIntReply()
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = time.Duration(n) * cmd.precision
- return nil
-}
-
-//------------------------------------------------------------------------------
-
-type TimeCmd struct {
- baseCmd
-
- val time.Time
-}
-
-var _ Cmder = (*TimeCmd)(nil)
-
-func NewTimeCmd(args ...interface{}) *TimeCmd {
- return &TimeCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *TimeCmd) Val() time.Time {
- return cmd.val
-}
-
-func (cmd *TimeCmd) Result() (time.Time, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *TimeCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *TimeCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(timeParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(time.Time)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func timeParser(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 2 {
- return nil, fmt.Errorf("got %d elements, expected 2", n)
- }
-
- sec, err := rd.ReadInt()
- if err != nil {
- return nil, err
- }
-
- microsec, err := rd.ReadInt()
- if err != nil {
- return nil, err
- }
-
- return time.Unix(sec, microsec*1000), nil
-}
-
-//------------------------------------------------------------------------------
-
-type BoolCmd struct {
- baseCmd
-
- val bool
-}
-
-var _ Cmder = (*BoolCmd)(nil)
-
-func NewBoolCmd(args ...interface{}) *BoolCmd {
- return &BoolCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *BoolCmd) Val() bool {
- return cmd.val
-}
-
-func (cmd *BoolCmd) Result() (bool, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *BoolCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *BoolCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadReply(nil)
- // `SET key value NX` returns nil when key already exists. But
- // `SETNX key value` returns bool (0/1). So convert nil to bool.
- // TODO: is this okay?
- if cmd.err == Nil {
- cmd.val = false
- cmd.err = nil
- return nil
- }
- if cmd.err != nil {
- return cmd.err
- }
- switch v := v.(type) {
- case int64:
- cmd.val = v == 1
- return nil
- case string:
- cmd.val = v == "OK"
- return nil
- default:
- cmd.err = fmt.Errorf("got %T, wanted int64 or string", v)
- return cmd.err
- }
-}
-
-//------------------------------------------------------------------------------
-
-type StringCmd struct {
- baseCmd
-
- val string
-}
-
-var _ Cmder = (*StringCmd)(nil)
-
-func NewStringCmd(args ...interface{}) *StringCmd {
- return &StringCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StringCmd) Val() string {
- return cmd.val
-}
-
-func (cmd *StringCmd) Result() (string, error) {
- return cmd.Val(), cmd.err
-}
-
-func (cmd *StringCmd) Bytes() ([]byte, error) {
- return []byte(cmd.val), cmd.err
-}
-
-func (cmd *StringCmd) Int() (int, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- return strconv.Atoi(cmd.Val())
-}
-
-func (cmd *StringCmd) Int64() (int64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- return strconv.ParseInt(cmd.Val(), 10, 64)
-}
-
-func (cmd *StringCmd) Uint64() (uint64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- return strconv.ParseUint(cmd.Val(), 10, 64)
-}
-
-func (cmd *StringCmd) Float32() (float32, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- f, err := strconv.ParseFloat(cmd.Val(), 32)
- if err != nil {
- return 0, err
- }
- return float32(f), nil
-}
-
-func (cmd *StringCmd) Float64() (float64, error) {
- if cmd.err != nil {
- return 0, cmd.err
- }
- return strconv.ParseFloat(cmd.Val(), 64)
-}
-
-func (cmd *StringCmd) Scan(val interface{}) error {
- if cmd.err != nil {
- return cmd.err
- }
- return proto.Scan([]byte(cmd.val), val)
-}
-
-func (cmd *StringCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StringCmd) readReply(rd *proto.Reader) error {
- cmd.val, cmd.err = rd.ReadString()
- return cmd.err
-}
-
-//------------------------------------------------------------------------------
-
-type FloatCmd struct {
- baseCmd
-
- val float64
-}
-
-var _ Cmder = (*FloatCmd)(nil)
-
-func NewFloatCmd(args ...interface{}) *FloatCmd {
- return &FloatCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *FloatCmd) Val() float64 {
- return cmd.val
-}
-
-func (cmd *FloatCmd) Result() (float64, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *FloatCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *FloatCmd) readReply(rd *proto.Reader) error {
- cmd.val, cmd.err = rd.ReadFloatReply()
- return cmd.err
-}
-
-//------------------------------------------------------------------------------
-
-type StringSliceCmd struct {
- baseCmd
-
- val []string
-}
-
-var _ Cmder = (*StringSliceCmd)(nil)
-
-func NewStringSliceCmd(args ...interface{}) *StringSliceCmd {
- return &StringSliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StringSliceCmd) Val() []string {
- return cmd.val
-}
-
-func (cmd *StringSliceCmd) Result() ([]string, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *StringSliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StringSliceCmd) ScanSlice(container interface{}) error {
- return proto.ScanSlice(cmd.Val(), container)
-}
-
-func (cmd *StringSliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(stringSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]string)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func stringSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- ss := make([]string, 0, n)
- for i := int64(0); i < n; i++ {
- switch s, err := rd.ReadString(); {
- case err == Nil:
- ss = append(ss, "")
- case err != nil:
- return nil, err
- default:
- ss = append(ss, s)
- }
- }
- return ss, nil
-}
-
-//------------------------------------------------------------------------------
-
-type BoolSliceCmd struct {
- baseCmd
-
- val []bool
-}
-
-var _ Cmder = (*BoolSliceCmd)(nil)
-
-func NewBoolSliceCmd(args ...interface{}) *BoolSliceCmd {
- return &BoolSliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *BoolSliceCmd) Val() []bool {
- return cmd.val
-}
-
-func (cmd *BoolSliceCmd) Result() ([]bool, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *BoolSliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *BoolSliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(boolSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]bool)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func boolSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- bools := make([]bool, 0, n)
- for i := int64(0); i < n; i++ {
- n, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- bools = append(bools, n == 1)
- }
- return bools, nil
-}
-
-//------------------------------------------------------------------------------
-
-type StringStringMapCmd struct {
- baseCmd
-
- val map[string]string
-}
-
-var _ Cmder = (*StringStringMapCmd)(nil)
-
-func NewStringStringMapCmd(args ...interface{}) *StringStringMapCmd {
- return &StringStringMapCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StringStringMapCmd) Val() map[string]string {
- return cmd.val
-}
-
-func (cmd *StringStringMapCmd) Result() (map[string]string, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *StringStringMapCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StringStringMapCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(stringStringMapParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(map[string]string)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func stringStringMapParser(rd *proto.Reader, n int64) (interface{}, error) {
- m := make(map[string]string, n/2)
- for i := int64(0); i < n; i += 2 {
- key, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- value, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- m[key] = value
- }
- return m, nil
-}
-
-//------------------------------------------------------------------------------
-
-type StringIntMapCmd struct {
- baseCmd
-
- val map[string]int64
-}
-
-var _ Cmder = (*StringIntMapCmd)(nil)
-
-func NewStringIntMapCmd(args ...interface{}) *StringIntMapCmd {
- return &StringIntMapCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StringIntMapCmd) Val() map[string]int64 {
- return cmd.val
-}
-
-func (cmd *StringIntMapCmd) Result() (map[string]int64, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *StringIntMapCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StringIntMapCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(stringIntMapParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(map[string]int64)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func stringIntMapParser(rd *proto.Reader, n int64) (interface{}, error) {
- m := make(map[string]int64, n/2)
- for i := int64(0); i < n; i += 2 {
- key, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- n, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
-
- m[key] = n
- }
- return m, nil
-}
-
-//------------------------------------------------------------------------------
-
-type StringStructMapCmd struct {
- baseCmd
-
- val map[string]struct{}
-}
-
-var _ Cmder = (*StringStructMapCmd)(nil)
-
-func NewStringStructMapCmd(args ...interface{}) *StringStructMapCmd {
- return &StringStructMapCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *StringStructMapCmd) Val() map[string]struct{} {
- return cmd.val
-}
-
-func (cmd *StringStructMapCmd) Result() (map[string]struct{}, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *StringStructMapCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *StringStructMapCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(stringStructMapParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(map[string]struct{})
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func stringStructMapParser(rd *proto.Reader, n int64) (interface{}, error) {
- m := make(map[string]struct{}, n)
- for i := int64(0); i < n; i++ {
- key, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- m[key] = struct{}{}
- }
- return m, nil
-}
-
-//------------------------------------------------------------------------------
-
-type XMessage struct {
- ID string
- Values map[string]interface{}
-}
-
-type XMessageSliceCmd struct {
- baseCmd
-
- val []XMessage
-}
-
-var _ Cmder = (*XMessageSliceCmd)(nil)
-
-func NewXMessageSliceCmd(args ...interface{}) *XMessageSliceCmd {
- return &XMessageSliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *XMessageSliceCmd) Val() []XMessage {
- return cmd.val
-}
-
-func (cmd *XMessageSliceCmd) Result() ([]XMessage, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *XMessageSliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *XMessageSliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(xMessageSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]XMessage)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func xMessageSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- msgs := make([]XMessage, 0, n)
- for i := int64(0); i < n; i++ {
- _, err := rd.ReadArrayReply(func(rd *proto.Reader, n int64) (interface{}, error) {
- id, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- var values map[string]interface{}
-
- v, err := rd.ReadArrayReply(stringInterfaceMapParser)
- if err != nil {
- if err != proto.Nil {
- return nil, err
- }
- } else {
- values = v.(map[string]interface{})
- }
-
- msgs = append(msgs, XMessage{
- ID: id,
- Values: values,
- })
- return nil, nil
- })
- if err != nil {
- return nil, err
- }
- }
- return msgs, nil
-}
-
-// Implements proto.MultiBulkParse
-func stringInterfaceMapParser(rd *proto.Reader, n int64) (interface{}, error) {
- m := make(map[string]interface{}, n/2)
- for i := int64(0); i < n; i += 2 {
- key, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- value, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- m[key] = value
- }
- return m, nil
-}
-
-//------------------------------------------------------------------------------
-
-type XStream struct {
- Stream string
- Messages []XMessage
-}
-
-type XStreamSliceCmd struct {
- baseCmd
-
- val []XStream
-}
-
-var _ Cmder = (*XStreamSliceCmd)(nil)
-
-func NewXStreamSliceCmd(args ...interface{}) *XStreamSliceCmd {
- return &XStreamSliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *XStreamSliceCmd) Val() []XStream {
- return cmd.val
-}
-
-func (cmd *XStreamSliceCmd) Result() ([]XStream, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *XStreamSliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *XStreamSliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(xStreamSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]XStream)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func xStreamSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- ret := make([]XStream, 0, n)
- for i := int64(0); i < n; i++ {
- _, err := rd.ReadArrayReply(func(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 2 {
- return nil, fmt.Errorf("got %d, wanted 2", n)
- }
-
- stream, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- v, err := rd.ReadArrayReply(xMessageSliceParser)
- if err != nil {
- return nil, err
- }
-
- ret = append(ret, XStream{
- Stream: stream,
- Messages: v.([]XMessage),
- })
- return nil, nil
- })
- if err != nil {
- return nil, err
- }
- }
- return ret, nil
-}
-
-//------------------------------------------------------------------------------
-
-type XPending struct {
- Count int64
- Lower string
- Higher string
- Consumers map[string]int64
-}
-
-type XPendingCmd struct {
- baseCmd
- val *XPending
-}
-
-var _ Cmder = (*XPendingCmd)(nil)
-
-func NewXPendingCmd(args ...interface{}) *XPendingCmd {
- return &XPendingCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *XPendingCmd) Val() *XPending {
- return cmd.val
-}
-
-func (cmd *XPendingCmd) Result() (*XPending, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *XPendingCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *XPendingCmd) readReply(rd *proto.Reader) error {
- var info interface{}
- info, cmd.err = rd.ReadArrayReply(xPendingParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = info.(*XPending)
- return nil
-}
-
-func xPendingParser(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 4 {
- return nil, fmt.Errorf("got %d, wanted 4", n)
- }
-
- count, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
-
- lower, err := rd.ReadString()
- if err != nil && err != Nil {
- return nil, err
- }
-
- higher, err := rd.ReadString()
- if err != nil && err != Nil {
- return nil, err
- }
-
- pending := &XPending{
- Count: count,
- Lower: lower,
- Higher: higher,
- }
- _, err = rd.ReadArrayReply(func(rd *proto.Reader, n int64) (interface{}, error) {
- for i := int64(0); i < n; i++ {
- _, err = rd.ReadArrayReply(func(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 2 {
- return nil, fmt.Errorf("got %d, wanted 2", n)
- }
-
- consumerName, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- consumerPending, err := rd.ReadInt()
- if err != nil {
- return nil, err
- }
-
- if pending.Consumers == nil {
- pending.Consumers = make(map[string]int64)
- }
- pending.Consumers[consumerName] = consumerPending
-
- return nil, nil
- })
- if err != nil {
- return nil, err
- }
- }
- return nil, nil
- })
- if err != nil && err != Nil {
- return nil, err
- }
-
- return pending, nil
-}
-
-//------------------------------------------------------------------------------
-
-type XPendingExt struct {
- Id string
- Consumer string
- Idle time.Duration
- RetryCount int64
-}
-
-type XPendingExtCmd struct {
- baseCmd
- val []XPendingExt
-}
-
-var _ Cmder = (*XPendingExtCmd)(nil)
-
-func NewXPendingExtCmd(args ...interface{}) *XPendingExtCmd {
- return &XPendingExtCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *XPendingExtCmd) Val() []XPendingExt {
- return cmd.val
-}
-
-func (cmd *XPendingExtCmd) Result() ([]XPendingExt, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *XPendingExtCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *XPendingExtCmd) readReply(rd *proto.Reader) error {
- var info interface{}
- info, cmd.err = rd.ReadArrayReply(xPendingExtSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = info.([]XPendingExt)
- return nil
-}
-
-func xPendingExtSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- ret := make([]XPendingExt, 0, n)
- for i := int64(0); i < n; i++ {
- _, err := rd.ReadArrayReply(func(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 4 {
- return nil, fmt.Errorf("got %d, wanted 4", n)
- }
-
- id, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- consumer, err := rd.ReadString()
- if err != nil && err != Nil {
- return nil, err
- }
-
- idle, err := rd.ReadIntReply()
- if err != nil && err != Nil {
- return nil, err
- }
-
- retryCount, err := rd.ReadIntReply()
- if err != nil && err != Nil {
- return nil, err
- }
-
- ret = append(ret, XPendingExt{
- Id: id,
- Consumer: consumer,
- Idle: time.Duration(idle) * time.Millisecond,
- RetryCount: retryCount,
- })
- return nil, nil
- })
- if err != nil {
- return nil, err
- }
- }
- return ret, nil
-}
-
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-
-type ZSliceCmd struct {
- baseCmd
-
- val []Z
-}
-
-var _ Cmder = (*ZSliceCmd)(nil)
-
-func NewZSliceCmd(args ...interface{}) *ZSliceCmd {
- return &ZSliceCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *ZSliceCmd) Val() []Z {
- return cmd.val
-}
-
-func (cmd *ZSliceCmd) Result() ([]Z, error) {
- return cmd.val, cmd.err
-}
-
-func (cmd *ZSliceCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *ZSliceCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(zSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]Z)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func zSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- zz := make([]Z, n/2)
- for i := int64(0); i < n; i += 2 {
- var err error
-
- z := &zz[i/2]
-
- z.Member, err = rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- z.Score, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
- }
- return zz, nil
-}
-
-//------------------------------------------------------------------------------
-
-type ZWithKeyCmd struct {
- baseCmd
-
- val ZWithKey
-}
-
-var _ Cmder = (*ZWithKeyCmd)(nil)
-
-func NewZWithKeyCmd(args ...interface{}) *ZWithKeyCmd {
- return &ZWithKeyCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *ZWithKeyCmd) Val() ZWithKey {
- return cmd.val
-}
-
-func (cmd *ZWithKeyCmd) Result() (ZWithKey, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *ZWithKeyCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *ZWithKeyCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(zWithKeyParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(ZWithKey)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func zWithKeyParser(rd *proto.Reader, n int64) (interface{}, error) {
- if n != 3 {
- return nil, fmt.Errorf("got %d elements, expected 3", n)
- }
-
- var z ZWithKey
- var err error
-
- z.Key, err = rd.ReadString()
- if err != nil {
- return nil, err
- }
- z.Member, err = rd.ReadString()
- if err != nil {
- return nil, err
- }
- z.Score, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
- return z, nil
-}
-
-//------------------------------------------------------------------------------
-
-type ScanCmd struct {
- baseCmd
-
- page []string
- cursor uint64
-
- process func(cmd Cmder) error
-}
-
-var _ Cmder = (*ScanCmd)(nil)
-
-func NewScanCmd(process func(cmd Cmder) error, args ...interface{}) *ScanCmd {
- return &ScanCmd{
- baseCmd: baseCmd{_args: args},
- process: process,
- }
-}
-
-func (cmd *ScanCmd) Val() (keys []string, cursor uint64) {
- return cmd.page, cmd.cursor
-}
-
-func (cmd *ScanCmd) Result() (keys []string, cursor uint64, err error) {
- return cmd.page, cmd.cursor, cmd.err
-}
-
-func (cmd *ScanCmd) String() string {
- return cmdString(cmd, cmd.page)
-}
-
-func (cmd *ScanCmd) readReply(rd *proto.Reader) error {
- cmd.page, cmd.cursor, cmd.err = rd.ReadScanReply()
- return cmd.err
-}
-
-// Iterator creates a new ScanIterator.
-func (cmd *ScanCmd) Iterator() *ScanIterator {
- return &ScanIterator{
- cmd: cmd,
- }
-}
-
-//------------------------------------------------------------------------------
-
-type ClusterNode struct {
- Id string
- Addr string
-}
-
-type ClusterSlot struct {
- Start int
- End int
- Nodes []ClusterNode
-}
-
-type ClusterSlotsCmd struct {
- baseCmd
-
- val []ClusterSlot
-}
-
-var _ Cmder = (*ClusterSlotsCmd)(nil)
-
-func NewClusterSlotsCmd(args ...interface{}) *ClusterSlotsCmd {
- return &ClusterSlotsCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *ClusterSlotsCmd) Val() []ClusterSlot {
- return cmd.val
-}
-
-func (cmd *ClusterSlotsCmd) Result() ([]ClusterSlot, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *ClusterSlotsCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *ClusterSlotsCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(clusterSlotsParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.([]ClusterSlot)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func clusterSlotsParser(rd *proto.Reader, n int64) (interface{}, error) {
- slots := make([]ClusterSlot, n)
- for i := 0; i < len(slots); i++ {
- n, err := rd.ReadArrayLen()
- if err != nil {
- return nil, err
- }
- if n < 2 {
- err := fmt.Errorf("redis: got %d elements in cluster info, expected at least 2", n)
- return nil, err
- }
-
- start, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
-
- end, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
-
- nodes := make([]ClusterNode, n-2)
- for j := 0; j < len(nodes); j++ {
- n, err := rd.ReadArrayLen()
- if err != nil {
- return nil, err
- }
- if n != 2 && n != 3 {
- err := fmt.Errorf("got %d elements in cluster info address, expected 2 or 3", n)
- return nil, err
- }
-
- ip, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- port, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- nodes[j].Addr = net.JoinHostPort(ip, port)
-
- if n == 3 {
- id, err := rd.ReadString()
- if err != nil {
- return nil, err
- }
- nodes[j].Id = id
- }
- }
-
- slots[i] = ClusterSlot{
- Start: int(start),
- End: int(end),
- Nodes: nodes,
- }
- }
- return slots, nil
-}
-
-//------------------------------------------------------------------------------
-
-// GeoLocation is used with GeoAdd to add geospatial location.
-type GeoLocation struct {
- Name string
- Longitude, Latitude, Dist float64
- GeoHash int64
-}
-
-// GeoRadiusQuery is used with GeoRadius to query geospatial index.
-type GeoRadiusQuery struct {
- Radius float64
- // Can be m, km, ft, or mi. Default is km.
- Unit string
- WithCoord bool
- WithDist bool
- WithGeoHash bool
- Count int
- // Can be ASC or DESC. Default is no sort order.
- Sort string
- Store string
- StoreDist string
-}
-
-type GeoLocationCmd struct {
- baseCmd
-
- q *GeoRadiusQuery
- locations []GeoLocation
-}
-
-var _ Cmder = (*GeoLocationCmd)(nil)
-
-func NewGeoLocationCmd(q *GeoRadiusQuery, args ...interface{}) *GeoLocationCmd {
- args = append(args, q.Radius)
- if q.Unit != "" {
- args = append(args, q.Unit)
- } else {
- args = append(args, "km")
- }
- if q.WithCoord {
- args = append(args, "withcoord")
- }
- if q.WithDist {
- args = append(args, "withdist")
- }
- if q.WithGeoHash {
- args = append(args, "withhash")
- }
- if q.Count > 0 {
- args = append(args, "count", q.Count)
- }
- if q.Sort != "" {
- args = append(args, q.Sort)
- }
- if q.Store != "" {
- args = append(args, "store")
- args = append(args, q.Store)
- }
- if q.StoreDist != "" {
- args = append(args, "storedist")
- args = append(args, q.StoreDist)
- }
- return &GeoLocationCmd{
- baseCmd: baseCmd{_args: args},
- q: q,
- }
-}
-
-func (cmd *GeoLocationCmd) Val() []GeoLocation {
- return cmd.locations
-}
-
-func (cmd *GeoLocationCmd) Result() ([]GeoLocation, error) {
- return cmd.locations, cmd.err
-}
-
-func (cmd *GeoLocationCmd) String() string {
- return cmdString(cmd, cmd.locations)
-}
-
-func (cmd *GeoLocationCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(newGeoLocationSliceParser(cmd.q))
- if cmd.err != nil {
- return cmd.err
- }
- cmd.locations = v.([]GeoLocation)
- return nil
-}
-
-func newGeoLocationParser(q *GeoRadiusQuery) proto.MultiBulkParse {
- return func(rd *proto.Reader, n int64) (interface{}, error) {
- var loc GeoLocation
- var err error
-
- loc.Name, err = rd.ReadString()
- if err != nil {
- return nil, err
- }
- if q.WithDist {
- loc.Dist, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
- }
- if q.WithGeoHash {
- loc.GeoHash, err = rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- }
- if q.WithCoord {
- n, err := rd.ReadArrayLen()
- if err != nil {
- return nil, err
- }
- if n != 2 {
- return nil, fmt.Errorf("got %d coordinates, expected 2", n)
- }
-
- loc.Longitude, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
- loc.Latitude, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
- }
-
- return &loc, nil
- }
-}
-
-func newGeoLocationSliceParser(q *GeoRadiusQuery) proto.MultiBulkParse {
- return func(rd *proto.Reader, n int64) (interface{}, error) {
- locs := make([]GeoLocation, 0, n)
- for i := int64(0); i < n; i++ {
- v, err := rd.ReadReply(newGeoLocationParser(q))
- if err != nil {
- return nil, err
- }
- switch vv := v.(type) {
- case string:
- locs = append(locs, GeoLocation{
- Name: vv,
- })
- case *GeoLocation:
- locs = append(locs, *vv)
- default:
- return nil, fmt.Errorf("got %T, expected string or *GeoLocation", v)
- }
- }
- return locs, nil
- }
-}
-
-//------------------------------------------------------------------------------
-
-type GeoPos struct {
- Longitude, Latitude float64
-}
-
-type GeoPosCmd struct {
- baseCmd
-
- positions []*GeoPos
-}
-
-var _ Cmder = (*GeoPosCmd)(nil)
-
-func NewGeoPosCmd(args ...interface{}) *GeoPosCmd {
- return &GeoPosCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *GeoPosCmd) Val() []*GeoPos {
- return cmd.positions
-}
-
-func (cmd *GeoPosCmd) Result() ([]*GeoPos, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *GeoPosCmd) String() string {
- return cmdString(cmd, cmd.positions)
-}
-
-func (cmd *GeoPosCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(geoPosSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.positions = v.([]*GeoPos)
- return nil
-}
-
-func geoPosSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- positions := make([]*GeoPos, 0, n)
- for i := int64(0); i < n; i++ {
- v, err := rd.ReadReply(geoPosParser)
- if err != nil {
- if err == Nil {
- positions = append(positions, nil)
- continue
- }
- return nil, err
- }
- switch v := v.(type) {
- case *GeoPos:
- positions = append(positions, v)
- default:
- return nil, fmt.Errorf("got %T, expected *GeoPos", v)
- }
- }
- return positions, nil
-}
-
-func geoPosParser(rd *proto.Reader, n int64) (interface{}, error) {
- var pos GeoPos
- var err error
-
- pos.Longitude, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
-
- pos.Latitude, err = rd.ReadFloatReply()
- if err != nil {
- return nil, err
- }
-
- return &pos, nil
-}
-
-//------------------------------------------------------------------------------
-
-type CommandInfo struct {
- Name string
- Arity int8
- Flags []string
- FirstKeyPos int8
- LastKeyPos int8
- StepCount int8
- ReadOnly bool
-}
-
-type CommandsInfoCmd struct {
- baseCmd
-
- val map[string]*CommandInfo
-}
-
-var _ Cmder = (*CommandsInfoCmd)(nil)
-
-func NewCommandsInfoCmd(args ...interface{}) *CommandsInfoCmd {
- return &CommandsInfoCmd{
- baseCmd: baseCmd{_args: args},
- }
-}
-
-func (cmd *CommandsInfoCmd) Val() map[string]*CommandInfo {
- return cmd.val
-}
-
-func (cmd *CommandsInfoCmd) Result() (map[string]*CommandInfo, error) {
- return cmd.Val(), cmd.Err()
-}
-
-func (cmd *CommandsInfoCmd) String() string {
- return cmdString(cmd, cmd.val)
-}
-
-func (cmd *CommandsInfoCmd) readReply(rd *proto.Reader) error {
- var v interface{}
- v, cmd.err = rd.ReadArrayReply(commandInfoSliceParser)
- if cmd.err != nil {
- return cmd.err
- }
- cmd.val = v.(map[string]*CommandInfo)
- return nil
-}
-
-// Implements proto.MultiBulkParse
-func commandInfoSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
- m := make(map[string]*CommandInfo, n)
- for i := int64(0); i < n; i++ {
- v, err := rd.ReadReply(commandInfoParser)
- if err != nil {
- return nil, err
- }
- vv := v.(*CommandInfo)
- m[vv.Name] = vv
-
- }
- return m, nil
-}
-
-func commandInfoParser(rd *proto.Reader, n int64) (interface{}, error) {
- var cmd CommandInfo
- var err error
-
- if n != 6 {
- return nil, fmt.Errorf("redis: got %d elements in COMMAND reply, wanted 6", n)
- }
-
- cmd.Name, err = rd.ReadString()
- if err != nil {
- return nil, err
- }
-
- arity, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- cmd.Arity = int8(arity)
-
- flags, err := rd.ReadReply(stringSliceParser)
- if err != nil {
- return nil, err
- }
- cmd.Flags = flags.([]string)
-
- firstKeyPos, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- cmd.FirstKeyPos = int8(firstKeyPos)
-
- lastKeyPos, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- cmd.LastKeyPos = int8(lastKeyPos)
-
- stepCount, err := rd.ReadIntReply()
- if err != nil {
- return nil, err
- }
- cmd.StepCount = int8(stepCount)
-
- for _, flag := range cmd.Flags {
- if flag == "readonly" {
- cmd.ReadOnly = true
- break
- }
- }
-
- return &cmd, nil
-}
-
-//------------------------------------------------------------------------------
-
-type cmdsInfoCache struct {
- fn func() (map[string]*CommandInfo, error)
-
- once internal.Once
- cmds map[string]*CommandInfo
-}
-
-func newCmdsInfoCache(fn func() (map[string]*CommandInfo, error)) *cmdsInfoCache {
- return &cmdsInfoCache{
- fn: fn,
- }
-}
-
-func (c *cmdsInfoCache) Get() (map[string]*CommandInfo, error) {
- err := c.once.Do(func() error {
- cmds, err := c.fn()
- if err != nil {
- return err
- }
- c.cmds = cmds
- return nil
- })
- return c.cmds, err
-}
diff --git a/vendor/github.com/go-redis/redis/commands.go b/vendor/github.com/go-redis/redis/commands.go
deleted file mode 100644
index 653e4abe..00000000
--- a/vendor/github.com/go-redis/redis/commands.go
+++ /dev/null
@@ -1,2583 +0,0 @@
-package redis
-
-import (
- "errors"
- "io"
- "time"
-
- "github.com/go-redis/redis/internal"
-)
-
-func usePrecise(dur time.Duration) bool {
- return dur < time.Second || dur%time.Second != 0
-}
-
-func formatMs(dur time.Duration) int64 {
- if dur > 0 && dur < time.Millisecond {
- internal.Logf(
- "specified duration is %s, but minimal supported value is %s",
- dur, time.Millisecond,
- )
- }
- return int64(dur / time.Millisecond)
-}
-
-func formatSec(dur time.Duration) int64 {
- if dur > 0 && dur < time.Second {
- internal.Logf(
- "specified duration is %s, but minimal supported value is %s",
- dur, time.Second,
- )
- }
- return int64(dur / time.Second)
-}
-
-func appendArgs(dst, src []interface{}) []interface{} {
- if len(src) == 1 {
- if ss, ok := src[0].([]string); ok {
- for _, s := range ss {
- dst = append(dst, s)
- }
- return dst
- }
- }
-
- for _, v := range src {
- dst = append(dst, v)
- }
- return dst
-}
-
-type Cmdable interface {
- Pipeline() Pipeliner
- Pipelined(fn func(Pipeliner) error) ([]Cmder, error)
-
- TxPipelined(fn func(Pipeliner) error) ([]Cmder, error)
- TxPipeline() Pipeliner
-
- Command() *CommandsInfoCmd
- ClientGetName() *StringCmd
- Echo(message interface{}) *StringCmd
- Ping() *StatusCmd
- Quit() *StatusCmd
- Del(keys ...string) *IntCmd
- Unlink(keys ...string) *IntCmd
- Dump(key string) *StringCmd
- Exists(keys ...string) *IntCmd
- Expire(key string, expiration time.Duration) *BoolCmd
- ExpireAt(key string, tm time.Time) *BoolCmd
- Keys(pattern string) *StringSliceCmd
- Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd
- Move(key string, db int64) *BoolCmd
- ObjectRefCount(key string) *IntCmd
- ObjectEncoding(key string) *StringCmd
- ObjectIdleTime(key string) *DurationCmd
- Persist(key string) *BoolCmd
- PExpire(key string, expiration time.Duration) *BoolCmd
- PExpireAt(key string, tm time.Time) *BoolCmd
- PTTL(key string) *DurationCmd
- RandomKey() *StringCmd
- Rename(key, newkey string) *StatusCmd
- RenameNX(key, newkey string) *BoolCmd
- Restore(key string, ttl time.Duration, value string) *StatusCmd
- RestoreReplace(key string, ttl time.Duration, value string) *StatusCmd
- Sort(key string, sort *Sort) *StringSliceCmd
- SortStore(key, store string, sort *Sort) *IntCmd
- SortInterfaces(key string, sort *Sort) *SliceCmd
- Touch(keys ...string) *IntCmd
- TTL(key string) *DurationCmd
- Type(key string) *StatusCmd
- Scan(cursor uint64, match string, count int64) *ScanCmd
- SScan(key string, cursor uint64, match string, count int64) *ScanCmd
- HScan(key string, cursor uint64, match string, count int64) *ScanCmd
- ZScan(key string, cursor uint64, match string, count int64) *ScanCmd
- Append(key, value string) *IntCmd
- BitCount(key string, bitCount *BitCount) *IntCmd
- BitOpAnd(destKey string, keys ...string) *IntCmd
- BitOpOr(destKey string, keys ...string) *IntCmd
- BitOpXor(destKey string, keys ...string) *IntCmd
- BitOpNot(destKey string, key string) *IntCmd
- BitPos(key string, bit int64, pos ...int64) *IntCmd
- Decr(key string) *IntCmd
- DecrBy(key string, decrement int64) *IntCmd
- Get(key string) *StringCmd
- GetBit(key string, offset int64) *IntCmd
- GetRange(key string, start, end int64) *StringCmd
- GetSet(key string, value interface{}) *StringCmd
- Incr(key string) *IntCmd
- IncrBy(key string, value int64) *IntCmd
- IncrByFloat(key string, value float64) *FloatCmd
- MGet(keys ...string) *SliceCmd
- MSet(pairs ...interface{}) *StatusCmd
- MSetNX(pairs ...interface{}) *BoolCmd
- Set(key string, value interface{}, expiration time.Duration) *StatusCmd
- SetBit(key string, offset int64, value int) *IntCmd
- SetNX(key string, value interface{}, expiration time.Duration) *BoolCmd
- SetXX(key string, value interface{}, expiration time.Duration) *BoolCmd
- SetRange(key string, offset int64, value string) *IntCmd
- StrLen(key string) *IntCmd
- HDel(key string, fields ...string) *IntCmd
- HExists(key, field string) *BoolCmd
- HGet(key, field string) *StringCmd
- HGetAll(key string) *StringStringMapCmd
- HIncrBy(key, field string, incr int64) *IntCmd
- HIncrByFloat(key, field string, incr float64) *FloatCmd
- HKeys(key string) *StringSliceCmd
- HLen(key string) *IntCmd
- HMGet(key string, fields ...string) *SliceCmd
- HMSet(key string, fields map[string]interface{}) *StatusCmd
- HSet(key, field string, value interface{}) *BoolCmd
- HSetNX(key, field string, value interface{}) *BoolCmd
- HVals(key string) *StringSliceCmd
- BLPop(timeout time.Duration, keys ...string) *StringSliceCmd
- BRPop(timeout time.Duration, keys ...string) *StringSliceCmd
- BRPopLPush(source, destination string, timeout time.Duration) *StringCmd
- LIndex(key string, index int64) *StringCmd
- LInsert(key, op string, pivot, value interface{}) *IntCmd
- LInsertBefore(key string, pivot, value interface{}) *IntCmd
- LInsertAfter(key string, pivot, value interface{}) *IntCmd
- LLen(key string) *IntCmd
- LPop(key string) *StringCmd
- LPush(key string, values ...interface{}) *IntCmd
- LPushX(key string, value interface{}) *IntCmd
- LRange(key string, start, stop int64) *StringSliceCmd
- LRem(key string, count int64, value interface{}) *IntCmd
- LSet(key string, index int64, value interface{}) *StatusCmd
- LTrim(key string, start, stop int64) *StatusCmd
- RPop(key string) *StringCmd
- RPopLPush(source, destination string) *StringCmd
- RPush(key string, values ...interface{}) *IntCmd
- RPushX(key string, value interface{}) *IntCmd
- SAdd(key string, members ...interface{}) *IntCmd
- SCard(key string) *IntCmd
- SDiff(keys ...string) *StringSliceCmd
- SDiffStore(destination string, keys ...string) *IntCmd
- SInter(keys ...string) *StringSliceCmd
- SInterStore(destination string, keys ...string) *IntCmd
- SIsMember(key string, member interface{}) *BoolCmd
- SMembers(key string) *StringSliceCmd
- SMembersMap(key string) *StringStructMapCmd
- SMove(source, destination string, member interface{}) *BoolCmd
- SPop(key string) *StringCmd
- SPopN(key string, count int64) *StringSliceCmd
- SRandMember(key string) *StringCmd
- SRandMemberN(key string, count int64) *StringSliceCmd
- SRem(key string, members ...interface{}) *IntCmd
- SUnion(keys ...string) *StringSliceCmd
- SUnionStore(destination string, keys ...string) *IntCmd
- XAdd(a *XAddArgs) *StringCmd
- XDel(stream string, ids ...string) *IntCmd
- XLen(stream string) *IntCmd
- XRange(stream, start, stop string) *XMessageSliceCmd
- XRangeN(stream, start, stop string, count int64) *XMessageSliceCmd
- XRevRange(stream string, start, stop string) *XMessageSliceCmd
- XRevRangeN(stream string, start, stop string, count int64) *XMessageSliceCmd
- XRead(a *XReadArgs) *XStreamSliceCmd
- XReadStreams(streams ...string) *XStreamSliceCmd
- XGroupCreate(stream, group, start string) *StatusCmd
- XGroupCreateMkStream(stream, group, start string) *StatusCmd
- XGroupSetID(stream, group, start string) *StatusCmd
- XGroupDestroy(stream, group string) *IntCmd
- XGroupDelConsumer(stream, group, consumer string) *IntCmd
- XReadGroup(a *XReadGroupArgs) *XStreamSliceCmd
- XAck(stream, group string, ids ...string) *IntCmd
- XPending(stream, group string) *XPendingCmd
- XPendingExt(a *XPendingExtArgs) *XPendingExtCmd
- XClaim(a *XClaimArgs) *XMessageSliceCmd
- XClaimJustID(a *XClaimArgs) *StringSliceCmd
- XTrim(key string, maxLen int64) *IntCmd
- XTrimApprox(key string, maxLen int64) *IntCmd
- BZPopMax(timeout time.Duration, keys ...string) *ZWithKeyCmd
- BZPopMin(timeout time.Duration, keys ...string) *ZWithKeyCmd
- ZAdd(key string, members ...Z) *IntCmd
- ZAddNX(key string, members ...Z) *IntCmd
- ZAddXX(key string, members ...Z) *IntCmd
- ZAddCh(key string, members ...Z) *IntCmd
- ZAddNXCh(key string, members ...Z) *IntCmd
- ZAddXXCh(key string, members ...Z) *IntCmd
- ZIncr(key string, member Z) *FloatCmd
- ZIncrNX(key string, member Z) *FloatCmd
- ZIncrXX(key string, member Z) *FloatCmd
- ZCard(key string) *IntCmd
- ZCount(key, min, max string) *IntCmd
- ZLexCount(key, min, max string) *IntCmd
- ZIncrBy(key string, increment float64, member string) *FloatCmd
- ZInterStore(destination string, store ZStore, keys ...string) *IntCmd
- ZPopMax(key string, count ...int64) *ZSliceCmd
- ZPopMin(key string, count ...int64) *ZSliceCmd
- ZRange(key string, start, stop int64) *StringSliceCmd
- ZRangeWithScores(key string, start, stop int64) *ZSliceCmd
- ZRangeByScore(key string, opt ZRangeBy) *StringSliceCmd
- ZRangeByLex(key string, opt ZRangeBy) *StringSliceCmd
- ZRangeByScoreWithScores(key string, opt ZRangeBy) *ZSliceCmd
- ZRank(key, member string) *IntCmd
- ZRem(key string, members ...interface{}) *IntCmd
- ZRemRangeByRank(key string, start, stop int64) *IntCmd
- ZRemRangeByScore(key, min, max string) *IntCmd
- ZRemRangeByLex(key, min, max string) *IntCmd
- ZRevRange(key string, start, stop int64) *StringSliceCmd
- ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd
- ZRevRangeByScore(key string, opt ZRangeBy) *StringSliceCmd
- ZRevRangeByLex(key string, opt ZRangeBy) *StringSliceCmd
- ZRevRangeByScoreWithScores(key string, opt ZRangeBy) *ZSliceCmd
- ZRevRank(key, member string) *IntCmd
- ZScore(key, member string) *FloatCmd
- ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd
- PFAdd(key string, els ...interface{}) *IntCmd
- PFCount(keys ...string) *IntCmd
- PFMerge(dest string, keys ...string) *StatusCmd
- BgRewriteAOF() *StatusCmd
- BgSave() *StatusCmd
- ClientKill(ipPort string) *StatusCmd
- ClientKillByFilter(keys ...string) *IntCmd
- ClientList() *StringCmd
- ClientPause(dur time.Duration) *BoolCmd
- ClientID() *IntCmd
- ConfigGet(parameter string) *SliceCmd
- ConfigResetStat() *StatusCmd
- ConfigSet(parameter, value string) *StatusCmd
- ConfigRewrite() *StatusCmd
- DBSize() *IntCmd
- FlushAll() *StatusCmd
- FlushAllAsync() *StatusCmd
- FlushDB() *StatusCmd
- FlushDBAsync() *StatusCmd
- Info(section ...string) *StringCmd
- LastSave() *IntCmd
- Save() *StatusCmd
- Shutdown() *StatusCmd
- ShutdownSave() *StatusCmd
- ShutdownNoSave() *StatusCmd
- SlaveOf(host, port string) *StatusCmd
- Time() *TimeCmd
- Eval(script string, keys []string, args ...interface{}) *Cmd
- EvalSha(sha1 string, keys []string, args ...interface{}) *Cmd
- ScriptExists(hashes ...string) *BoolSliceCmd
- ScriptFlush() *StatusCmd
- ScriptKill() *StatusCmd
- ScriptLoad(script string) *StringCmd
- DebugObject(key string) *StringCmd
- Publish(channel string, message interface{}) *IntCmd
- PubSubChannels(pattern string) *StringSliceCmd
- PubSubNumSub(channels ...string) *StringIntMapCmd
- PubSubNumPat() *IntCmd
- ClusterSlots() *ClusterSlotsCmd
- ClusterNodes() *StringCmd
- ClusterMeet(host, port string) *StatusCmd
- ClusterForget(nodeID string) *StatusCmd
- ClusterReplicate(nodeID string) *StatusCmd
- ClusterResetSoft() *StatusCmd
- ClusterResetHard() *StatusCmd
- ClusterInfo() *StringCmd
- ClusterKeySlot(key string) *IntCmd
- ClusterGetKeysInSlot(slot int, count int) *StringSliceCmd
- ClusterCountFailureReports(nodeID string) *IntCmd
- ClusterCountKeysInSlot(slot int) *IntCmd
- ClusterDelSlots(slots ...int) *StatusCmd
- ClusterDelSlotsRange(min, max int) *StatusCmd
- ClusterSaveConfig() *StatusCmd
- ClusterSlaves(nodeID string) *StringSliceCmd
- ClusterFailover() *StatusCmd
- ClusterAddSlots(slots ...int) *StatusCmd
- ClusterAddSlotsRange(min, max int) *StatusCmd
- GeoAdd(key string, geoLocation ...*GeoLocation) *IntCmd
- GeoPos(key string, members ...string) *GeoPosCmd
- GeoRadius(key string, longitude, latitude float64, query *GeoRadiusQuery) *GeoLocationCmd
- GeoRadiusRO(key string, longitude, latitude float64, query *GeoRadiusQuery) *GeoLocationCmd
- GeoRadiusByMember(key, member string, query *GeoRadiusQuery) *GeoLocationCmd
- GeoRadiusByMemberRO(key, member string, query *GeoRadiusQuery) *GeoLocationCmd
- GeoDist(key string, member1, member2, unit string) *FloatCmd
- GeoHash(key string, members ...string) *StringSliceCmd
- ReadOnly() *StatusCmd
- ReadWrite() *StatusCmd
- MemoryUsage(key string, samples ...int) *IntCmd
-}
-
-type StatefulCmdable interface {
- Cmdable
- Auth(password string) *StatusCmd
- Select(index int) *StatusCmd
- SwapDB(index1, index2 int) *StatusCmd
- ClientSetName(name string) *BoolCmd
-}
-
-var _ Cmdable = (*Client)(nil)
-var _ Cmdable = (*Tx)(nil)
-var _ Cmdable = (*Ring)(nil)
-var _ Cmdable = (*ClusterClient)(nil)
-
-type cmdable struct {
- process func(cmd Cmder) error
-}
-
-func (c *cmdable) setProcessor(fn func(Cmder) error) {
- c.process = fn
-}
-
-type statefulCmdable struct {
- cmdable
- process func(cmd Cmder) error
-}
-
-func (c *statefulCmdable) setProcessor(fn func(Cmder) error) {
- c.process = fn
- c.cmdable.setProcessor(fn)
-}
-
-//------------------------------------------------------------------------------
-
-func (c *statefulCmdable) Auth(password string) *StatusCmd {
- cmd := NewStatusCmd("auth", password)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Echo(message interface{}) *StringCmd {
- cmd := NewStringCmd("echo", message)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Ping() *StatusCmd {
- cmd := NewStatusCmd("ping")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Wait(numSlaves int, timeout time.Duration) *IntCmd {
- cmd := NewIntCmd("wait", numSlaves, int(timeout/time.Millisecond))
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Quit() *StatusCmd {
- panic("not implemented")
-}
-
-func (c *statefulCmdable) Select(index int) *StatusCmd {
- cmd := NewStatusCmd("select", index)
- c.process(cmd)
- return cmd
-}
-
-func (c *statefulCmdable) SwapDB(index1, index2 int) *StatusCmd {
- cmd := NewStatusCmd("swapdb", index1, index2)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) Command() *CommandsInfoCmd {
- cmd := NewCommandsInfoCmd("command")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Del(keys ...string) *IntCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "del"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Unlink(keys ...string) *IntCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "unlink"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Dump(key string) *StringCmd {
- cmd := NewStringCmd("dump", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Exists(keys ...string) *IntCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "exists"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Expire(key string, expiration time.Duration) *BoolCmd {
- cmd := NewBoolCmd("expire", key, formatSec(expiration))
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ExpireAt(key string, tm time.Time) *BoolCmd {
- cmd := NewBoolCmd("expireat", key, tm.Unix())
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Keys(pattern string) *StringSliceCmd {
- cmd := NewStringSliceCmd("keys", pattern)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd {
- cmd := NewStatusCmd(
- "migrate",
- host,
- port,
- key,
- db,
- formatMs(timeout),
- )
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Move(key string, db int64) *BoolCmd {
- cmd := NewBoolCmd("move", key, db)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ObjectRefCount(key string) *IntCmd {
- cmd := NewIntCmd("object", "refcount", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ObjectEncoding(key string) *StringCmd {
- cmd := NewStringCmd("object", "encoding", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ObjectIdleTime(key string) *DurationCmd {
- cmd := NewDurationCmd(time.Second, "object", "idletime", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Persist(key string) *BoolCmd {
- cmd := NewBoolCmd("persist", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) PExpire(key string, expiration time.Duration) *BoolCmd {
- cmd := NewBoolCmd("pexpire", key, formatMs(expiration))
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) PExpireAt(key string, tm time.Time) *BoolCmd {
- cmd := NewBoolCmd(
- "pexpireat",
- key,
- tm.UnixNano()/int64(time.Millisecond),
- )
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) PTTL(key string) *DurationCmd {
- cmd := NewDurationCmd(time.Millisecond, "pttl", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RandomKey() *StringCmd {
- cmd := NewStringCmd("randomkey")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Rename(key, newkey string) *StatusCmd {
- cmd := NewStatusCmd("rename", key, newkey)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RenameNX(key, newkey string) *BoolCmd {
- cmd := NewBoolCmd("renamenx", key, newkey)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Restore(key string, ttl time.Duration, value string) *StatusCmd {
- cmd := NewStatusCmd(
- "restore",
- key,
- formatMs(ttl),
- value,
- )
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RestoreReplace(key string, ttl time.Duration, value string) *StatusCmd {
- cmd := NewStatusCmd(
- "restore",
- key,
- formatMs(ttl),
- value,
- "replace",
- )
- c.process(cmd)
- return cmd
-}
-
-type Sort struct {
- By string
- Offset, Count int64
- Get []string
- Order string
- Alpha bool
-}
-
-func (sort *Sort) args(key string) []interface{} {
- args := []interface{}{"sort", key}
- if sort.By != "" {
- args = append(args, "by", sort.By)
- }
- if sort.Offset != 0 || sort.Count != 0 {
- args = append(args, "limit", sort.Offset, sort.Count)
- }
- for _, get := range sort.Get {
- args = append(args, "get", get)
- }
- if sort.Order != "" {
- args = append(args, sort.Order)
- }
- if sort.Alpha {
- args = append(args, "alpha")
- }
- return args
-}
-
-func (c *cmdable) Sort(key string, sort *Sort) *StringSliceCmd {
- cmd := NewStringSliceCmd(sort.args(key)...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SortStore(key, store string, sort *Sort) *IntCmd {
- args := sort.args(key)
- if store != "" {
- args = append(args, "store", store)
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SortInterfaces(key string, sort *Sort) *SliceCmd {
- cmd := NewSliceCmd(sort.args(key)...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Touch(keys ...string) *IntCmd {
- args := make([]interface{}, len(keys)+1)
- args[0] = "touch"
- for i, key := range keys {
- args[i+1] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) TTL(key string) *DurationCmd {
- cmd := NewDurationCmd(time.Second, "ttl", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Type(key string) *StatusCmd {
- cmd := NewStatusCmd("type", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Scan(cursor uint64, match string, count int64) *ScanCmd {
- args := []interface{}{"scan", cursor}
- if match != "" {
- args = append(args, "match", match)
- }
- if count > 0 {
- args = append(args, "count", count)
- }
- cmd := NewScanCmd(c.process, args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SScan(key string, cursor uint64, match string, count int64) *ScanCmd {
- args := []interface{}{"sscan", key, cursor}
- if match != "" {
- args = append(args, "match", match)
- }
- if count > 0 {
- args = append(args, "count", count)
- }
- cmd := NewScanCmd(c.process, args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HScan(key string, cursor uint64, match string, count int64) *ScanCmd {
- args := []interface{}{"hscan", key, cursor}
- if match != "" {
- args = append(args, "match", match)
- }
- if count > 0 {
- args = append(args, "count", count)
- }
- cmd := NewScanCmd(c.process, args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZScan(key string, cursor uint64, match string, count int64) *ScanCmd {
- args := []interface{}{"zscan", key, cursor}
- if match != "" {
- args = append(args, "match", match)
- }
- if count > 0 {
- args = append(args, "count", count)
- }
- cmd := NewScanCmd(c.process, args...)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) Append(key, value string) *IntCmd {
- cmd := NewIntCmd("append", key, value)
- c.process(cmd)
- return cmd
-}
-
-type BitCount struct {
- Start, End int64
-}
-
-func (c *cmdable) BitCount(key string, bitCount *BitCount) *IntCmd {
- args := []interface{}{"bitcount", key}
- if bitCount != nil {
- args = append(
- args,
- bitCount.Start,
- bitCount.End,
- )
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) bitOp(op, destKey string, keys ...string) *IntCmd {
- args := make([]interface{}, 3+len(keys))
- args[0] = "bitop"
- args[1] = op
- args[2] = destKey
- for i, key := range keys {
- args[3+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) BitOpAnd(destKey string, keys ...string) *IntCmd {
- return c.bitOp("and", destKey, keys...)
-}
-
-func (c *cmdable) BitOpOr(destKey string, keys ...string) *IntCmd {
- return c.bitOp("or", destKey, keys...)
-}
-
-func (c *cmdable) BitOpXor(destKey string, keys ...string) *IntCmd {
- return c.bitOp("xor", destKey, keys...)
-}
-
-func (c *cmdable) BitOpNot(destKey string, key string) *IntCmd {
- return c.bitOp("not", destKey, key)
-}
-
-func (c *cmdable) BitPos(key string, bit int64, pos ...int64) *IntCmd {
- args := make([]interface{}, 3+len(pos))
- args[0] = "bitpos"
- args[1] = key
- args[2] = bit
- switch len(pos) {
- case 0:
- case 1:
- args[3] = pos[0]
- case 2:
- args[3] = pos[0]
- args[4] = pos[1]
- default:
- panic("too many arguments")
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Decr(key string) *IntCmd {
- cmd := NewIntCmd("decr", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) DecrBy(key string, decrement int64) *IntCmd {
- cmd := NewIntCmd("decrby", key, decrement)
- c.process(cmd)
- return cmd
-}
-
-// Redis `GET key` command. It returns redis.Nil error when key does not exist.
-func (c *cmdable) Get(key string) *StringCmd {
- cmd := NewStringCmd("get", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) GetBit(key string, offset int64) *IntCmd {
- cmd := NewIntCmd("getbit", key, offset)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) GetRange(key string, start, end int64) *StringCmd {
- cmd := NewStringCmd("getrange", key, start, end)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) GetSet(key string, value interface{}) *StringCmd {
- cmd := NewStringCmd("getset", key, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) Incr(key string) *IntCmd {
- cmd := NewIntCmd("incr", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) IncrBy(key string, value int64) *IntCmd {
- cmd := NewIntCmd("incrby", key, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) IncrByFloat(key string, value float64) *FloatCmd {
- cmd := NewFloatCmd("incrbyfloat", key, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) MGet(keys ...string) *SliceCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "mget"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) MSet(pairs ...interface{}) *StatusCmd {
- args := make([]interface{}, 1, 1+len(pairs))
- args[0] = "mset"
- args = appendArgs(args, pairs)
- cmd := NewStatusCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) MSetNX(pairs ...interface{}) *BoolCmd {
- args := make([]interface{}, 1, 1+len(pairs))
- args[0] = "msetnx"
- args = appendArgs(args, pairs)
- cmd := NewBoolCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SET key value [expiration]` command.
-//
-// Use expiration for `SETEX`-like behavior.
-// Zero expiration means the key has no expiration time.
-func (c *cmdable) Set(key string, value interface{}, expiration time.Duration) *StatusCmd {
- args := make([]interface{}, 3, 4)
- args[0] = "set"
- args[1] = key
- args[2] = value
- if expiration > 0 {
- if usePrecise(expiration) {
- args = append(args, "px", formatMs(expiration))
- } else {
- args = append(args, "ex", formatSec(expiration))
- }
- }
- cmd := NewStatusCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SetBit(key string, offset int64, value int) *IntCmd {
- cmd := NewIntCmd(
- "setbit",
- key,
- offset,
- value,
- )
- c.process(cmd)
- return cmd
-}
-
-// Redis `SET key value [expiration] NX` command.
-//
-// Zero expiration means the key has no expiration time.
-func (c *cmdable) SetNX(key string, value interface{}, expiration time.Duration) *BoolCmd {
- var cmd *BoolCmd
- if expiration == 0 {
- // Use old `SETNX` to support old Redis versions.
- cmd = NewBoolCmd("setnx", key, value)
- } else {
- if usePrecise(expiration) {
- cmd = NewBoolCmd("set", key, value, "px", formatMs(expiration), "nx")
- } else {
- cmd = NewBoolCmd("set", key, value, "ex", formatSec(expiration), "nx")
- }
- }
- c.process(cmd)
- return cmd
-}
-
-// Redis `SET key value [expiration] XX` command.
-//
-// Zero expiration means the key has no expiration time.
-func (c *cmdable) SetXX(key string, value interface{}, expiration time.Duration) *BoolCmd {
- var cmd *BoolCmd
- if expiration == 0 {
- cmd = NewBoolCmd("set", key, value, "xx")
- } else {
- if usePrecise(expiration) {
- cmd = NewBoolCmd("set", key, value, "px", formatMs(expiration), "xx")
- } else {
- cmd = NewBoolCmd("set", key, value, "ex", formatSec(expiration), "xx")
- }
- }
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SetRange(key string, offset int64, value string) *IntCmd {
- cmd := NewIntCmd("setrange", key, offset, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) StrLen(key string) *IntCmd {
- cmd := NewIntCmd("strlen", key)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) HDel(key string, fields ...string) *IntCmd {
- args := make([]interface{}, 2+len(fields))
- args[0] = "hdel"
- args[1] = key
- for i, field := range fields {
- args[2+i] = field
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HExists(key, field string) *BoolCmd {
- cmd := NewBoolCmd("hexists", key, field)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HGet(key, field string) *StringCmd {
- cmd := NewStringCmd("hget", key, field)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HGetAll(key string) *StringStringMapCmd {
- cmd := NewStringStringMapCmd("hgetall", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HIncrBy(key, field string, incr int64) *IntCmd {
- cmd := NewIntCmd("hincrby", key, field, incr)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HIncrByFloat(key, field string, incr float64) *FloatCmd {
- cmd := NewFloatCmd("hincrbyfloat", key, field, incr)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HKeys(key string) *StringSliceCmd {
- cmd := NewStringSliceCmd("hkeys", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HLen(key string) *IntCmd {
- cmd := NewIntCmd("hlen", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HMGet(key string, fields ...string) *SliceCmd {
- args := make([]interface{}, 2+len(fields))
- args[0] = "hmget"
- args[1] = key
- for i, field := range fields {
- args[2+i] = field
- }
- cmd := NewSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HMSet(key string, fields map[string]interface{}) *StatusCmd {
- args := make([]interface{}, 2+len(fields)*2)
- args[0] = "hmset"
- args[1] = key
- i := 2
- for k, v := range fields {
- args[i] = k
- args[i+1] = v
- i += 2
- }
- cmd := NewStatusCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HSet(key, field string, value interface{}) *BoolCmd {
- cmd := NewBoolCmd("hset", key, field, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HSetNX(key, field string, value interface{}) *BoolCmd {
- cmd := NewBoolCmd("hsetnx", key, field, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) HVals(key string) *StringSliceCmd {
- cmd := NewStringSliceCmd("hvals", key)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd {
- args := make([]interface{}, 1+len(keys)+1)
- args[0] = "blpop"
- for i, key := range keys {
- args[1+i] = key
- }
- args[len(args)-1] = formatSec(timeout)
- cmd := NewStringSliceCmd(args...)
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd {
- args := make([]interface{}, 1+len(keys)+1)
- args[0] = "brpop"
- for i, key := range keys {
- args[1+i] = key
- }
- args[len(keys)+1] = formatSec(timeout)
- cmd := NewStringSliceCmd(args...)
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd {
- cmd := NewStringCmd(
- "brpoplpush",
- source,
- destination,
- formatSec(timeout),
- )
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LIndex(key string, index int64) *StringCmd {
- cmd := NewStringCmd("lindex", key, index)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LInsert(key, op string, pivot, value interface{}) *IntCmd {
- cmd := NewIntCmd("linsert", key, op, pivot, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LInsertBefore(key string, pivot, value interface{}) *IntCmd {
- cmd := NewIntCmd("linsert", key, "before", pivot, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LInsertAfter(key string, pivot, value interface{}) *IntCmd {
- cmd := NewIntCmd("linsert", key, "after", pivot, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LLen(key string) *IntCmd {
- cmd := NewIntCmd("llen", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LPop(key string) *StringCmd {
- cmd := NewStringCmd("lpop", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LPush(key string, values ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(values))
- args[0] = "lpush"
- args[1] = key
- args = appendArgs(args, values)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LPushX(key string, value interface{}) *IntCmd {
- cmd := NewIntCmd("lpushx", key, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LRange(key string, start, stop int64) *StringSliceCmd {
- cmd := NewStringSliceCmd(
- "lrange",
- key,
- start,
- stop,
- )
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LRem(key string, count int64, value interface{}) *IntCmd {
- cmd := NewIntCmd("lrem", key, count, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LSet(key string, index int64, value interface{}) *StatusCmd {
- cmd := NewStatusCmd("lset", key, index, value)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) LTrim(key string, start, stop int64) *StatusCmd {
- cmd := NewStatusCmd(
- "ltrim",
- key,
- start,
- stop,
- )
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RPop(key string) *StringCmd {
- cmd := NewStringCmd("rpop", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RPopLPush(source, destination string) *StringCmd {
- cmd := NewStringCmd("rpoplpush", source, destination)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RPush(key string, values ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(values))
- args[0] = "rpush"
- args[1] = key
- args = appendArgs(args, values)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) RPushX(key string, value interface{}) *IntCmd {
- cmd := NewIntCmd("rpushx", key, value)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) SAdd(key string, members ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(members))
- args[0] = "sadd"
- args[1] = key
- args = appendArgs(args, members)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SCard(key string) *IntCmd {
- cmd := NewIntCmd("scard", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SDiff(keys ...string) *StringSliceCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "sdiff"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SDiffStore(destination string, keys ...string) *IntCmd {
- args := make([]interface{}, 2+len(keys))
- args[0] = "sdiffstore"
- args[1] = destination
- for i, key := range keys {
- args[2+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SInter(keys ...string) *StringSliceCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "sinter"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SInterStore(destination string, keys ...string) *IntCmd {
- args := make([]interface{}, 2+len(keys))
- args[0] = "sinterstore"
- args[1] = destination
- for i, key := range keys {
- args[2+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SIsMember(key string, member interface{}) *BoolCmd {
- cmd := NewBoolCmd("sismember", key, member)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SMEMBERS key` command output as a slice
-func (c *cmdable) SMembers(key string) *StringSliceCmd {
- cmd := NewStringSliceCmd("smembers", key)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SMEMBERS key` command output as a map
-func (c *cmdable) SMembersMap(key string) *StringStructMapCmd {
- cmd := NewStringStructMapCmd("smembers", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SMove(source, destination string, member interface{}) *BoolCmd {
- cmd := NewBoolCmd("smove", source, destination, member)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SPOP key` command.
-func (c *cmdable) SPop(key string) *StringCmd {
- cmd := NewStringCmd("spop", key)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SPOP key count` command.
-func (c *cmdable) SPopN(key string, count int64) *StringSliceCmd {
- cmd := NewStringSliceCmd("spop", key, count)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SRANDMEMBER key` command.
-func (c *cmdable) SRandMember(key string) *StringCmd {
- cmd := NewStringCmd("srandmember", key)
- c.process(cmd)
- return cmd
-}
-
-// Redis `SRANDMEMBER key count` command.
-func (c *cmdable) SRandMemberN(key string, count int64) *StringSliceCmd {
- cmd := NewStringSliceCmd("srandmember", key, count)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SRem(key string, members ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(members))
- args[0] = "srem"
- args[1] = key
- args = appendArgs(args, members)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SUnion(keys ...string) *StringSliceCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "sunion"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) SUnionStore(destination string, keys ...string) *IntCmd {
- args := make([]interface{}, 2+len(keys))
- args[0] = "sunionstore"
- args[1] = destination
- for i, key := range keys {
- args[2+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-type XAddArgs struct {
- Stream string
- MaxLen int64 // MAXLEN N
- MaxLenApprox int64 // MAXLEN ~ N
- ID string
- Values map[string]interface{}
-}
-
-func (c *cmdable) XAdd(a *XAddArgs) *StringCmd {
- args := make([]interface{}, 0, 6+len(a.Values)*2)
- args = append(args, "xadd")
- args = append(args, a.Stream)
- if a.MaxLen > 0 {
- args = append(args, "maxlen", a.MaxLen)
- } else if a.MaxLenApprox > 0 {
- args = append(args, "maxlen", "~", a.MaxLenApprox)
- }
- if a.ID != "" {
- args = append(args, a.ID)
- } else {
- args = append(args, "*")
- }
- for k, v := range a.Values {
- args = append(args, k)
- args = append(args, v)
- }
-
- cmd := NewStringCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XDel(stream string, ids ...string) *IntCmd {
- args := []interface{}{"xdel", stream}
- for _, id := range ids {
- args = append(args, id)
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XLen(stream string) *IntCmd {
- cmd := NewIntCmd("xlen", stream)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XRange(stream, start, stop string) *XMessageSliceCmd {
- cmd := NewXMessageSliceCmd("xrange", stream, start, stop)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XRangeN(stream, start, stop string, count int64) *XMessageSliceCmd {
- cmd := NewXMessageSliceCmd("xrange", stream, start, stop, "count", count)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XRevRange(stream, start, stop string) *XMessageSliceCmd {
- cmd := NewXMessageSliceCmd("xrevrange", stream, start, stop)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XRevRangeN(stream, start, stop string, count int64) *XMessageSliceCmd {
- cmd := NewXMessageSliceCmd("xrevrange", stream, start, stop, "count", count)
- c.process(cmd)
- return cmd
-}
-
-type XReadArgs struct {
- Streams []string
- Count int64
- Block time.Duration
-}
-
-func (c *cmdable) XRead(a *XReadArgs) *XStreamSliceCmd {
- args := make([]interface{}, 0, 5+len(a.Streams))
- args = append(args, "xread")
- if a.Count > 0 {
- args = append(args, "count")
- args = append(args, a.Count)
- }
- if a.Block >= 0 {
- args = append(args, "block")
- args = append(args, int64(a.Block/time.Millisecond))
- }
- args = append(args, "streams")
- for _, s := range a.Streams {
- args = append(args, s)
- }
-
- cmd := NewXStreamSliceCmd(args...)
- if a.Block >= 0 {
- cmd.setReadTimeout(a.Block)
- }
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XReadStreams(streams ...string) *XStreamSliceCmd {
- return c.XRead(&XReadArgs{
- Streams: streams,
- Block: -1,
- })
-}
-
-func (c *cmdable) XGroupCreate(stream, group, start string) *StatusCmd {
- cmd := NewStatusCmd("xgroup", "create", stream, group, start)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XGroupCreateMkStream(stream, group, start string) *StatusCmd {
- cmd := NewStatusCmd("xgroup", "create", stream, group, start, "mkstream")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XGroupSetID(stream, group, start string) *StatusCmd {
- cmd := NewStatusCmd("xgroup", "setid", stream, group, start)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XGroupDestroy(stream, group string) *IntCmd {
- cmd := NewIntCmd("xgroup", "destroy", stream, group)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XGroupDelConsumer(stream, group, consumer string) *IntCmd {
- cmd := NewIntCmd("xgroup", "delconsumer", stream, group, consumer)
- c.process(cmd)
- return cmd
-}
-
-type XReadGroupArgs struct {
- Group string
- Consumer string
- // List of streams and ids.
- Streams []string
- Count int64
- Block time.Duration
- NoAck bool
-}
-
-func (c *cmdable) XReadGroup(a *XReadGroupArgs) *XStreamSliceCmd {
- args := make([]interface{}, 0, 8+len(a.Streams))
- args = append(args, "xreadgroup", "group", a.Group, a.Consumer)
- if a.Count > 0 {
- args = append(args, "count", a.Count)
- }
- if a.Block >= 0 {
- args = append(args, "block", int64(a.Block/time.Millisecond))
- }
- if a.NoAck {
- args = append(args, "noack")
- }
- args = append(args, "streams")
- for _, s := range a.Streams {
- args = append(args, s)
- }
-
- cmd := NewXStreamSliceCmd(args...)
- if a.Block >= 0 {
- cmd.setReadTimeout(a.Block)
- }
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XAck(stream, group string, ids ...string) *IntCmd {
- args := []interface{}{"xack", stream, group}
- for _, id := range ids {
- args = append(args, id)
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XPending(stream, group string) *XPendingCmd {
- cmd := NewXPendingCmd("xpending", stream, group)
- c.process(cmd)
- return cmd
-}
-
-type XPendingExtArgs struct {
- Stream string
- Group string
- Start string
- End string
- Count int64
- Consumer string
-}
-
-func (c *cmdable) XPendingExt(a *XPendingExtArgs) *XPendingExtCmd {
- args := make([]interface{}, 0, 7)
- args = append(args, "xpending", a.Stream, a.Group, a.Start, a.End, a.Count)
- if a.Consumer != "" {
- args = append(args, a.Consumer)
- }
- cmd := NewXPendingExtCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-type XClaimArgs struct {
- Stream string
- Group string
- Consumer string
- MinIdle time.Duration
- Messages []string
-}
-
-func (c *cmdable) XClaim(a *XClaimArgs) *XMessageSliceCmd {
- args := xClaimArgs(a)
- cmd := NewXMessageSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XClaimJustID(a *XClaimArgs) *StringSliceCmd {
- args := xClaimArgs(a)
- args = append(args, "justid")
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func xClaimArgs(a *XClaimArgs) []interface{} {
- args := make([]interface{}, 0, 4+len(a.Messages))
- args = append(args,
- "xclaim",
- a.Stream,
- a.Group, a.Consumer,
- int64(a.MinIdle/time.Millisecond))
- for _, id := range a.Messages {
- args = append(args, id)
- }
- return args
-}
-
-func (c *cmdable) XTrim(key string, maxLen int64) *IntCmd {
- cmd := NewIntCmd("xtrim", key, "maxlen", maxLen)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) XTrimApprox(key string, maxLen int64) *IntCmd {
- cmd := NewIntCmd("xtrim", key, "maxlen", "~", maxLen)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-// Z represents sorted set member.
-type Z struct {
- Score float64
- Member interface{}
-}
-
-// ZWithKey represents sorted set member including the name of the key where it was popped.
-type ZWithKey struct {
- Z
- Key string
-}
-
-// ZStore is used as an arg to ZInterStore and ZUnionStore.
-type ZStore struct {
- Weights []float64
- // Can be SUM, MIN or MAX.
- Aggregate string
-}
-
-// Redis `BZPOPMAX key [key ...] timeout` command.
-func (c *cmdable) BZPopMax(timeout time.Duration, keys ...string) *ZWithKeyCmd {
- args := make([]interface{}, 1+len(keys)+1)
- args[0] = "bzpopmax"
- for i, key := range keys {
- args[1+i] = key
- }
- args[len(args)-1] = formatSec(timeout)
- cmd := NewZWithKeyCmd(args...)
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-// Redis `BZPOPMIN key [key ...] timeout` command.
-func (c *cmdable) BZPopMin(timeout time.Duration, keys ...string) *ZWithKeyCmd {
- args := make([]interface{}, 1+len(keys)+1)
- args[0] = "bzpopmin"
- for i, key := range keys {
- args[1+i] = key
- }
- args[len(args)-1] = formatSec(timeout)
- cmd := NewZWithKeyCmd(args...)
- cmd.setReadTimeout(timeout)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) zAdd(a []interface{}, n int, members ...Z) *IntCmd {
- for i, m := range members {
- a[n+2*i] = m.Score
- a[n+2*i+1] = m.Member
- }
- cmd := NewIntCmd(a...)
- c.process(cmd)
- return cmd
-}
-
-// Redis `ZADD key score member [score member ...]` command.
-func (c *cmdable) ZAdd(key string, members ...Z) *IntCmd {
- const n = 2
- a := make([]interface{}, n+2*len(members))
- a[0], a[1] = "zadd", key
- return c.zAdd(a, n, members...)
-}
-
-// Redis `ZADD key NX score member [score member ...]` command.
-func (c *cmdable) ZAddNX(key string, members ...Z) *IntCmd {
- const n = 3
- a := make([]interface{}, n+2*len(members))
- a[0], a[1], a[2] = "zadd", key, "nx"
- return c.zAdd(a, n, members...)
-}
-
-// Redis `ZADD key XX score member [score member ...]` command.
-func (c *cmdable) ZAddXX(key string, members ...Z) *IntCmd {
- const n = 3
- a := make([]interface{}, n+2*len(members))
- a[0], a[1], a[2] = "zadd", key, "xx"
- return c.zAdd(a, n, members...)
-}
-
-// Redis `ZADD key CH score member [score member ...]` command.
-func (c *cmdable) ZAddCh(key string, members ...Z) *IntCmd {
- const n = 3
- a := make([]interface{}, n+2*len(members))
- a[0], a[1], a[2] = "zadd", key, "ch"
- return c.zAdd(a, n, members...)
-}
-
-// Redis `ZADD key NX CH score member [score member ...]` command.
-func (c *cmdable) ZAddNXCh(key string, members ...Z) *IntCmd {
- const n = 4
- a := make([]interface{}, n+2*len(members))
- a[0], a[1], a[2], a[3] = "zadd", key, "nx", "ch"
- return c.zAdd(a, n, members...)
-}
-
-// Redis `ZADD key XX CH score member [score member ...]` command.
-func (c *cmdable) ZAddXXCh(key string, members ...Z) *IntCmd {
- const n = 4
- a := make([]interface{}, n+2*len(members))
- a[0], a[1], a[2], a[3] = "zadd", key, "xx", "ch"
- return c.zAdd(a, n, members...)
-}
-
-func (c *cmdable) zIncr(a []interface{}, n int, members ...Z) *FloatCmd {
- for i, m := range members {
- a[n+2*i] = m.Score
- a[n+2*i+1] = m.Member
- }
- cmd := NewFloatCmd(a...)
- c.process(cmd)
- return cmd
-}
-
-// Redis `ZADD key INCR score member` command.
-func (c *cmdable) ZIncr(key string, member Z) *FloatCmd {
- const n = 3
- a := make([]interface{}, n+2)
- a[0], a[1], a[2] = "zadd", key, "incr"
- return c.zIncr(a, n, member)
-}
-
-// Redis `ZADD key NX INCR score member` command.
-func (c *cmdable) ZIncrNX(key string, member Z) *FloatCmd {
- const n = 4
- a := make([]interface{}, n+2)
- a[0], a[1], a[2], a[3] = "zadd", key, "incr", "nx"
- return c.zIncr(a, n, member)
-}
-
-// Redis `ZADD key XX INCR score member` command.
-func (c *cmdable) ZIncrXX(key string, member Z) *FloatCmd {
- const n = 4
- a := make([]interface{}, n+2)
- a[0], a[1], a[2], a[3] = "zadd", key, "incr", "xx"
- return c.zIncr(a, n, member)
-}
-
-func (c *cmdable) ZCard(key string) *IntCmd {
- cmd := NewIntCmd("zcard", key)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZCount(key, min, max string) *IntCmd {
- cmd := NewIntCmd("zcount", key, min, max)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZLexCount(key, min, max string) *IntCmd {
- cmd := NewIntCmd("zlexcount", key, min, max)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZIncrBy(key string, increment float64, member string) *FloatCmd {
- cmd := NewFloatCmd("zincrby", key, increment, member)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZInterStore(destination string, store ZStore, keys ...string) *IntCmd {
- args := make([]interface{}, 3+len(keys))
- args[0] = "zinterstore"
- args[1] = destination
- args[2] = len(keys)
- for i, key := range keys {
- args[3+i] = key
- }
- if len(store.Weights) > 0 {
- args = append(args, "weights")
- for _, weight := range store.Weights {
- args = append(args, weight)
- }
- }
- if store.Aggregate != "" {
- args = append(args, "aggregate", store.Aggregate)
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZPopMax(key string, count ...int64) *ZSliceCmd {
- args := []interface{}{
- "zpopmax",
- key,
- }
-
- switch len(count) {
- case 0:
- break
- case 1:
- args = append(args, count[0])
- default:
- panic("too many arguments")
- }
-
- cmd := NewZSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZPopMin(key string, count ...int64) *ZSliceCmd {
- args := []interface{}{
- "zpopmin",
- key,
- }
-
- switch len(count) {
- case 0:
- break
- case 1:
- args = append(args, count[0])
- default:
- panic("too many arguments")
- }
-
- cmd := NewZSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) zRange(key string, start, stop int64, withScores bool) *StringSliceCmd {
- args := []interface{}{
- "zrange",
- key,
- start,
- stop,
- }
- if withScores {
- args = append(args, "withscores")
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRange(key string, start, stop int64) *StringSliceCmd {
- return c.zRange(key, start, stop, false)
-}
-
-func (c *cmdable) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd {
- cmd := NewZSliceCmd("zrange", key, start, stop, "withscores")
- c.process(cmd)
- return cmd
-}
-
-type ZRangeBy struct {
- Min, Max string
- Offset, Count int64
-}
-
-func (c *cmdable) zRangeBy(zcmd, key string, opt ZRangeBy, withScores bool) *StringSliceCmd {
- args := []interface{}{zcmd, key, opt.Min, opt.Max}
- if withScores {
- args = append(args, "withscores")
- }
- if opt.Offset != 0 || opt.Count != 0 {
- args = append(
- args,
- "limit",
- opt.Offset,
- opt.Count,
- )
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRangeByScore(key string, opt ZRangeBy) *StringSliceCmd {
- return c.zRangeBy("zrangebyscore", key, opt, false)
-}
-
-func (c *cmdable) ZRangeByLex(key string, opt ZRangeBy) *StringSliceCmd {
- return c.zRangeBy("zrangebylex", key, opt, false)
-}
-
-func (c *cmdable) ZRangeByScoreWithScores(key string, opt ZRangeBy) *ZSliceCmd {
- args := []interface{}{"zrangebyscore", key, opt.Min, opt.Max, "withscores"}
- if opt.Offset != 0 || opt.Count != 0 {
- args = append(
- args,
- "limit",
- opt.Offset,
- opt.Count,
- )
- }
- cmd := NewZSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRank(key, member string) *IntCmd {
- cmd := NewIntCmd("zrank", key, member)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRem(key string, members ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(members))
- args[0] = "zrem"
- args[1] = key
- args = appendArgs(args, members)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRemRangeByRank(key string, start, stop int64) *IntCmd {
- cmd := NewIntCmd(
- "zremrangebyrank",
- key,
- start,
- stop,
- )
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRemRangeByScore(key, min, max string) *IntCmd {
- cmd := NewIntCmd("zremrangebyscore", key, min, max)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRemRangeByLex(key, min, max string) *IntCmd {
- cmd := NewIntCmd("zremrangebylex", key, min, max)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRevRange(key string, start, stop int64) *StringSliceCmd {
- cmd := NewStringSliceCmd("zrevrange", key, start, stop)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd {
- cmd := NewZSliceCmd("zrevrange", key, start, stop, "withscores")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) zRevRangeBy(zcmd, key string, opt ZRangeBy) *StringSliceCmd {
- args := []interface{}{zcmd, key, opt.Max, opt.Min}
- if opt.Offset != 0 || opt.Count != 0 {
- args = append(
- args,
- "limit",
- opt.Offset,
- opt.Count,
- )
- }
- cmd := NewStringSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRevRangeByScore(key string, opt ZRangeBy) *StringSliceCmd {
- return c.zRevRangeBy("zrevrangebyscore", key, opt)
-}
-
-func (c *cmdable) ZRevRangeByLex(key string, opt ZRangeBy) *StringSliceCmd {
- return c.zRevRangeBy("zrevrangebylex", key, opt)
-}
-
-func (c *cmdable) ZRevRangeByScoreWithScores(key string, opt ZRangeBy) *ZSliceCmd {
- args := []interface{}{"zrevrangebyscore", key, opt.Max, opt.Min, "withscores"}
- if opt.Offset != 0 || opt.Count != 0 {
- args = append(
- args,
- "limit",
- opt.Offset,
- opt.Count,
- )
- }
- cmd := NewZSliceCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZRevRank(key, member string) *IntCmd {
- cmd := NewIntCmd("zrevrank", key, member)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZScore(key, member string) *FloatCmd {
- cmd := NewFloatCmd("zscore", key, member)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd {
- args := make([]interface{}, 3+len(keys))
- args[0] = "zunionstore"
- args[1] = dest
- args[2] = len(keys)
- for i, key := range keys {
- args[3+i] = key
- }
- if len(store.Weights) > 0 {
- args = append(args, "weights")
- for _, weight := range store.Weights {
- args = append(args, weight)
- }
- }
- if store.Aggregate != "" {
- args = append(args, "aggregate", store.Aggregate)
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) PFAdd(key string, els ...interface{}) *IntCmd {
- args := make([]interface{}, 2, 2+len(els))
- args[0] = "pfadd"
- args[1] = key
- args = appendArgs(args, els)
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) PFCount(keys ...string) *IntCmd {
- args := make([]interface{}, 1+len(keys))
- args[0] = "pfcount"
- for i, key := range keys {
- args[1+i] = key
- }
- cmd := NewIntCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) PFMerge(dest string, keys ...string) *StatusCmd {
- args := make([]interface{}, 2+len(keys))
- args[0] = "pfmerge"
- args[1] = dest
- for i, key := range keys {
- args[2+i] = key
- }
- cmd := NewStatusCmd(args...)
- c.process(cmd)
- return cmd
-}
-
-//------------------------------------------------------------------------------
-
-func (c *cmdable) BgRewriteAOF() *StatusCmd {
- cmd := NewStatusCmd("bgrewriteaof")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) BgSave() *StatusCmd {
- cmd := NewStatusCmd("bgsave")
- c.process(cmd)
- return cmd
-}
-
-func (c *cmdable) ClientKill(ipPort string) *StatusCmd {
- cmd := NewStatusCmd("client", "kill", ipPort)
- c.process(cmd)
- return cmd
-}
-
-// ClientKillByFilter is new style synx, while the ClientKill is old
-// CLIENT KILL