Merge branch 'main' of github.com:/gorilla/securecookie

This commit is contained in:
Hank Shen 2023-10-09 12:42:42 +08:00
commit a9590b4584
150 changed files with 293 additions and 377 deletions

20
.editorconfig Normal file
View file

@ -0,0 +1,20 @@
; https://editorconfig.org/
root = true
[*]
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
[{Makefile,go.mod,go.sum,*.go,.gitmodules}]
indent_style = tab
indent_size = 4
[*.md]
indent_size = 4
trim_trailing_whitespace = false
eclint_indent_style = unset

21
.github/workflows/issues.yml vendored Normal file
View file

@ -0,0 +1,21 @@
# Add issues or pull-requests created to the project.
name: Add issue or pull request to Project
on:
issues:
types:
- opened
pull_request_target:
types:
- opened
- reopened
jobs:
add-to-project:
runs-on: ubuntu-latest
steps:
- name: Add issue to project
uses: actions/add-to-project@v0.5.0
with:
project-url: https://github.com/orgs/gorilla/projects/4
github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }}

58
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,58 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read
jobs:
verify-and-test-and-fuzz:
strategy:
matrix:
go: ['1.19','1.20']
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Go ${{ matrix.go }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
cache: false
- name: Run GolangCI-Lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.53
args: --timeout=5m
- name: Run GoSec
if: matrix.os == 'ubuntu-latest'
uses: securego/gosec@master
with:
args: ./...
- name: Run GoVulnCheck
uses: golang/govulncheck-action@v1
with:
go-version-input: ${{ matrix.go }}
go-package: ./...
- name: Run Tests
run: go test -race -cover -coverprofile=coverage -covermode=atomic -v ./...
- name: Run Fuzz Tests
run: go test -v -fuzz FuzzEncodeDecode -fuzztime 60s
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
files: ./coverage

1
.gitignore vendored
View file

@ -1 +1,2 @@
/.vscode
coverage.coverprofile

View file

@ -1,19 +0,0 @@
language: go
sudo: false
matrix:
include:
- go: 1.3
- go: 1.4
- go: 1.5
- go: 1.6
- go: 1.7
- go: tip
allow_failures:
- go: tip
script:
- go get -t -v ./...
- diff -u <(echo -n) <(gofmt -d .)
- go vet $(go list ./... | grep -v /vendor/)
- go test -v -race ./...

View file

@ -1,4 +1,4 @@
Copyright (c) 2012 Rodrigo Moraes. All rights reserved.
Copyright (c) 2023 The Gorilla Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are

39
Makefile Normal file
View file

@ -0,0 +1,39 @@
GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
GO_SEC=$(shell which gosec 2> /dev/null || echo '')
GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
.PHONY: golangci-lint
golangci-lint:
$(if $(GO_LINT), ,go install $(GO_LINT_URI))
@echo "##### Running golangci-lint"
golangci-lint run -v
.PHONY: gosec
gosec:
$(if $(GO_SEC), ,go install $(GO_SEC_URI))
@echo "##### Running gosec"
gosec ./...
.PHONY: govulncheck
govulncheck:
$(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
@echo "##### Running govulncheck"
govulncheck ./...
.PHONY: verify
verify: golangci-lint gosec govulncheck
.PHONY: test
test:
@echo "##### Running tests"
go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...
.PHONY: fuzz
fuzz:
@echo "##### Running fuzz tests"
go test -v -fuzz FuzzEncodeDecode -fuzztime 60s

View file

@ -1,10 +1,13 @@
securecookie
============
[![GoDoc](https://godoc.org/github.com/gorilla/securecookie?status.svg)](https://godoc.org/github.com/gorilla/securecookie) [![Build Status](https://travis-ci.org/gorilla/securecookie.png?branch=master)](https://travis-ci.org/gorilla/securecookie)
[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/securecookie/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/securecookie?badge)
# gorilla/securecookie
![testing](https://github.com/gorilla/securecookie/actions/workflows/test.yml/badge.svg)
[![codecov](https://codecov.io/github/gorilla/securecookie/branch/main/graph/badge.svg)](https://codecov.io/github/gorilla/securecookie)
[![godoc](https://godoc.org/github.com/gorilla/securecookie?status.svg)](https://godoc.org/github.com/gorilla/securecookie)
[![sourcegraph](https://sourcegraph.com/github.com/gorilla/securecookie/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/securecookie?badge)
securecookie encodes and decodes authenticated and optionally encrypted
![Gorilla Logo](https://github.com/gorilla/.github/assets/53367916/d92caabf-98e0-473e-bfbf-ab554ba435e5)
securecookie encodes and decodes authenticated and optionally encrypted
cookie values.
Secure cookies can't be forged, because their values are validated using HMAC.
@ -33,7 +36,10 @@ to not use encryption. If set, the length must correspond to the block size
of the encryption algorithm. For AES, used by default, valid lengths are
16, 24, or 32 bytes to select AES-128, AES-192, or AES-256.
Strong keys can be created using the convenience function GenerateRandomKey().
Strong keys can be created using the convenience function
`GenerateRandomKey()`. Note that keys created using `GenerateRandomKey()` are not
automatically persisted. New keys will be created when the application is
restarted, and previously issued cookies will not be able to be decoded.
Once a SecureCookie instance is set, use it to encode a cookie value:
@ -75,6 +81,64 @@ registered first using gob.Register(). For basic types this is not needed;
it works out of the box. An optional JSON encoder that uses `encoding/json` is
available for types compatible with JSON.
### Key Rotation
Rotating keys is an important part of any security strategy. The `EncodeMulti` and
`DecodeMulti` functions allow for multiple keys to be rotated in and out.
For example, let's take a system that stores keys in a map:
```go
// keys stored in a map will not be persisted between restarts
// a more persistent storage should be considered for production applications.
var cookies = map[string]*securecookie.SecureCookie{
"previous": securecookie.New(
securecookie.GenerateRandomKey(64),
securecookie.GenerateRandomKey(32),
),
"current": securecookie.New(
securecookie.GenerateRandomKey(64),
securecookie.GenerateRandomKey(32),
),
}
```
Using the current key to encode new cookies:
```go
func SetCookieHandler(w http.ResponseWriter, r *http.Request) {
value := map[string]string{
"foo": "bar",
}
if encoded, err := securecookie.EncodeMulti("cookie-name", value, cookies["current"]); err == nil {
cookie := &http.Cookie{
Name: "cookie-name",
Value: encoded,
Path: "/",
}
http.SetCookie(w, cookie)
}
}
```
Later, decode cookies. Check against all valid keys:
```go
func ReadCookieHandler(w http.ResponseWriter, r *http.Request) {
if cookie, err := r.Cookie("cookie-name"); err == nil {
value := make(map[string]string)
err = securecookie.DecodeMulti("cookie-name", cookie.Value, &value, cookies["current"], cookies["previous"])
if err == nil {
fmt.Fprintf(w, "The value of foo is %q", value["foo"])
}
}
}
```
Rotate the keys. This strategy allows previously issued cookies to be valid until the next rotation:
```go
func Rotate(newCookie *securecookie.SecureCookie) {
cookies["previous"] = cookies["current"]
cookies["current"] = newCookie
}
```
## License
BSD licensed. See the LICENSE file for details.

25
fuzz.go
View file

@ -1,25 +0,0 @@
// +build gofuzz
package securecookie
var hashKey = []byte("very-secret12345")
var blockKey = []byte("a-lot-secret1234")
var s = New(hashKey, blockKey)
type Cookie struct {
B bool
I int
S string
}
func Fuzz(data []byte) int {
datas := string(data)
var c Cookie
if err := s.Decode("fuzz", datas, &c); err != nil {
return 0
}
if _, err := s.Encode("fuzz", c); err != nil {
panic(err)
}
return 1
}

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxjRDhCaG9WdS1IMUVoSVc0N0RRYVVMX0ZJcHlPNU9vZ0tLNnhaSm94U3dWVFRFUzBxZ3FTOEtnMWt5d1JsZnRvVFJSTy1VNEFqUXJfVGp0dVBKWTRpTHp0SjhyUlJWbEpMVlF2ZV9CdU5Vb2d0cEE9fFomN3uC7sVpjIiNqJ7nSmSW0OcB-1nXJndHHUK35Z_o

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxURmd2SUVTenFSNDBMTU84ZDkxY01Kc1JhVTY2dnFqdjUtOFRQZ3p4N2FiN3ctMWVtSnVtZ1kxVjZkR24wdVVWWG9keHMwZXFXek9XTUs0QVo4dXNkZFdPQXRScUo5RzJLZG8teGVNLXFEMEJwcE1lTk9GeVprdjJ0SlpjRkVfbEZBLS1TNXlmTlFidWZCWkh5TEE2WE5YaERuenZjZTZWczFyV0xONFEyc0hWNjZ6RFBGUlFxaUdBcjlZOF9SMzBTV1ctb25NLWxxUWh5X2hhNk1jd3plaWZ0NFV0cGNRYWpqSjlWSjMzUU9QSHdMUUlYdVVQVHNHOEJsd2tra2h3ODJtWkVkRVhLQ0ZRNUJlZVdva0U3RWRyWk1NaTZjaEhOdkppejNnPXyQsRqNFNx_AMU6do1StnhxPHRr3HHtfu7dVvDF3qiDNQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxROFk0ZzZkLTYwWWx1NlJOVFdRZS1YeEZkVGN3TkI5bXdlRkFtTkFTRXZKck1aSGI4TVJ3Vy1Sc2FVWFI4N3REYU9DYzdLb1JRQjBMemhtNHhaOUtMNnhlQjZhUExUeEVwOEJJXzNVcnhqMzZsc2ZyVDFPdlBrcVAxQjhwTE9JdFF2WG9FTWxqcjFWT1ZGZ20yVVdDckFVUE1QQW1EbURlU3lxcEJYRmh3RllhRkNaQnFDNXNGWGx1bm1vYWd3RFF3VWlxaVgtckhkTWZldktzWkZvcFpHTkxwd1Y1SENqdGFpbE9VOUpRZkhSN2RKcHJ4akhteFE4Z2xodVZRSWRyUk83WHpQbW04dEZFVi04Zkd5VHR2WFdGcUdvQWRlWWs4dnZGVUlNRjF1VT18Ylj4DXWIZQD6Tmf1UTA54iJj49qE2sUFzr69lsBdJXo=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxvY1g0WGhRNVNaRHVLX1lPODEyOGlRWXFIb2diNFd1Tmt0YWF0TWcyeXhKb1pDZE55Wk50MFlodmYzUWwtRnp1bkVHZ3ZoZlFWZnc4WGluVWNyaDhPTlRlaGlMWTNJcDV5dFJxSFJWQWIyYjM4V0RxaDVJQy1nREtiaGZHMUhQNzUzZ014SWtVU3p4QTdlV3NBclVzSHYtQ05CNVZrNGszb0VRbVphZTB5RG5QellrbjlpeTNZX0RXZGtQaXhZTnkzQ0ZNdXhCZlNLNENqTEZGSHkxNzBBV1ZpZHV0c0FGU1FSSDc5QXdIaDdJZlFrUFVUVGdOZmEyeGwxYTBUc1RUNzRQTC1uWmZlWUp1eV93dkQzMnZkZjdRMUE9PXyAdVeo7mS4I2iCVT_RBaAtFggrM1ATqiz1Qfl_yGMLdg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxabVUwLTZRMUc2VXpoN2tLaC1uSlRUS0pUelplUFB5UHlrU194QUJfem1zZ0F6Q2ZxbU04dWhOWTB2RE42MUFIeDF0U3dVdzZtaHNXOFFTbmZxd1FIaEtTUk1HdnNZTGRaNHBLWE5JMkhlWDg0UGwwcnphZVFGc1Z5YVRISDB6bjZmZHNJaWJIbmdfR3ZKSTJCZjdVNlZaaVlPaFRFNURMLWlPNXFrWUYyaUc0U1FGQzlGS0FwS2NVcks4ZUVHUWc3QVo0OFA5ZzczYUhzYjY5cGZSbi1YLVI2RENnalZRZl96V3MxdUdTVkE9PXw8F0WJVogg9iGVRsENzrQyPuDs2ZiPEoax9PhGEuae8Q==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnw4N3pMcHc3NlAzS2JwTHBzSGgxQ0k0cWtMOUZwc0JJSGVUVnJDTnE1MTh1WXpLZFB0MHFNejBXOGV1MGs0VHRzQVlrTWRnREpoZ214Qm1ldEJnNUkyVFc0U3pHbC1hc3JRbDRnLVpDNFhLcmNQaGM9fHfi4gFT970lAhbTpz5WB_N8a8ps0mDRnW-T9-5gUqur

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxVSFpwR0lpMVVsQmF2bjNya1dVTTZfQW9McWk2dFhVSEkyWGZva1NNbE1uOWc4aVNBU0N0V3hLU1k0eGpDVEQ5dWtYZ3EwdldzZFM0eTQ4ZHRsS2Rjbmp2YjNUZkt4ejRtWThuUnY3UVR0SVE3dFFkMnBwaHdjR0VVS3o5N25NY0tiWllUTlgyNDc1MzVEN1dZSTQ0NVktWVlvNzlaMkYweVZndFFacmtxNVhmS2otN0FFRU1SWi1aX0kycUo3OEtkT0ZhbTliZ3J6cDZtUUhvVGdUQnZQRU1KaFNWWVJvNnp4MjFfOXlGSjlKc1VpZkxnRmV0WkNFZmM3ZGlOcG5NQnBGc2VwME5PemNpbFdxaG8tZHJtdVJvLTd2XzRvS05sVk1oTEswV0MxUmk1c0F6VUU5bVQxMHdPbVpzY0M1b3Q3dVNKUmh5b202TFVwQjBfdENNalB6N2hrcTR8xUFEKJ42IacQ7V72qt2NSe4yPms5fjuFSgAVnoIzTe4=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnw3X05zSEM3ekZZZW9iN0pwOW9MT25acVlJbGRTaWNNbEt6Y0RYaGpWRUo0dXVySjQtRm1ndFdGTEhyT2dNcE5laFJMZWluOUkySFVORzFlYzEtZ2xzU1NwU3RXSGdER2RoUmJsWWpERjl0d1BvTTJVbW9yZ2V6QkNiRy1ESnNwUVhpZmNsdEhyR0p4RVpCX2V3ZmxReVk4PXwxMDjJkXSAv2j7SOCkQI6DhctO1rmkfe5TLCemSgF5TQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxVLUNuN1Bmb2owRVUwLWJHRUVwUGZPNmUxSDJkeDlBeE45NDIxLUZaVE16VU5tUF8tMEpZZlc0QmxFSmlJMVdNU0tfdWlGRDFadWNTb2ZBbjlJRng2bzAxa0hCY0cyM2R4SlhKZjZuV1dCdGFRdFRBS1ltaU5lMWtPdm9wcmVQZzZlT21UYWNMVGQwUjM1R0NBTVYyZHlldnlRPT18NfdAQbuBFXoRDB2lcBp3PsOZOoRyGXOD_5Vb5mOYfdk=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxPSEJsU0FQMUh5OUYwTWRLRnFFckJXalVSSnNET1hmeV9Tb3IzRXlqS05IR0s3YnhmSkU5SVVYTlFzU09OcEpKcGpQaHd6NDU2ZWhoLXQ2ckpoM3cwSGJMMk9VbkpWX0ZVUlB1aFNnaWlSYXBzb2ViNXJMRjhBcF9WVmRSelhOaWtuODRHV1E2QjA3b2ZnQ19IUFdQS2x1Q0VuaWxHN21SLTVGZUs3MFVvTFhzZmdoSXZ5VTFJaXF5LUZLVUg3aXV3clFmfHWnnWaZO5H5ZBokfQp9DE0Vqo52hWUySU2Qb5dOis4X

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx6UzgxOUtEd0RRVE9fUzIxVGdjV0xvZExBM25HSFU0R05BZ2FSVzFEX29hRzQyTEdSZHVOdGNBU1pJVk9fZ3hlU0toY3RHSjJiZjVXdGNXY095cVNqV2owWm9OdXJfY1BHMlFib3hWZ2dwQzFteVBWWTNJQU9TcWtTbjF5STJPQ2Z1RGsxbzJzSGpyYnBZR3gwSDc0VjJlYkxkVkswbjd1c01VWUdLR3RhWEFLd3p1RkNvV3F1QWVJNURtZXQtY3EyOVZ1WEdCN19lUFZibFV3WDhvb0JwNE5nMEVqbDRmdWloN1g1WWRTNWdNMDB6aUhTQkxvWFBzcFdka1R3N0p2Y3ROR0pyRmdCaU85cEgxVlhOYjhHbGJUdlFMNDlSVTlMbGFfZ09ZREhnPT18O_WDUgPOoZz_Tj8Xl5xmVh8MW4DNTlR1Z_RKXp25EgE=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxWTzdmRjR5X0pDT2J0VVpEUlZuMkFhQTBUQUd5TG5fa2xSZndZTTB2SVdCcHpZaG4yRFdpSFRQamx2VW5RZlIwZ0h0MjRKTEdIb25RNFh1N0VGQjhBQzJSenl1d0V0d1NkNy1WU0FNaFB6cl9tWW9xQzJUOW5yelVicHAyVkJ5ekZuVnhRVVFTTTFDQmhFRHp6QVNkSjFMdndWd0tuamhTUEtEUTAyZHVCcWhiMFpsSHN2V19yby1tQ0lVQjlPTXcxaDZLa3BFTnkzYnlBTTlLTTZWdHFKbjVIejVwRjJKbFpGd2J3TXJwYnQxQ0gtTT18fWdsGgvMPIXZ2GFuTHyx7UEQxVQZ5kuLef2HuTWuMmc=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxWZTY5Rmh6Tjctc2Q0LUNKS1JjckZCYlFrdTVHZDY1SGN5Y25yY21DTVhOaXMyVTZSeEVnZEhwd3hrOXpFdk1MZXRJM1lOY3BrQzM0eExFSUtsMG8zTVZGNV91SDI3cV9BRDAzVVpFNEg2WWljQk5kOHRFRVlya3J6Y1NuTWhqVnA0eDhLelY3MkVGZmdRbXdvS2VXSWxicWxiX2drOXZHQkVOY1VzQWdUNktheTZ2UC1hMHRFMEdubmF2RmNxLTF6cVZhM1VQTnJSR1RJVm1MSHRiX05XVkc1bEpjWGFLQ0dMS08xMm1QQTFtekFUNUlCZz09fDoYy22cGspOxGc5hXTDyuC2dUigy05-6F9jWgzcQAhq

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxVWW9MekhaTFowaW9PdjkyUU9pX2M3WHNma1E0bXltbE54N3kyLVhuUU1ya3cyaG9FdFJGRkdIcEY0bmE3RkoyTkFUSlJBSEhmSDlLRW1qN0xUM2EyVEZPeTJyNHlFaERIMng2eWljeGNOaFNXVTZoUlJUbDdLMUExRmE0NW5qRzhZWlpreUdCMGh2QmpPcmEwYm1wam5UVzR2NnI0c2Z4dEdQZnlaZz18gq2BDyZoxUhCEdkDBJI-CKd_dBMqivkn0JPOWKVU5w0=

View file

@ -1,3 +0,0 @@
8Q==
=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxMXzFTTy10UHl2ejdOVnBtU3o0VmM0ZnRmN0dMbnk3Wlc1WVRlOXRZRTA5aVBOaHlxUDJWZ2gxcDRlZk50aGJNOUdqSlpyNmFBZGdmcUtiMEFZTFpPbTF5d1VfT1UzRHl4M19uelJBemgxYzVOU0lqYlI1Wnd0SW1MRGw0Tmw4ZUNOdWxWZF9fZlZVNnJUYVZXcDl4Q0JBSmJmd3N3Mnltam13UGtxQVBKTkkxcm5mUUNhWVprNUZYMXFPRG80aFhTODhfRXhVTU1uckJHYzJTQUhCeEFYVmVQSUpuWmFmSzFTaz180bgqBZn9nHXblgUiVtub8vMX5yoi0kbhENzp6sddMt8=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxTd180RjZHLWF5bjhuazNjQ1hmZXFIdlJMQnk3dDBDLTZpdUgzeHU2V0dFWFFUTnBhaEc1Y1ZHVllnUGROS1BjTGdnM2M1X3drSEotdGNCMEhwVE1tS19nMURTdDhCTUNGMjN1WHpFd25yc29XeWVzQkhvUXI1Qjlnb01fbkxZaEpsVVhsLTJhTFVaeEJjVGt1QjR6T3pNek9aeTRtQzlFQ2FTZDRRLWpTcjRaT1BHUFJRTFd2aUNXZmNlX29BRGgyWGFNUUhBRHJVSGpmVmlEbDVXTjlVcE1aR1JCM3lTZTNNMHdsbzNVVVdzUkt4aWV3c0cwenUtdFVaX0prOUZvTDFjTXwmW7ViLzDpDQ4HYcVtkyAja04RfLbwMybME8V1n2KnJQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxxQkhqeVh5R1NmamdQVXVKcXpZa1UxWG1JdmxsZ192RDF5RmlXem1IaWU5cm1nVzhEWThJR05sQTJhTWFWOHhmZVNkWUFseUtNS2NVTlRaaFpFWElrS1hpZ1AzMFdkVUNEeklGT0lIUDNVQ0pMU3g3RjZJb2RkUnAzVkFRNDA5RzI1ekg4TFpUWU5KTDhsNGY4QVA2NVpmcTdYbWNXWEw2OGRtWWozQ1NhVlRzaW93VHl0RXR1VDBIMDBrRy1IZFBiZFNyVGU0bVEtQ1NPNVVkb0FHREM5UnR4Vi1LajdsclJzbnF3OTlMU09TdFBTcTM1eEo3WEVISFJwRlNhMC1lQTZiS0tlSDJjRTZMc1FKT0VrSWIzdXZtRkw5UHlQTTZxQT09fLEJ3Ff2tP3aJxgI5TrhzBOYMEF5guG6Lkn4PrPGh_uU

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxWQUVBX01zRWJrdkcwektCQU5FNWdJTmZmQkVvenRaTVVNTmFCcUtJS2gtWUM1MlltMExlcHFrVEdGNnQxbDNvOGFpSHQ3c1pQak1DbUw0Z29KT213QkJneTZrYTE0a3hpc2Q3SHNZV01LWGJqdWY2Q1p6TjlTX21pOU82Y2pVUTJzWE1ITElVLXZNUkxJT0hEVy1XalJmc1NNZGVYdlRFSjhPQUFBTEdTLUhYcldPQXJubWdXUnRNYkpkSmtJSklTZEhQajZVbGw1cWYwUmZPaEE9PXzAmHnGMLYEU2NdJfNpx0XFAoVqZEexvIbAIvvO1oggig==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxUUy1RMHhjTm5rM1hHWHRPT3prM0lUT2F4NGxERmNZMmdDbTJpdk1ObUpXZGZnSEZ6czQtWHRkNHFDVXBaREhYc2xIS1FnM0FjUzlBb1ItVVBRR0c4THRLaXJyOUVwTndCSzdpTGliR0xsQmpzX2FjRmhWaDdISGlYVFJFNmowZC1FYlpsbnNRVUtFei0xZVpUV3loUDluaGhQM2FNSlZaVmRwYThySm5RcVpEdm9rVVdMUkVpY0JuQ3g5RDNyUFZkQjVldzVQazdVZC1vemkxTjRGVTlwWlRsTGZZNURXU2IyeGVQV2JiNS04OVVFSW9QR1B1dUVtUXBRPT18YY5iRJLicxAb8HQ3ztH55VaIsETVU-ih8XWjqvUFdWc=

View file

@ -1,2 +0,0 @@
8Q==
:

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxWckxCcURZVzN5ZXpGWUNKUU16LWN6eEwxeERyVERpeUFZQzJNOWhrN3ZPSV9HbTU0bnJmcm13dnNTSWFWdElnMlA3OTg2cDhubDctNGo2WklHS0dSZm1Oc3FuVk9TMDFzckN3WGEzRzNuNDNvd0hGMVNtS2hXNnVkbmg0Skx1MUhmTkU3dVd2TGUzaEV0TV9PdEdWcl9wNlNqbEZyTXcwRjAwc2NjOGJhUEp0b0Z5YzE3RWFCZV9JekdXSmhxWlQzdk5wblE3SjFoeVc5dXVlc0RGN3RSMD18GWFHfNiy-kbdyUHsI7sohnd2psiLzBQsh4EqtAkWNbw=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnwxT2JtNzdGVGpFeEtTMDBtLVYwbDd1djEzbzJtbnJqU0hsNExlb2F1VkwteGY1VkJESGp1TEx2T1M4MWhfbndNN0tsSzJ5cXdyWEhrc1JnVEt2NWh4VnoxMHkwWF8yMlpOWnVLYnR1ZEJOWHEwUmpaRWI4Njd2Y21XN3JnYzd5d1RIeEtDU1YtdGdyX2tFN1AtY3JZZDRNdVVJSG9EWGEybEdGUDVENE1tWjYtNnE5UEpLYlJEYTNaN285LTVaeU98-s7M5tZwxQHP__ru0pr2s2RvJoHKw3UvrX5RySOdkyI=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxaZ0RRU3NQbkRQMEU2eE9IM0pPY3JKdnppcFJnVHhHZ2FiQmh1YWU0ZFh2eUREdmNkSmtmdTBueHJqWkJhS3ZJN2YxdGpWQUZQaXBZWlFMd3ZwUDlhZ2J4dlJhbGtCMmFmbmNGQTVlSmFZckh3T01oZUYyT1kwb0RvejJZMlg4QTZxaVJ4a2FoeE93U1QwU19BREo4SklicGxkYWZBY0FucE5VbXJkWnNwaXpjR1o1QUxQTzlZNl9Jam13Nm9IZmhsUFBfazBpcUNKMHdyOU13OWtMSThpYkJRZ25pbWhUaExxRzRUTlRBTjBjanVlZWc5WW1rSS1KdlpUSUo4YVEzeEN1VDhlc0stSFJ4YmRyVmNWdWRZZGZpM0hudEZ1aF8wV1hjMEFrWHJVTEhGdz09fNbtYysnGt4wf4hzwKO35zhSLDX9GXSzLkircCuJMmzK

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxNN2xITzVlekdrNzhMT1BPSmdZZnJuOFppblJjSWNpTDhfdXFiVEpIR1pqeFdnRHlnZEJrN0o1UDNLQm9MaC1lN1NLMVFiOWw5ekpKUktJaklZQWJKODZJUlZlZlBFZ2JObmpVVFZtUzI3R01HQ3RHNEI4RF9Hakw3bGMtUW1Ucll1Mjl2SXlJRDJmdnRaS2I3SENGSDA2U3hDbGZSZkVMQW9xRXEtREl3RzY4cklDSlZVV09mWm0tU0JwaGxKXzVWTU5GY0plZTBIY0RCOXh5cVI1dktGRy1XVGk3aWhJcllTX3cxa2RHVUZnLW45eUl0VFZRTHVrYUpMVWlrYlBSaTdOME5PWTVWYm9SeXFpM0dQUW1HOGFJWGFOWlllNV9fSG4wWktlNW5FNzZ8ZrFQcdFDl_-VscnBXTUhM2XvBRo4Ev0Ap24dqkH3jnI=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnw0b1JaSmp2TWp5M1pFeUJVRVN1VDZBSmxFNXpMMGJ2LTU5aXM2N3g0Y2RRdGlyWEczT1ZoY01fZldvRWZhYXAtYm1OQ3FQUG1IY1N2M1dTZV8yeEpuMWtQeDdXcno2QjI4UUptYklOOHdQZnhTQkFJRmVmNF9tVHpHNUpJdWJ0cUVHZXdacWFabU1HaWdfcnMxX2RpTWNkbU4zRDBfMnlLUjYwTlRMa2NnajlkemxKNVpLTTJPNnRtcDIxNUJ1TU9Uczh6S2FmUGk0YVF2UVAzS2o5Y29IM1FYZz09fGpjKWy2IhR07BHKlkb0Zr7qxojZDZLU2AKB-1azftV0

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxZUHVVYmEyUHNRUFlDV3FLU2s5WDdIY3NYWlpYNENISEVta053YzFMQkp1M01pLW1Cck1neUVNZ3BpZ1A1UXNNVXcwQ0NYd1k3bkNtUV9hMDRlTDJHUFM3Sm1NLXREWUkweElOc0xHV0NYQW16dUU0QnQ2S3FQdGl3UnlxX3I5NGdwenVFajlXMDVON3VwZjVJYXh2cndSVFlicHNXY2NUOU9SU0ZDQm5ySFpGNVV4dnY0dWdQVFY2U2hJMmR5MDNRcmJickE9PXygp9rjsTBYaNuCDC0IRxtbTx47LZzJqOHHkfbe1LGNXA==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxGWHN6bWdhWlRTeHBJTGlJcVdkVXZVaUpjSkRxMDF6VzU1eDlDQmFUbjJFaU5RUzB6WUJ4c2cxUTAwMDAxZU0zNGR6REF4cG1CNzQ4QnJBVlZaT3dnOTBBTUVnYXFiaGFESUswMEtaQWNCUGNQQ3BwbmtMY21hUU5CaG1PdmtLY0VoMk1PaWNJd0VfLV9DZW93QXFjalhRZE1ieUZBUjF4QWhDeVBaUnQzMjV4SnFuZE1fOU9ra2ZOV0ppLTRHNXg3QzktLTVtYnlkRUJaTDRMbllxSW5kaHhxd1FZYWllLWZQUW11ZlhUVWhLMHZ3anNRUVVIbEVDd0F1cXFjNUFTQlZoNTJWT2RNVVJyM3hEY3IwZDZkQ1JuNThfT3pvUXVvbjZWOVNNTWY3X3hEbnM9fLxht7FvJD4a_FPtZFHY-Jty04388qOsUPtYAh_v7RzR

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxDN1d0UkJ5Z295QWp2QmJEaXdUajBEelJRRDNGVEJDalR6Z05wUGpoeWc5TjdEZC0wTEljZUp5VVlHQmR3ZmRkWkM3SndCaGMwclQxSDJfVEpjSjlQVUxLQ01zZnV6TmVpVWZwelZrNGgyTHFKODFNZGt2LVVySDJ0RnlpQk40UWNFQ1BTTF83cjVBVGhzNDJCTnZycWk4Ulo2TnlxZ1RtXzlEMXJpel8xMDV3emc5aHFiN2dDS1NyV2FqcFVIci1OVVA0bGtlNXNaS1Q4dDdIaDVnY2lDeGdoUFk9fABSA5I3BIpmZmQgqbHgTAqVXIli2piNjBtxOxdjvqOo

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxTOXU3QS16QzVwMnA0cW9rYV9xOGJaSnd0TE9mU0ItTEhIaXp0OHpTVVBiZDllTlAzV2RrS2tzdDBzM3JSWkFCSWc3ZWxEZm5sLUVydnFVT2x0eFo0QWZYTTJUMDNsa3QxZldnUV9mX05pcklvSXpmX2c1bzdGLVdQdFd1U2VrTkdscHpJZVNyUkMtSGlwXzNnMFRZbnJZNmNrT1dCNjNiakpYNjl3QVF3bzJMMi1HRHzsH2Tt9rxpZH3zsEqJu4iMDx3b0HY_DG8ww5NHxWnf_g==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxyYXZWSDBFYlhuT3dJd1RORjQyck9LU0RJcXFnNTNpVzlkNkliZzhJMUpOWnFfMW4wSmhpblZZRUpkMnZ5S01uUnZPd2ZROFZpcFduTXVzSDlHMVZyZmFqV09odm0xWkV5RXNoazEwbnNsOUdQV0hXQjNpVkIzWTFJUi1sQk9IZHluM0dubndmbkxLUnw71foKMZj5sjRaa8r9NSKLljA4s-sV3iSuUIDE-rhFeQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxwT0pPY3dJdDVuWVVwdzY2ZHhWS0xsemNXdDJnNkp6VWk0X2k5bS1ZMHUwdERuSmx4SFp6LVJ1R21IcDJRMnFlOVZVUHI4SFBoUWlZY0RQd1NkeTFzRDlnemNVSXVuMU1EZV9OLVNHcm1BRlQ1d2xXQ1AzTzN6dGNWdzgzTW9VbjJQU09CbkVZWVBXTHVHbTNFZ1BzbThGSzNFdmhqREpSS0FtVkhFbTBxV0RHUUpBPXyJHQBE0YGJZylQO-9FgF9v1AR1MQt9RRljMVjtSJWJrw==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxkZ0pabTA5S0VrZFFhTG5vbGx0NjVoai1pbkR0RmI4VWhVaG8yZGNabWJmRW1lajlRdmlkT3Q2dFhFZTFLNXFrMWtCamlEV25SeTYxTGJqWV83M1Y1STd2ei1vaXFqY19pWnlwU0I2STdOakhpd1ZGTGRKV3R3VE5VZ01EcldPUVZpaDgwUnN1Z3p3YkZGdHk0QkhxWWNTcGFranFhcTdCR1NteGZQb05jOWkzVTd3a0tnPT18_ii97jAl3_Q3XFaUY2r8Fk4bqBhysx1rSQw_ppe-oSw=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxNMEpYckdpU2JSV0VGS04tOXFGbFZmOFBxRnE0akZZZGZYazh5ZUxnYnhLU3g0YmNaU2RYQ1BUZUdaYXluTnZmQktleFY2WTQtWFhyblptOGk5Zkc1c0FhTkpjTmMtNmxjbEV0dkZNT203cWVUSXgzMFhscmxsQXpkd043cEQzU3Fpc0dXWk95Q213cTJGSUxoZjBWREQ2aVdfZXdyWHluMElmeWRHZnZzVFBDUE1ub2tCZTIxa011UDduc3hscEZjMHF0NHdRdnBtLTQxZF96c1h2WlZfbnV0V1B4ZjJwWTlodFpLOEU9fCETOj9CrLkOjHQ49IVc1S1yDcqlwQ4iVFaSZIiovrrN

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx6dWpVS3poT2ZaVDhwZVhGS3ZSa3hCckVuTkNPbWNiOGZtak92Rklrc0Y4dEZVbWlfNk9DZmNNMjZ6cEpaeHptNEdIWEp6dWo4YVBEbW1Da2VZMU5LX2FyelJlRmdzQkNwdXZGaDVLQXM1eVp2OVV5TjNBMUYtN0ExMlhMMkZCUklRPT18uOhvGznCMRvXlfsraWq4DfbciJOMOzHzoW7PMo0aIxo=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxSUTlaRTRnVHkyMktVSWJCZHBCVzdWUDRtRlJ4TmV5OGFCd0pPNllNdEFJMk96RDdLOWtqN1hTNFR1MzA0cVd5M01KM2d1Z0Fud1BQcTQxaUJGTFNkd3lqZTFpMGxnbnVwdGFPX0x1Rm9aVWVyVHlxeUdoaWFRdUtPeEhyY3ZYQWF6eVFRSE41eFhIZmxkaWloeXlmN3Y2dFJya2tvNl9WZkhXaU9IdTdPcHMtXzQ4V2FHOGRwSFJ1ZjdES3VqMTFRRjZEalozWVpjOTFBY1FoeFc0VDhZdFdCeVJhS2JCc25PVGdIaFl4cFF6Yml0ZHlCSEk5c1NhSHppNUpEdF93bjRTUENoOFFrMjlUVU1yeHNhb0ViWEFwWFVWRnBfQkxhZmN3aE9XcTVyVkVvVkRWb09sRkFKMWpnbTZaa1pRSmxORTBVS2xVUEtvSm43MD18oCSPYwyWuG4Fi_L4i-Ck2AtkAP_DFNm2P25AONmh8PI=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxBdWtBNGVWdUtUN2pwcFBUWGl0anpObmNRYmlkMkdZamxZTEotQk9UWHJpX19ydk51a0pkNklaRHN1SVVGYzdWSHRNRTRtZVdyT0VOTkZncUxPaWtZTkE5TzBOeTBOc0RyWEZuTzl6eEpHQ2lRSVh3MFNmc1JNekxfMzFkOVhmN0FldTdlMGFfbXh6bWRpYTZuQT09fIXGQXlpKRx2z84DdIjKzSaH-rt1LNVccss7Pok37t5R

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxzTl9JWlczZmFOeEltLU45SjQ5NDhkSEJkdnpBU091ODZPY04yQUJPV055cjJkaUVtdTJXbzd1WTZRdElzMlVBdUExeGVZZHo3ZHQ5SFRBZGs1cFhkVF8xRUxLOU5Tcm44Z1FyMm1INW9CeEFZbDJ2aUZyeHRfbTBlY3EzcXd2Vll1Q0tQQ2FkOHV2QmdUazdESXN0NWNqY0tILVBkd2FJbUhENVh4cXBPT1NhNG9LVlJUSWZ6eC00a1RLVmRXWUhBVFNjbUVDeWFHd0kyN2JDLVVrR0oyai1XRTJzQWdTZ1ZnMGNlVU1pTWtjc0VkQTNRdFJEdE1TdURyTnNCd0w2Mm5FV3Y3dUtpZ0J1eDhjQWVKWDJXSF9SR1pDS2s1Njk1OV9YSXNNbEg4Z0RQbW1lQnl3OVNRPT18xpN1Gzy5f8THuL4VpHgE6rkEAgP8s-JALzUMIdCy46s=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx4XzhJbWhsRF8tNXhHWE40QkJqSC12dVNPQVRZcHJYcXhOSlp1MHRERlA4Y2Nhd1dpV3YwRktxMy1WRDRkSHhsOEJhMnFmMms0d080dG9NMlM2Y3NSbzZoOWpjeUFkZjRod0xFNTF0RzI4ZDJlZzRzUzhXSDU2ZHZfdlhnY2RfNGRqTzQ5VUJCaHVVOWNXczR4bnF3cU5XQURvdmFDSkJKVy1HT3dvZ1VPVzVDOFliMFhaazBYVkJfVk1oU3B4UExYcllOU3VUTnAwYi0wa0dvd0JvcFF6dzVuQ3ljdENIUHzmuNnj2ddk2WHZr5R7DCU110FZIt0WYBt2eswzaM4gug==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx4ekswcTZlZk1PZ01kMGxjbERUTERudFVIOWVRRzduU1FrZG5GRWdYN2VIcC1JRjllQjZnT2t0WWxFM3JxMmxHTExtazhfNU54eHNJNnlobFJoQjZreVFteUE4WkVrbFJ5MTluTlFyaEcxT0w2VUV2aUtaYWhvUUJ5WW55LUVHSFBpZGlwQXpRYWVZVVpXMElrWHJjYURqQVgzaHlhaERxNktwU3VLa19iVkY4QUp0WjlPTXcwNzNVNVRqTDFRVHBxYkZGc1ctU2plNWtqX0FvWDA0OWpkV0YwREk0MGNEM3AwQXcyT2FkNGVWeGtyWG1QMkUyTElZQWphYjl6ZTNVaGVEZHJZa1NneE9UamhnVGZkVnFFQmRGN2JfZGhKUnZCcE12THV1eFdpX090RDVrNThheGthUFlJSjJPTnEwSGZCNm9scC15TGRMVjk0YkNUOUE9fBemXTR7HKYdKtHj4eD9GyTuMPweT6BzKJORecQUOHiY

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxpdTBEREVHaWx6OW9YZ04xX2ZwYTh0bVY1UXZYY1dGSk9XM0NFZ2VKektIR0F0dVY0RVVYNC1lLWtaWFdXSDl4aXlhQnNqQ3pMYlNxRFhXeTZtTkJxcmhKckd3U2hMV2xGeEJ5WWxsNFNxSVhFdW4wek9XdDJNTWI5d01tLWxITkk1Tl9IRjRxZnJnY0JPZ0VBS2cwc0Fya29qNG13ZHRvb25ESUp1UTlQM2hYSnFvelZyLWpYNHJqSnRnaTRFbkhVVnZyc3Fhb2UyQ3NkdnpQVjBxZkFVOVoyVmVOVExDUXpHaXVMNlEzQkNzdzF0M2RGODk0U1VVX3lGcDViVHpPTF95bFhGaFJkU2ZORDFkaDBfem12Xy1FV1VSR3ZKTFpJdW5ZZFJWSHZhVHlqbWN0ejkyOWlKY08yYnllSnVITlZTeWdDMVFSckI3dHFsdDdDSDNFUzNHUWwxRm5JT0NqVHpFPXy6hn09Iaig1LeW5S8uecM1E6X9JRmTLzFDWXDDklk92Q==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxYdjBGa0xlZFhqMmlPMFgwQUxxbmtjRlRCMWJKWWV6dkNvWE85ZElQeUtKQjFfRzRMa2pqbE4tUTM4djFUV2lzNTBLa21XMXVMSEx6TTR4Qjk2WmhiejVic0ZiOEQ4UTAzSFU0Q21QWlp1SmRQVEhGMjZXdFFTRXBCNlpWZVlhVEdFbG1PYnNkSWpmSVRFcUZDT19ZUVBuaHRIUXpaNGFiQnBTOHVrMGVTdFFvb0ExS0pYbWp8Vj60yLafH82y8qhmu1BxIr3gUFi963hxiFAdnBspPXY=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx2aGc2ZVB6blVXVmdKNWVXTjlkU3RvVlRNcTFqY3czVFRDMUlwVEVzX0p1UHlfRmpmWmdualRhZmo0LVh0THBPVUhmUDZoekFkZEVrcFRhVm83dnU1cmZPdktOcFJ6UTIyN1I0MjcyUkU1S3ZfMlVBSGx0MFU5TWRuRWotMGhiWmhELVV8610FbnSvRth9SdVC1Am-lp-2-VAR5tdLzBQL7kFPeKw=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxUY09CUnpyeFZzakpjOVg5d1VENEFnRzBUemZZM3VwUzZSZExXQXp3Qm51d3d0REV2OFdkS3NpTTFQVEtzRWdTSFBMdklSQVAzRk5yTzRKOUJhXzBIMm13MkxZSVB5VFZjclNXbWVTQnRCeWRrWVNjenl4R3FtUm80RkJwNTFNVWFjYUhlb0psUGowVC1EdU9fR2hLVE95SVgxak1QR0llU0JxWjRQcWc5WlQ3dUUxRGVaU255QVhGeHFGSmlFeks5Wk9TQnpnYURyZjYtMnQ5eGxiREhPMnQwQ0dGTDI3bkxBakY4LXVkT1BBM0Y1UnNRYV82QlVZNDRDYml4cVhFRjFBUHFmQy1Td1N3VWlEcjI4aGdqQjhId1lKQkZSdXd5eVVScWJPVXNBdWpPTUs2S2JzeDdBQzdDWkxMX2hENkVkeXhIUT09fFSsK7EVDyN-twBBPhUpAJbKWVJL3e3e-oryTS0Gptk_

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxrNlhBSTJrN3dKeVc4SzltRGVDNDVUcVpjSldJRklfaGtQcjMyN0EwVVp5ZFJUakZVM1ZzSlktdXBXVHF3bVl2ZFU2Y0xDTFRuRGJ5bGFvZWZJQ05qd1d3YkNNaVk5d3R4Qk9lR0lFX3A3UmxHQnZEUEhZMjF5Uzhra1pZaGxsVXVxN1ZkVHU2SnpkbUtCSmZmZ1JjRU9STkNLSkxmeGFfQThERG52VjlnM2g4ZU5oSVdCM218tzuauoYyLqD78b9QoY073Z90G2zU4SVn4AShBcQiZdk=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx4WE0wVjZ5eXRsN0ZSdzRnMkY3aUhQZHRjTjRlRXNuRDkxU3ZDeFBGUl9UelZPSnNsTVJuX1pNUWx3RW5USGoxbUtKNU9sT0dSZTRybnU5NEFrSmVDYy1SMEItVmVZblZqVHN0el9BMTBaY2NHZVlkMGE4ZDFKNTk3NnFnc0NweTFZdG4yUVItVG1rWV9ZdjYwai1XQTBXem1RZVJ0WUtqYmtuXzZVTGQ4b0JibklublZEWWJsUVRYaTRRNURSNWJUSDVEUlFvSDR2aEhqX009fHDobPXrZ7PCnuoYwkWqQHmvqwG9flgTnby1RqAp0eEk

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxPUzdKazJFaWlTQmtNVFltQ1hmb2FBdzZIZ1NndnlHWmNRbjBkeFE2b2ZZaF94TnVka09sUXJjUmw5UlZmYXdZTl92clpVV3ZxSzhWajBSUWtkV015STNtak5SNDNkSXc5NnNJTkk3SjVJTkVaQVJpaXpOVXl1R2ZlMldZa0lIVnprMk93TEl4UEd3TUhTNl91QU1BZ1p6dlBqSFdrOTlvcW8wbTlKa25KenNFS2Q0T0RPcy11cEp0ZVdrbG5kNlBkUk8zWG03VmF6TFdBLVVVYzJlQ3lvSVQtbDEtNmUtQUVQY2dFSHZtYUtpT0t4ZDZQNUliM01LbjJQdF9wc0lWNkFaNWdPSnMydz09fCUtVdRsGfGjq0xST1F2G02INSyzVO-RQV82fZAx-tF8

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx5UlRweXlJS0JZanJyRXNFeDBnVWNfUjhDb0dlWFVQNGpUSHdxSk81ZkRrRG1rTVppX3pSeEdFU0NGWnlJTnF5alJnT2lESDdRYnpxeWo3YU1aZVFuSkFYSlA4WjIwaVFQTFJrNTk2X0N0eHM1SURNbDR1Tkd0cmlXUEdzeDJFb2FSd2lfemN2NlJFOGt6TnJDRk9PejMzeWFFbzAwcUhzZTlXZVFpWmdEdEg1fKISvrG7Go5WiuNqKEVCmCg02rTvoDUJR1MDwNdR_a7Y

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxIWG9SVjBHTFFaZ1hTX0RYemlZZ3VtWktBSTNsYi1QZ25YbTdOV1ZWNTVNd1Z1a2ZzOU9sZzFyVklKUjJfbjY1bHNjbHRHZnR5Q3h5TVR3MGNXMlRDT0FqLVNnaGNfYmlGSllsSENJS2Zac2p3RHRwcm1hWER6eDdrVEdaT0ZuTy1YWlRoR2tPb1hWY2Q1ZmNVd2o1Znc0SHo1N3BUV2tmVk4weEZEMnRXRWhtTjlNSGRBUzRBZDNCWWVPMm4wVlA5TFNRR3l3Z2lMd0xyWVlzdEM1cHdoZzBvUjlVcThBN2dfQWt0NU9vR0ctX2h1U0hiUVFMfKEklV7w5Qdw5B-zHGdc_8KwMCEaJaU93kfrkF0UlCO9

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx4QmExOVdwZHNGcUxERzVObjVVcGwyS3BGQWwzbDRMSWVEU25MMllkUHhTWU94cHI2SFJ4VTBUOExZeVZpcXlTUXV1N1RfMWkySWVHallzRHNnY2Vqbm1QSzBuY1BWQURZT29fQ1NfZXFSaUEzY05xc0dzSmw3a3UyZlh3bDhlTUJMcmN8WV5M_DCWr0mpbvysNGaacX1PWwZukYRGCUd7zasT1Z0=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxhWkw1N1lYaXhlYXd2ZmlIeXFKMGVwZWZrRG0tYmNBVzY5UG94U1lLTjlPcVNDS1JUR1NoNkd1cnpMbUQ3OHFmMVFMRDAwOUFBZzh1OGVJX2dPR3RlOWhUVVZXcEV1NGNBcGMtYlB0M2tidTNUWXpLTVlLMHAwZVRQN3JVcHk2QnVXSnJyRGVpWTEyREtEQ25KaUZmZGRsSTRtZzN6MFJKeFFjMVh4b1pvOXBOVFJTZDVhY3ZnaVJXa053bXRmSnRha3B6VkFxUFZrM1JtUWlLbWMxeXNuM0t4UmxGXzNBPXwxnzQayybnomVu9KKV09VJw2upuS6v6c1S3b0sJWkzYg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx1WVpMRXFVYXY1X2JmVkd2X292V1NyYzdRc0k1ZGIwYm41all0Sy1veU5IWHNXYjg2OGxGdFQxdHNRR3RqS0pYZU10bmNVOHBEOG9OYXRSSXpnZnlwX2hlUV9aaU53dUZJWUdkM0FBcE1mTHc5QXpRWU5jYkxHY01SbDk1Qi1OaWRidmkwMnI1OXRIM1BPN3ZNMkx4M1NHRTVGb3pGaHQ5bnQ3U2dVOS00SmJ4MGZndW50T1ZUQllCWHBnZ2dxcTRZS09sSkJjTnNTZ0EyU0NufLwPEP2PJ8RYQ9tckzQTz1lelud5sVzo6Jlpg8JkdBnE

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxlM0tBMGdMZnE4V3JLTHAxMFdIOEZTTDcxMzFhNlFaa21sYWlVV0dPc01ST2t3eElrd0pYSk4tMzZEUUVCekdYYWo0aXVxdlNHRXJZN19YR3g4MDd5ODd2OUpMb2c4bUM4TDJCWmVqdGFwd3VBVHFqXzZaNFpoQzNqcGZmMzI5RUpOX3p3N29HUjNtdHV3MDNLb1o5Ui1HaDhEOWxIVmp3ekE0eEMzZlpEQTFWaUlKQjl4UzBleVZXajlsOHpKQm5PcjUySF8zRC04RnF3dV95SWdfcm96VnZQMFlNUTIxMkh2dkpvRGgtM1dNa3hhRElCVEdTWGhqQlFnTndEbjZZVXFiRUVQNVpmNFg0Uks0cU8ta2tmLUxwSTlBZW5KZ3g1WGJpMUtVT2RXSmxIOU1fOEV4cFc1Snc1c2h5eGlqWTkzQT18oYMWx-zYrvIFzHtsBzkW0omgLkRlrOi2tV236JFCT_M=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxwNXNlWnV2cS03bDdrdTItdUxtRUZyMC1KRWFJd2padHFyS2hhY005a0szS3hkanY4RUp5TnJPMU9Cd1BJVlduSV91SFhKQnBnZktlTUgxdG5MRV9IcWJEQ19fZzZzNDIxaF9hQ0J2YV91Undnc21XMlduMUptSV81Rl8xdnY5NWN1aFdmaDFQUTlkWXlnd2NsY0pLSlZGemR5UFNyMHdCMWc9PXz_khLrMOYAvmm8TxPWewFz30kjj7NEr2ySyO_Tmifbew==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxFY3ZmNU0xdF9GUGZJQ0FvRU5JOXRlWEFpcGZxTXNhQUFhZlJPMzlaT0tNZzY4Y0VZZ1ZxWDRtUkJhZXo2M2d4TERXd1Q0Tngyb0J1czdrMGV4RWVfLTFWZXFTR0hYZExSMDVuSUVNZ19RPT18GQy_KUXhl6Dgc-_uGeJPfHdhznbqAKhEA0jEZq0wSKM=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx2bVUtU0tHRFM4cTlKbXJ5Z01TdjFoTXE2VHM0eGlSQ2czV1h3aFM0Ym05YXVkWThqWWpwLWZMbVp2Tm52R0Q0QXhMVGNhQUh6YzVWc19fd2lVMUNGYmFZOHVJWkd5SXhlODhtMFp6dV9vc04xdkpVRDctcTBGUk1MSG4tTE5KNlZLQWQ3OXdqMTMzc3dMZXpza2lSVmdmX3lpejJZcHp1RVlFQXg2aEx3VTlyZl8xbmZxdkhpcHZySUVsNUR6eU51NEE5NUFaR0xSNG8tSk9OQjVRLUxsWldNdUF5M3RhQ3FGdjV0Qlk5Wl9hRzdkZndtTTd5QnBPcVNjV2xmOEg0QVJkSEFwZnRKOG03MjR6OEJIZjA5UEVvMTNHVHwcuDVKBM6I7Zpg7kt4Pk-iLloKwO8M8f1qNQH7qLp0sg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxoMjc5X2Fyb1dtWUk2MmZlV0NyNWZMU3BZUl92ay15blBZWnNmQk1qWUlkOS1pLWxkUDIyLUZwY3R2X1lRQzZNMmJnZV9iYXdYNG9pMmVISjZsUHNMSUVwQnBHdHFoSXc4Mm8zcVY3UnpjYWZJaWdSelZWMEI1V2NqOWpFY01oUTVXR053TzlyRnB6LWFzQzJKckZ1cDJtZDJndGFPZFRxdWYtc0dGUGRhRkVsdGJ2WmptUmNlQnZONjAwOEdoamk2anItSzFWVXwHNj5MIcwy6_5z9_v4k_oCTN1AX7sFtrk25QICzUSuQQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxsRmNtVjk1VXdqbnlWeDVDd0Q3QlZSaXdaWkx5Sks3QmVNb3hKVWU5cE0tdXBtQmJuSUkwNHJ6SlJwUmVjcjFhNWp3RDZNN293eGtTb19RU1Y2Q3NpcXFFQnhVdWR0eUFKYmNjT1dPNG1xZGQyeVMzYVFuOWROaTQ1allsRzloQ1NseVVzcDQxY0hGdVFGWnZyMzFWZkNuajBzbGZmY0M1WXZTckxSS0tYOGNJU1Rzay1WWXh3MHBhV3hQZmdFUnlpeTVUbXR5NzF1OW5CQ0h3SHhyLU15MzdhSmVMbVlNem50ODNxT1RmQTkyVEc4NksxVWk3SU4wbnNKY2xPdz09fEL3LkMkHs9AH_Kktdn22O9rjO5cdPayirCVWvy7NdFK

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxpUFhiYVl5dWhheFJxclp4RURnSWpUTnZLd1NDT0hLOW44bnRhc3dES3VZYVJsYzlBZkgySGhfTnJYcU02ZG5zY2M1TmFOZDhETTFqT0tMSklESmZTa2VRTmJYcm5UM005X2p3UE9aUmx1Uy03MEY2R3lMQjlqVFRGd1NHWXhGUXNLTkwwbFN3a0VFcTF1ZzZlbmtvQ3luRDRBd0x1dGZxZlIxUWhwWWZhcDlHS21jay1PeW5VV0hXSFAyRDlERGpTa0pwOHhXcU5yRkQ3NHRHOFFrZVBManJDRlFvRl9qZUJvR3Z4V2F2T3JDT0x1QUtScjlrMlZ6bmFlTzhtd2FId0xBekktS240ZHEwQTJ0TG03UmJFR2tPVVdpY3FiN0xuM01ib3Z4dy1HZEFOUzQtYi12WkIyOWxPV1QzMk03SG9RPT18Oy9xErnKlbCafCV5ZRcdNQ4oAkM6AS78DKMLRzE3Gp0=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxXZ0t5V0dfQnlNV3Y4d0dTN3JseVBuUTVsSTlYWGdyRE1XWGRNZ19ncUtZRFR0RWJMX2FaV2hxWVRwakx0VDdNQlBrOFlWdURTa09Jd1JSUlgxTV8yc0R1V3hmcXlwTmdyc2dXVDdBTjR4WUstZEV3TXdFU2Q0NUVzb1JKNnNzaTZBSnhweWhFZnoxV0Jta3hfQUtySE1ZLU5aWGQzcVlrbTJYNXlTOVNwbjFPMnNzYWZNTzRVWXpKSGFpejNrN3FUandSVVUtYml3d0pvSWVIQVFENV9TZUdvajdGSm94eDZBOGtWZFFPOWJfal9CR0dfaEI3bk5rbDVZX2ZPSnlJQlZBaFVXalllMDFQY3c0aWtoYkctQ1YtX1VKT2sydVVPUDg9fLemJf00wrx74T_1wH-isE4OGkygea21I7GLkI4X7udr

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnwxaDl4VUR6MnlJNHU1alhmRi1tWGdabVowaEJsbzdWb0xIekw2SGdVS29Td1BWZjZrQ3Z2ZmQ5cF9SZ256Qkc4cHM0QVRXMWpVVm1yS25HRzdkY0hWM00zc2MwTVVfaWFDM0RBSzlqQ0VzVko3MkhJdXAydzY0VmRWQkdXQV9FeUI5ZER6VFhpSzBWVDlFcXNkM09QUUxUN0F1bmpKQ2VWWm5oUzVEalZLbC1oellOMUZzQjBnS2VxX3puOFdJdm45alhXVHBIZ0VZVEdkaVpmN2NHSGVwU0FlcTdzc2Y0amM4bnMzZTF6ZGtXLUR1TTdSZV9XaWZwZUdTMkp8GA8K9swZ2XKR0-0_JudwK_Qa4BiuzOOxvZWn6Gt1pBo=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxYaDYzWUFLYXh4VWJFVlM4eWMwcVpkWlZ2bEJxOFNYdk5sUTJfQ3RPYUxKT1ZOTGlfYmNIT2tzWUprUkFWQTdzdUgwQUpOcjgyYU5nYjFDRXIwUVhIaHpQbkVheXxTuTszScurs8XNj14TW9ZRbnD2xmn-zFDAIyc8ZUDrXg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxEZHpBelhtbTZXUjQ1RGVsYmdvSEVCR3VtQk5vbEg0MDF5UUxwcmRGeEtjd2tqR2c0Y2VWMXlwanE5bnNndkllRTh0Yll2NU5aUXBSVTdwazE0bDZLNXF2bVZocHV4QVBpVlUxdjJJTWtHMy1VYTV1TXJvOGxPa3JXT3FFY3g2VDJiM2NEZ3ExTS1RUzB1SGgzVVl4el9hTkZycTZZU05vR1JSWVhocGNDeV8xT1dxNHViZndyS2VOeGJFbkxRPT18uzh6hDGbvGTPDjTotEtdXXbulR9ukML3n9YHQBzyX_U=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnwwanp6eU51aGxsSEt0b0ZRNXhkUjU3YzZXWjJySnc2aXo2c2FYWFB3NjBnUDRnQUpPQ082bUZrTmJ5V1pvZVJXRi1JTzlsXy1KLVhpMzNidnlrV2xOT2RIVE5QalFqWklhSTU5c1BoSmQzY24yLUU3RFNMSXExTTE0djdyMDZqY0FIanhYWk14WUFERWk2a0pFbE9BYTgyOGJKalVCRm9SVWVYb2lvNW5pUkQwb09hUXo1bXBiUWRBRmx6cWpmU09NbWRLVWJsbnyekkTo3BRb4h8NxFsA-u3yJovwUt6YiFZRA6601AWliQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnx6RXFNam1mMGdqdl9FdWdYbVhENlVnbElXVFVlVEloSWJFTFhQS1pqTzZONk90NDJIQ0pzTFdFMC1kdGlnaGJRR2lQTnZjVHVvbDd0SjlzUzhTdXJiNl9DMXl1eFN2Z2x6ZV9nSGJQNGxEQ1hDdHFoVGlSeGFmMzdsbG5ZcXZLbC0xMlJVOHJlU0E5WkFKcXBuVWNKbUQzRXhQdkswTlpNR1F5SFBndWs2dFZwRmNxS0Y2OVp2LWVvTmc9PXwa834Gqa_XEA5QQg7bVXgvdF3xnPxb8SYWMk2DYOmPfg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnwyUmFwak85TjIxOG16amY0bnVyLWJ2cVpmdHdGOFRERExoQk5PajRIM09KaVBjWEN0UHB3T0NCUGstUE9EOEwyRE4zNVZERkx3anBQWFhwTjk1MTNTRWxTRVA0eDhpMERxUFdfUlFxdEZDU1hFT0pCUGNtR1JUTHB8vOPKYBrn6hBxJVx8lm83klo8lEfuN5HNBE6iMfRcVUo=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxCOXhFREpZaVJKem5Ec2lodER1RDd1Y3JsWngzQ0s3ZTE5RTAwRHVaRGhvWWpIa2wyWldaSHlUZXYzVGJ3eTRZa0oyNE83MGtxRl95SV9LdkRIQjlsYklwZjRYbzdKX3FpM1NkTnZNc0VlRi1kVTl3RGNjSXRkNFQ1ZkFJemJ0M2d5SG5QRmxiR1RwNkphUm52a01LQVlPSUZSaFl3aTlHbG42VlhnT0lwTHRUM1BkOUxKSjNKU1VEaWNNRVFna1FuY0dBQm1vemhWREpBaE5Na3JQWTV5WEtWZHRBWE96VFQ2RlljTlBkZnk3R25xQ1lXUHFEWjdPRXJMQ3pCOFFfS2hNcnUteWtDODA1WVVlZ182SDRQaUd2SFR6LUVnWnE2c2NXMldLX1ctQlpTV3RqUm1wclYxU25ZcnpvaUZpc3laTTVVcWw2RVZadFhYcE9sS0pmbEJLV216RUp81kEhfeuoPh7fasWg194BQUrNABxQRgO5E0UZhArboiA=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3Mnw4OGlmcDZDelEtZXJNQXBFSE92SXBFcjFGWVFYak5vTWRtX2oyclQwUmcteC1Bemx6bVktVTd6OUk3UVVkNGZ0TnZIOVlHRmRWbUVUeXNGSHBCbnNiQUpCcWZfa0Y3cmI2ZWMyd1ZST0puNE1qdmJXODlQa1JaVXhxQU9FcU51ZkpuaUFJZUV4ZW82YTVZUmEwZThfMUoweTFpYTBzWFlWMUlfZTJ6ZC1nc0hkNWcwR05nRWJYTjBkaXVLRVJaZ1lORnpNVGZ3SG10QVh1WWJuTzFnVFl3PT18NNpLAmbpk2NJ4nUzZwjMB67lvypX_GHa8s0CJ-ftV8A=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxWc0FwTUN2ZFdZS1JuZHpjazFvYkluVUhrOERDLWo0TFNaSV85QnZ0N2x6b19TdEFYcWJOQU1XR1ZodVNubGNmUXN2UDdMeDB2OXdfV0s2a3JPb1k2STlwU1BZWnJ2ckZnaFVmdWlaMFRDMGxOaDNSTm03c3FpMEdvVWxhdFh2YTFtYXU1bElWZnpaeGJkQUJWVDdIazZsQUVlRl94TEtWeFE9PXx0Ao9dRKXodS2pdmdMxn4s2gqMdvIf0LyqafRO2A6Epg==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxOUkxmblc1cnZBRUlKWDN0X2NZYzlwZmJwalBvdWVST1M1dnRFb2lKd1ZVelJ4ZHcwSFNyRGZobUMtMUlwcUdlcUxUdlRLc25ubWVJSk1qR3J3Ql9sVXNpeWpFU3h5Wmd2dm94SFEtU3pqWHpvUzl0YTFjOWtWMjRNRUw1NFh5SlRQa0tPV21pVXFieTc2cFZCOXYxblhsdW9WZVR5cmlZYmc9PXyOjmpasY0soiOXocnIfIjXzLBdvcIJSUf7MtnecEiumQ==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxONy13NV9kajB6Q2l0cEpZcS1oUGMzbTh3UEZqTUVGaTB5WVBTQ1lFNnhOS1I0OW1sLV9FRWZPNVdmRDBTakdlTzVLbXRfVFh0dTN2d09CekI0ckhCZlF1NC1PRHJpOXRyNkdPeUlQeWZ1WEhIenlodWRzeUJ0OERWOU9pQVYxRTZpTU1CQVBaMWtuRGJDSEtIeXpBajFweUhfNXZMbmE4WGNLQWZUYVJUQ1U5dGNQeGdNSlIxTUhiSVRvZDFxa2hVWUdxR3RVYnBzSWtrV2pEVjFhTmZFdE9DYkJiMWxmcVI2bC1PdDJnWHMxOEdoY0laQkdaMGEwUUYyb3NHMkhUOUYxOUMyQi1FTTQ0MXJqazlVRy05dz09fAeQr50BUvNembveqXWEGP7rlr5dtj67s9wqE6gHzaaC

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxjMHF0NHdRdnBtLTQxZF96c1h2WlZfbnV0V1B4ZjJwWTlodFpLOEU9fCET

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxsLWpPOUZEdzRvVDY3OGRkMjNkNnFhV3lSYmVscS1SQlQ4X1FyZUU4NFFQaUp1cmxwSkFrZWRJc3BSSjhaeVlZalFxNnVNUHhGcWRGZzRvSFkyOE4xc2V2MHRxVHdMQ2RKVFk3UVJnZmxKSTZkRnBUYjZqTk1QMjBlVDhXN0dBYXA2b0hPSVRoNHZIYUkxeXRaZ3NzbzRLR1dEWE42ODVrTWhIUkJ6cXJvaW1GSDAwNDI4MUdlS0lIWXhncEVXVDJBSE13VkZaM0tyRT18W02jU9IYV9lzRqQQxfOLzy-8Bd9bDwNImCpHGH6rnF0=

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxpZ3o4cWhqT2pvdDlFbDJkQXNadHBia0hOMUpIQXBCQVozVHNMRlFYZ280SkhGb1JZeUJORDloMVRWM09LUjRYeW92MF9qaHdJT3pua0hVMWNOVUhaYTdLTG5mQXpmX1NaMVNlaUhZPXxTJ2ptj0jydEz6XpNwmpmW61lddMyLC1R1pxzI1eELCw==

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxpanVFSDVyc0RGd2JSQVdHaWl4TEdmQ2hKSzkwUnFPN2t1c0hSVUJ6OGtCREpsLWwxb29YaVY0azFIUzJmYUZCOXVxM1A3YlAwbVctM1FzR29JcUFYSV9qWEo0Q3hhZS1BNG1wTXJFUkg3czVfYkJmbG1FTUpYRWhuajRQUkVjVmo5MzUzUT09fBj3LQ__1HenyVLrv81zQEy48ViAGjoQY2cq3guJe9b3

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxaY002LVp3cmEzR2VReVRBUWhkZTBsVkRUQi0wcWRrYVVaNUMxNy1vdjZldVpwWjFIUnhsRjlHaDFnQm1TWm1fUFhQMlppaHppTks3T1RudGJfN24tclpsZGl1NEdiQjJxLUQ3dlFDbExoMmJnVVpGX05FZDF3STg3NzJuSkRMZ2xnN3lqY2xDM3NBN1poaDlzMzBhWS1tWHB1clhybWxHQUdJckVrdWhrQT09fFQeJmtO8msJrVC858xkw_S8fMoaOZMkHV1aI4Jh-IO-

View file

@ -1 +0,0 @@
MTQzOTkyMzI3MnxndjZkcXRUT25pNXdSRVY5bWRvbHNSemROWGJHZXBNZ2VXeUc2ZVcxSVpQa2pTcDVNU0h0aGdlcVZBeFFFcU5SMW5JVnUwakpfWjlOQmE3Ql8td1ExOTEzNXoxOXZ2RzlkclF6QnhTM1ZEYy0yc2xIUldRT2F3SUhacFJLYVhvPXw4CQ6cMxjmD2QJtJJz4nUnQIaNACfQALE6oAWm6m4r8g==

Some files were not shown because too many files have changed in this diff Show more