mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-11 02:13:41 +09:00
GO-1825 Merge main
This commit is contained in:
commit
c35ac9cc4d
80 changed files with 5523 additions and 2024 deletions
61
.github/workflows/force-mirror-any-block.yml
vendored
61
.github/workflows/force-mirror-any-block.yml
vendored
|
@ -1,61 +0,0 @@
|
|||
name: Force Mirror Changes to any-block
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
force-mirror-anyblock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout anytype-heart
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 2
|
||||
path: anytype-heart
|
||||
|
||||
- name: Set variables
|
||||
run: |
|
||||
echo "any-block-files=pkg/lib/pb/model/protos/models.proto,pb/protos/changes.proto,pb/protos/events.proto" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Update import paths
|
||||
run: |
|
||||
for file in $(echo "${{ env.any-block-files }}" | tr ',' ' '); do
|
||||
sed -i -E '/google/! s/(import\s+")([^\/]+\/)*([^\/]+\.proto")/\1\3/g' "anytype-heart/$file"
|
||||
done
|
||||
|
||||
- name: Clone any-block
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: anyproto/any-block
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path: any-block
|
||||
|
||||
- name: Copy changed files to any-block
|
||||
run: |
|
||||
for file in $(echo "${{ env.any-block-files }}" | tr ',' ' '); do
|
||||
cp -f "anytype-heart/$file" any-block/
|
||||
done
|
||||
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: 'stable'
|
||||
|
||||
- name: Generate documentation using proto-gen-doc
|
||||
run: |
|
||||
cd any-block
|
||||
echo "Installing proto"
|
||||
sudo apt-get update && sudo apt-get install -y protobuf-compiler
|
||||
echo "Installing protoc-gen-doc"
|
||||
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest
|
||||
echo "Running protoc"
|
||||
protoc --doc_out=. --doc_opt=html,index.html *.proto
|
||||
|
||||
- name: Commit and push changes to any-block
|
||||
run: |
|
||||
cd any-block
|
||||
git config --global user.email "association@anytype.io"
|
||||
git config --global user.name "Any Association"
|
||||
git add .
|
||||
git commit -m "Update proto files"
|
||||
git push origin main
|
44
.github/workflows/mirror-any-block.yml
vendored
44
.github/workflows/mirror-any-block.yml
vendored
|
@ -2,75 +2,51 @@ name: Mirror Changes to any-block
|
|||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'pkg/lib/pb/model/protos/models.proto'
|
||||
- 'pb/protos/changes.proto'
|
||||
- 'pb/protos/events.proto'
|
||||
- 'pb/protos/snapshot.proto'
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
mirror-anyblock:
|
||||
if: ${{ github.repository_owner == 'anyproto' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout anytype-heart
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.ANY_CLA_TOKEN }}
|
||||
fetch-depth: 2
|
||||
path: anytype-heart
|
||||
|
||||
- name: Set variables
|
||||
run: |
|
||||
echo "any-block-files=pkg/lib/pb/model/protos/models.proto,pb/protos/changes.proto,pb/protos/events.proto" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Find changed files
|
||||
run: |
|
||||
cd anytype-heart
|
||||
files=$(comm -12 <(echo "${{ env.any-block-files }}" | tr ',' '\n' | sort) <(git diff --name-only HEAD HEAD~1 | sort))
|
||||
if [ -z "$files" ]; then
|
||||
echo "changed=false" >> "$GITHUB_ENV"
|
||||
else
|
||||
echo "changed=true" >> "$GITHUB_ENV"
|
||||
fi
|
||||
echo "any-block-files=pkg/lib/pb/model/protos/models.proto,pb/protos/changes.proto,pb/protos/events.proto,pb/protos/snapshot.proto" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Update import paths
|
||||
if: ${{ env.changed == 'true' }}
|
||||
run: |
|
||||
for file in $(echo "${{ env.any-block-files }}" | tr ',' ' '); do
|
||||
sed -i -E '/google/! s/(import\s+")([^\/]+\/)*([^\/]+\.proto")/\1\3/g' "anytype-heart/$file"
|
||||
done
|
||||
|
||||
- name: Clone any-block
|
||||
if: ${{ env.changed == 'true' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: anyproto/any-block
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.ANY_CLA_TOKEN }}
|
||||
path: any-block
|
||||
|
||||
- name: Copy changed files to any-block
|
||||
if: ${{ env.changed == 'true' }}
|
||||
run: |
|
||||
for file in $(echo "${{ env.any-block-files }}" | tr ',' ' '); do
|
||||
cp -f "anytype-heart/$file" any-block/
|
||||
done
|
||||
|
||||
- name: Install Go
|
||||
if: ${{ env.changed == 'true' }}
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: 'stable'
|
||||
|
||||
- name: Generate documentation using proto-gen-doc
|
||||
if: ${{ env.changed == 'true' }}
|
||||
run: |
|
||||
cd any-block
|
||||
echo "Installing proto"
|
||||
sudo apt-get update && sudo apt-get install -y protobuf-compiler
|
||||
echo "Installing protoc-gen-doc"
|
||||
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest
|
||||
echo "Running protoc"
|
||||
protoc --doc_out=. --doc_opt=html,index.html *.proto
|
||||
|
||||
- name: Commit and push changes to any-block
|
||||
if: ${{ env.changed == 'true' }}
|
||||
run: |
|
||||
cd any-block
|
||||
git config --global user.email "association@anytype.io"
|
||||
|
|
10
.github/workflows/test.yml
vendored
10
.github/workflows/test.yml
vendored
|
@ -58,6 +58,16 @@ jobs:
|
|||
rm -rf ~/gotestsum-report
|
||||
mkdir ~/gotestsum-report
|
||||
CGO_CFLAGS="-Wno-deprecated-declarations -Wno-deprecated-non-prototype -Wno-xor-used-as-pow" gotestsum --junitfile ~/gotestsum-report/gotestsum-report.xml -- -tags "nogrpcserver nographviz" -p 1 $(echo $PACKAGE_NAMES) -race -coverprofile=coverage.out -covermode=atomic ./...
|
||||
|
||||
generated_pattern='^\/\/ Code generated .* DO NOT EDIT\.$'
|
||||
files_list=$(grep -rl "$generated_pattern" . | grep '\.go$' | sed 's/^\.\///')
|
||||
|
||||
for file in $files_list; do
|
||||
echo "Removing $file from coverage report"
|
||||
grep -v "$file" coverage.out > temp_file
|
||||
mv temp_file coverage.out
|
||||
done
|
||||
|
||||
COVERAGE=$(go tool cover -func coverage.out | grep total | awk '{print substr($3, 1, length($3)-1)}')
|
||||
echo "coverage_middleware $COVERAGE" | curl --data-binary @- --user "$prometheus_username:$prometheus_password" https://pushgateway.anytype.io/metrics/job/tech_quality
|
||||
- name: Publish Test Report
|
||||
|
|
|
@ -10,3 +10,12 @@ packages:
|
|||
github.com/anyproto/anytype-heart/core/wallet:
|
||||
interfaces:
|
||||
Wallet:
|
||||
github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore:
|
||||
interfaces:
|
||||
ObjectStore:
|
||||
github.com/anyproto/anytype-heart/core/event:
|
||||
interfaces:
|
||||
Sender:
|
||||
github.com/anyproto/anytype-heart/core/block/restriction:
|
||||
interfaces:
|
||||
Service:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Middleware library for Anytype, distributed as part of the Anytype clients.
|
||||
|
||||
## Build from Source
|
||||
1. Install Golang 1.19.x [from here](http://golang.org/dl/) or using preferred package manager
|
||||
1. Install Golang 1.21.x [from here](http://golang.org/dl/) or using preferred package manager
|
||||
2. Follow instructions below for the target systems
|
||||
|
||||
|
||||
|
|
|
@ -25,245 +25,247 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
|
||||
|
||||
var fileDescriptor_93a29dc403579097 = []byte{
|
||||
// 3805 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0x4b, 0x6f, 0x1c, 0xc7,
|
||||
0xb5, 0xc7, 0x3d, 0x9b, 0xeb, 0x7b, 0xdb, 0xd7, 0xbe, 0x37, 0xe3, 0x44, 0x71, 0x14, 0x9b, 0x92,
|
||||
0x65, 0x49, 0xa4, 0x44, 0x72, 0x48, 0x4b, 0xf2, 0x23, 0x0f, 0x20, 0xa0, 0x48, 0x51, 0x22, 0xac,
|
||||
0x57, 0x38, 0x94, 0x04, 0x18, 0x08, 0x90, 0x66, 0x4f, 0x69, 0xd8, 0x61, 0x4f, 0x57, 0xbb, 0xbb,
|
||||
0x86, 0x14, 0x13, 0x24, 0x48, 0x90, 0x20, 0x41, 0x82, 0x04, 0x09, 0xf2, 0x58, 0x65, 0x97, 0x4d,
|
||||
0x90, 0x6f, 0x92, 0xa5, 0x97, 0x59, 0x06, 0xf6, 0x17, 0x09, 0xba, 0xeb, 0x74, 0x3d, 0x4e, 0xd7,
|
||||
0xa9, 0xae, 0xf1, 0x4a, 0xc2, 0x9c, 0xdf, 0x39, 0xff, 0xaa, 0xae, 0xd7, 0xa9, 0xaa, 0x6e, 0x46,
|
||||
0x17, 0x8a, 0xc3, 0x8d, 0xa2, 0xe4, 0x82, 0x57, 0x1b, 0x15, 0x2b, 0x4f, 0xd2, 0x84, 0xb5, 0xff,
|
||||
0x8e, 0x9a, 0x9f, 0x87, 0x2f, 0xc7, 0xf9, 0x99, 0x38, 0x2b, 0xd8, 0xf9, 0x37, 0x34, 0x99, 0xf0,
|
||||
0xd9, 0x2c, 0xce, 0x27, 0x95, 0x44, 0xce, 0x9f, 0xd3, 0x16, 0x76, 0xc2, 0x72, 0x01, 0xbf, 0xdf,
|
||||
0xf8, 0xfb, 0x3f, 0x06, 0xd1, 0x6b, 0xdb, 0x59, 0xca, 0x72, 0xb1, 0x0d, 0x1e, 0xc3, 0x8f, 0xa3,
|
||||
0x57, 0xb7, 0x8a, 0xe2, 0x2e, 0x13, 0x4f, 0x59, 0x59, 0xa5, 0x3c, 0x1f, 0xbe, 0x33, 0x02, 0x81,
|
||||
0xd1, 0x7e, 0x91, 0x8c, 0xb6, 0x8a, 0x62, 0xa4, 0x8d, 0xa3, 0x7d, 0xf6, 0xc9, 0x9c, 0x55, 0xe2,
|
||||
0xfc, 0x65, 0x3f, 0x54, 0x15, 0x3c, 0xaf, 0xd8, 0xf0, 0x79, 0xf4, 0xa5, 0xad, 0xa2, 0x18, 0x33,
|
||||
0xb1, 0xc3, 0xea, 0x0a, 0x8c, 0x45, 0x2c, 0xd8, 0x70, 0xb9, 0xe3, 0x6a, 0x03, 0x4a, 0x63, 0xa5,
|
||||
0x1f, 0x04, 0x9d, 0x83, 0xe8, 0x95, 0x5a, 0xe7, 0x68, 0x2e, 0x26, 0xfc, 0x34, 0x1f, 0xbe, 0xdd,
|
||||
0x75, 0x04, 0x93, 0x8a, 0x7d, 0xc9, 0x87, 0x40, 0xd4, 0x67, 0xd1, 0xff, 0x3e, 0x8b, 0xb3, 0x8c,
|
||||
0x89, 0xed, 0x92, 0xd5, 0x05, 0xb7, 0x7d, 0xa4, 0x69, 0x24, 0x6d, 0x2a, 0xee, 0x3b, 0x5e, 0x06,
|
||||
0x02, 0x7f, 0x1c, 0xbd, 0x2a, 0x2d, 0xfb, 0x2c, 0xe1, 0x27, 0xac, 0x1c, 0x3a, 0xbd, 0xc0, 0x48,
|
||||
0x3c, 0xf2, 0x0e, 0x84, 0x63, 0x6f, 0xf3, 0xfc, 0x84, 0x95, 0xc2, 0x1d, 0x1b, 0x8c, 0xfe, 0xd8,
|
||||
0x1a, 0x82, 0xd8, 0x59, 0xf4, 0xba, 0xf9, 0x40, 0xc6, 0xac, 0x6a, 0x3a, 0xcc, 0x35, 0xba, 0xce,
|
||||
0x80, 0x28, 0x9d, 0xeb, 0x21, 0x28, 0xa8, 0xa5, 0xd1, 0x10, 0xd4, 0x32, 0x5e, 0x29, 0xb1, 0x15,
|
||||
0x67, 0x04, 0x83, 0x50, 0x5a, 0xd7, 0x02, 0x48, 0x90, 0xfa, 0x7e, 0xf4, 0x7f, 0xcf, 0x78, 0x79,
|
||||
0x5c, 0x15, 0x71, 0xc2, 0xa0, 0xb1, 0xaf, 0xd8, 0xde, 0xad, 0x15, 0xb7, 0xf7, 0xd5, 0x3e, 0x0c,
|
||||
0x14, 0x8e, 0xa3, 0xa1, 0x32, 0x3e, 0x3a, 0xfc, 0x01, 0x4b, 0xc4, 0xd6, 0x64, 0x82, 0x9f, 0x9c,
|
||||
0xf2, 0x96, 0xc4, 0x68, 0x6b, 0x32, 0xa1, 0x9e, 0x9c, 0x1b, 0x05, 0xb1, 0xd3, 0xe8, 0x1c, 0x12,
|
||||
0xbb, 0x9f, 0x56, 0x8d, 0xe0, 0xba, 0x3f, 0x0a, 0x60, 0x4a, 0x74, 0x14, 0x8a, 0x83, 0xf0, 0x4f,
|
||||
0x07, 0xd1, 0xd7, 0x1c, 0xca, 0xfb, 0x6c, 0xc6, 0x4f, 0xd8, 0x70, 0xb3, 0x3f, 0x9a, 0x24, 0x95,
|
||||
0xfe, 0xbb, 0x0b, 0x78, 0x38, 0x9a, 0x72, 0xcc, 0x32, 0x96, 0x08, 0xb2, 0x29, 0xa5, 0xb9, 0xb7,
|
||||
0x29, 0x15, 0x66, 0x8c, 0x82, 0xd6, 0x78, 0x97, 0x89, 0xed, 0x79, 0x59, 0xb2, 0x5c, 0x90, 0x6d,
|
||||
0xa9, 0x91, 0xde, 0xb6, 0xb4, 0x50, 0x47, 0x7d, 0xee, 0x32, 0xb1, 0x95, 0x65, 0x64, 0x7d, 0xa4,
|
||||
0xb9, 0xb7, 0x3e, 0x0a, 0x03, 0x85, 0x9f, 0x18, 0x6d, 0x36, 0x66, 0x62, 0xaf, 0xba, 0x97, 0x4e,
|
||||
0x8f, 0xb2, 0x74, 0x7a, 0x24, 0xd8, 0x64, 0xb8, 0x41, 0x3e, 0x14, 0x1b, 0x54, 0xaa, 0x9b, 0xe1,
|
||||
0x0e, 0x8e, 0x1a, 0xde, 0x79, 0x51, 0xf0, 0x92, 0x6e, 0x31, 0x69, 0xee, 0xad, 0xa1, 0xc2, 0x40,
|
||||
0xe1, 0x7b, 0xd1, 0x6b, 0x5b, 0x49, 0xc2, 0xe7, 0xb9, 0x9a, 0x70, 0xd1, 0xf2, 0x25, 0x8d, 0x9d,
|
||||
0x19, 0xf7, 0x4a, 0x0f, 0xa5, 0xa7, 0x5c, 0xb0, 0xc1, 0xdc, 0xf1, 0x8e, 0xd3, 0x0f, 0xcd, 0x1c,
|
||||
0x97, 0xfd, 0x50, 0x27, 0xf6, 0x0e, 0xcb, 0x18, 0x19, 0x5b, 0x1a, 0x7b, 0x62, 0x2b, 0xa8, 0x13,
|
||||
0x1b, 0x06, 0x8a, 0x3b, 0x36, 0x1a, 0x26, 0x97, 0xfd, 0x90, 0xb1, 0x22, 0x43, 0x6c, 0xc1, 0x0b,
|
||||
0xbc, 0x22, 0xb7, 0x4e, 0x82, 0x17, 0xd4, 0x8a, 0x6c, 0x23, 0x9d, 0xa8, 0x0f, 0xea, 0x09, 0xc5,
|
||||
0x1d, 0xf5, 0x81, 0x39, 0x83, 0x5c, 0xf2, 0x21, 0x7a, 0x40, 0xb7, 0xed, 0xc7, 0xf3, 0xe7, 0xe9,
|
||||
0xf4, 0x49, 0x31, 0xa9, 0x5b, 0xf1, 0x9a, 0xbb, 0x81, 0x0c, 0x84, 0x18, 0xd0, 0x04, 0x0a, 0x6a,
|
||||
0xbf, 0x1b, 0x44, 0x4b, 0x76, 0x6f, 0xdc, 0x2d, 0xf9, 0xec, 0x3e, 0x9b, 0xc6, 0xc9, 0x19, 0x74,
|
||||
0xff, 0x5b, 0xbe, 0x7e, 0x87, 0x69, 0x55, 0x88, 0xf7, 0x16, 0xf4, 0x82, 0xf2, 0x7c, 0x37, 0x8a,
|
||||
0xe4, 0x74, 0xfa, 0xa8, 0x60, 0xf9, 0xf0, 0xa2, 0x15, 0x04, 0xe6, 0xd9, 0xda, 0xa2, 0x64, 0xde,
|
||||
0xf6, 0x10, 0xba, 0x99, 0xe4, 0xef, 0xcd, 0x6a, 0x3b, 0x74, 0x7a, 0x34, 0x26, 0xa2, 0x99, 0x10,
|
||||
0x82, 0x0b, 0x3a, 0x3e, 0xe2, 0xa7, 0xee, 0x82, 0xd6, 0x16, 0x7f, 0x41, 0x81, 0xd0, 0x19, 0x1e,
|
||||
0x14, 0xd4, 0x95, 0xe1, 0xb5, 0xc5, 0xf0, 0x65, 0x78, 0x98, 0x81, 0xc0, 0x3c, 0xfa, 0xb2, 0x19,
|
||||
0xf8, 0x36, 0xe7, 0xc7, 0xb3, 0xb8, 0x3c, 0x1e, 0x5e, 0xa7, 0x9d, 0x5b, 0x46, 0x09, 0xad, 0x06,
|
||||
0xb1, 0x7a, 0x12, 0x35, 0x05, 0xc7, 0x0c, 0x4f, 0xa2, 0x96, 0xff, 0x98, 0x51, 0x93, 0xa8, 0x03,
|
||||
0xc3, 0x8d, 0x7a, 0xb7, 0x8c, 0x8b, 0x23, 0x77, 0xa3, 0x36, 0x26, 0x7f, 0xa3, 0xb6, 0x08, 0x6e,
|
||||
0x81, 0x31, 0x8b, 0xcb, 0xe4, 0xc8, 0xdd, 0x02, 0xd2, 0xe6, 0x6f, 0x01, 0xc5, 0x40, 0xe0, 0x32,
|
||||
0xfa, 0x8a, 0x19, 0x78, 0x3c, 0x3f, 0xac, 0x92, 0x32, 0x3d, 0x64, 0xc3, 0x55, 0xda, 0x5b, 0x41,
|
||||
0x4a, 0x6a, 0x2d, 0x0c, 0xd6, 0x19, 0x2b, 0x68, 0xb6, 0xb6, 0xbd, 0x49, 0x85, 0x32, 0xd6, 0x36,
|
||||
0x86, 0x41, 0x10, 0x19, 0xab, 0x9b, 0xc4, 0xd5, 0xbb, 0x5b, 0xf2, 0x79, 0x51, 0xf5, 0x54, 0x0f,
|
||||
0x41, 0xfe, 0xea, 0x75, 0x61, 0xd0, 0x7c, 0x11, 0x7d, 0xd5, 0x7c, 0xa4, 0x4f, 0xf2, 0x4a, 0xa9,
|
||||
0xae, 0xd3, 0xcf, 0xc9, 0xc0, 0x88, 0xbc, 0xd2, 0x83, 0x83, 0x72, 0x12, 0xfd, 0x7f, 0xab, 0x2c,
|
||||
0x76, 0x98, 0x88, 0xd3, 0xac, 0x1a, 0x5e, 0x75, 0xc7, 0x68, 0xed, 0x4a, 0x6b, 0xb9, 0x97, 0xc3,
|
||||
0x43, 0x68, 0x67, 0x5e, 0x64, 0x69, 0xd2, 0xdd, 0x04, 0x80, 0xaf, 0x32, 0xfb, 0x87, 0x90, 0x89,
|
||||
0xe9, 0x85, 0x46, 0x55, 0x43, 0xfe, 0xe7, 0xe0, 0xac, 0xc0, 0x0b, 0x8d, 0x2e, 0xa1, 0x46, 0x88,
|
||||
0x85, 0x86, 0x40, 0x71, 0x7d, 0xc6, 0x4c, 0xdc, 0x8f, 0xcf, 0xf8, 0x9c, 0x98, 0x12, 0x94, 0xd9,
|
||||
0x5f, 0x1f, 0x13, 0x03, 0x85, 0x79, 0x74, 0x4e, 0x29, 0xec, 0xe5, 0x82, 0x95, 0x79, 0x9c, 0xed,
|
||||
0x66, 0xf1, 0xb4, 0x1a, 0x12, 0xe3, 0xc6, 0xa6, 0x94, 0xde, 0x7a, 0x20, 0xed, 0x78, 0x8c, 0x7b,
|
||||
0xd5, 0x6e, 0x7c, 0xc2, 0xcb, 0x54, 0xd0, 0x8f, 0x51, 0x23, 0xbd, 0x8f, 0xd1, 0x42, 0x9d, 0x6a,
|
||||
0x5b, 0x65, 0x72, 0x94, 0x9e, 0xb0, 0x89, 0x47, 0xad, 0x45, 0x02, 0xd4, 0x0c, 0xd4, 0xd1, 0x68,
|
||||
0x63, 0x3e, 0x2f, 0x13, 0x46, 0x36, 0x9a, 0x34, 0xf7, 0x36, 0x9a, 0xc2, 0x40, 0xe1, 0x17, 0x83,
|
||||
0xe8, 0xeb, 0xd2, 0x6a, 0x66, 0xfd, 0x3b, 0x71, 0x75, 0x74, 0xc8, 0xe3, 0x72, 0x32, 0x7c, 0xd7,
|
||||
0x15, 0xc7, 0x89, 0x2a, 0xe9, 0x1b, 0x8b, 0xb8, 0xe0, 0xc7, 0x5a, 0x6f, 0xe2, 0xf4, 0x88, 0x73,
|
||||
0x3e, 0x56, 0x0b, 0xf1, 0x3f, 0x56, 0x8c, 0xe2, 0x09, 0xa4, 0xb1, 0xcb, 0x4c, 0xfa, 0x2a, 0xe9,
|
||||
0x6f, 0x27, 0xd3, 0xcb, 0xbd, 0x1c, 0x9e, 0x1f, 0x6b, 0xa3, 0xdd, 0x5b, 0xd6, 0xa9, 0x18, 0xee,
|
||||
0x1e, 0x33, 0x0a, 0xc5, 0x49, 0x65, 0x35, 0x2a, 0xfc, 0xca, 0x9d, 0x91, 0x31, 0x0a, 0xc5, 0x09,
|
||||
0x65, 0x63, 0x5a, 0xf3, 0x29, 0x3b, 0xa6, 0xb6, 0x51, 0x28, 0x8e, 0x3b, 0xd0, 0x56, 0x51, 0x64,
|
||||
0x67, 0x07, 0x6c, 0x56, 0x64, 0x64, 0x07, 0xb2, 0x10, 0x7f, 0x07, 0xc2, 0x28, 0xce, 0x7e, 0x0e,
|
||||
0x78, 0x9d, 0x5b, 0x39, 0xb3, 0x9f, 0xc6, 0xe4, 0xcf, 0x7e, 0x5a, 0x04, 0x27, 0x0c, 0x07, 0x7c,
|
||||
0x9b, 0x67, 0xf5, 0x0e, 0xaa, 0x7b, 0xc4, 0xa5, 0x3c, 0x35, 0xe1, 0x4f, 0x18, 0x10, 0xa9, 0x8f,
|
||||
0x62, 0xdb, 0xec, 0x39, 0x2e, 0xd9, 0xed, 0xb3, 0xfb, 0x69, 0x7e, 0x3c, 0x74, 0xaf, 0x8d, 0x1a,
|
||||
0x20, 0x8e, 0x62, 0x9d, 0x20, 0xce, 0xd2, 0x9f, 0xe4, 0x13, 0xee, 0xce, 0xd2, 0x6b, 0x8b, 0x3f,
|
||||
0x4b, 0x07, 0x02, 0x87, 0xdc, 0x67, 0x54, 0xc8, 0xda, 0xe2, 0x0f, 0x09, 0x84, 0x6b, 0x3e, 0x80,
|
||||
0x5d, 0x17, 0x39, 0x1f, 0xa0, 0x7d, 0xd6, 0x72, 0x2f, 0x87, 0x7b, 0x68, 0x9b, 0xae, 0xef, 0x32,
|
||||
0x91, 0x1c, 0xb9, 0x7b, 0xa8, 0x85, 0xf8, 0x7b, 0x28, 0x46, 0x71, 0x95, 0x0e, 0xb8, 0xda, 0x6e,
|
||||
0x5c, 0x75, 0xf7, 0x8f, 0xce, 0x56, 0x63, 0xb9, 0x97, 0xc3, 0xe9, 0xfa, 0xde, 0xac, 0x79, 0x66,
|
||||
0xce, 0x4e, 0x2e, 0x6d, 0xfe, 0x74, 0x5d, 0x31, 0xb8, 0xf4, 0xd2, 0x50, 0x3f, 0x4e, 0x77, 0xe9,
|
||||
0xb5, 0xdd, 0x5f, 0x7a, 0x8b, 0x03, 0x91, 0x3f, 0x0f, 0xa2, 0x0b, 0xa6, 0xca, 0x43, 0x5e, 0x8f,
|
||||
0x91, 0xa7, 0x71, 0x96, 0xd6, 0x5b, 0xf4, 0x03, 0x7e, 0xcc, 0xf2, 0xe1, 0x07, 0x9e, 0xd2, 0x4a,
|
||||
0x7e, 0x64, 0x39, 0xa8, 0x52, 0x7c, 0xb8, 0xb8, 0x23, 0xee, 0x27, 0x92, 0x7e, 0x52, 0xb1, 0xed,
|
||||
0xb8, 0x22, 0x66, 0x32, 0x0b, 0xf1, 0xf7, 0x13, 0x8c, 0x62, 0x35, 0x3d, 0x4b, 0x74, 0x8f, 0xa2,
|
||||
0x31, 0xe1, 0x39, 0x8a, 0x26, 0x50, 0x9c, 0x22, 0x6a, 0x00, 0x4e, 0x83, 0xd7, 0xfc, 0x51, 0xd0,
|
||||
0x49, 0xf0, 0x7a, 0x20, 0xdd, 0xd9, 0x7f, 0x2b, 0x66, 0x5c, 0xf7, 0xd7, 0x9e, 0xa2, 0x8f, 0xcd,
|
||||
0x7e, 0xbb, 0x1a, 0xc4, 0xba, 0x37, 0xfc, 0xfb, 0x2c, 0x8b, 0x9b, 0xb9, 0xdc, 0xb3, 0xe1, 0x6f,
|
||||
0x99, 0x90, 0x0d, 0xbf, 0xc1, 0x82, 0xe0, 0xcf, 0x06, 0xd1, 0x79, 0x97, 0xe2, 0xa3, 0xa2, 0xd1,
|
||||
0xdd, 0xec, 0x8f, 0x25, 0x49, 0xe2, 0xac, 0xdd, 0xef, 0x01, 0x65, 0xf8, 0x51, 0xf4, 0x46, 0x6b,
|
||||
0xd2, 0x47, 0xf1, 0x50, 0x00, 0x7b, 0x39, 0x57, 0xe5, 0xc7, 0x9c, 0x92, 0xdf, 0x08, 0xe6, 0x75,
|
||||
0xa6, 0x6c, 0x97, 0xab, 0x42, 0x99, 0xb2, 0x8a, 0x01, 0x66, 0x22, 0x53, 0x76, 0x60, 0x78, 0xc9,
|
||||
0x6c, 0x91, 0x7a, 0x9c, 0xb8, 0x26, 0x1b, 0x15, 0xc2, 0x1c, 0x25, 0x2b, 0xfd, 0x20, 0xee, 0x3b,
|
||||
0xad, 0x19, 0x12, 0xd4, 0xeb, 0xbe, 0x08, 0x28, 0x49, 0x5d, 0x0d, 0x62, 0xf5, 0x89, 0x7f, 0xa7,
|
||||
0x62, 0xbb, 0x2c, 0x16, 0xf3, 0xb2, 0x73, 0xe2, 0xdf, 0x2d, 0x77, 0x0b, 0x12, 0x27, 0xfe, 0x5e,
|
||||
0x07, 0xd0, 0xff, 0xd5, 0x20, 0x7a, 0xd3, 0xe6, 0x64, 0x13, 0xab, 0x32, 0xdc, 0xf0, 0x85, 0xb4,
|
||||
0x59, 0x55, 0x8c, 0x9b, 0x0b, 0xf9, 0x74, 0x36, 0x43, 0x66, 0x47, 0xde, 0x3a, 0x89, 0xd3, 0x2c,
|
||||
0x3e, 0xcc, 0x98, 0x73, 0x33, 0x64, 0xf5, 0x4d, 0x85, 0x7a, 0x37, 0x43, 0xa4, 0x4b, 0x67, 0x96,
|
||||
0x6c, 0xc6, 0x9b, 0x91, 0x44, 0xaf, 0xd1, 0xa3, 0xd2, 0x91, 0x43, 0xaf, 0x07, 0xd2, 0xfa, 0x9e,
|
||||
0x50, 0xff, 0x6c, 0x3e, 0x00, 0x67, 0xee, 0x0e, 0xbe, 0x46, 0x4d, 0xbc, 0xb9, 0xbb, 0x13, 0x07,
|
||||
0x61, 0xd1, 0x9e, 0x5e, 0x99, 0xc2, 0xf5, 0xe8, 0x5a, 0xeb, 0x0d, 0x64, 0x0e, 0xb1, 0xf5, 0x40,
|
||||
0x1a, 0x54, 0x7f, 0x1c, 0xbd, 0xd1, 0x55, 0x85, 0xd5, 0x68, 0xa3, 0x37, 0x14, 0x5a, 0x90, 0x36,
|
||||
0xc3, 0x1d, 0x74, 0xb2, 0x7f, 0x2f, 0xad, 0x04, 0x2f, 0xcf, 0xc6, 0x47, 0xfc, 0xb4, 0x7d, 0xdb,
|
||||
0xc2, 0x9e, 0x26, 0x00, 0x18, 0x19, 0x04, 0x91, 0xec, 0xbb, 0xc9, 0x8e, 0x94, 0x7e, 0x2b, 0xa3,
|
||||
0x22, 0xa4, 0x0c, 0xa2, 0x47, 0xca, 0x26, 0xf5, 0x24, 0xd9, 0xd6, 0x4a, 0xbf, 0x42, 0xb2, 0xec,
|
||||
0x2e, 0x6a, 0xf7, 0x35, 0x92, 0x95, 0x7e, 0x50, 0x6f, 0xc0, 0x76, 0xd3, 0x8c, 0x3d, 0x7a, 0xfe,
|
||||
0x3c, 0xe3, 0xf1, 0x04, 0x6d, 0xc0, 0x6a, 0xcb, 0x08, 0x4c, 0xc4, 0x06, 0x0c, 0x21, 0x7a, 0x11,
|
||||
0xa9, 0x0d, 0x75, 0xef, 0x6c, 0x23, 0x5f, 0xe9, 0xba, 0x19, 0x66, 0x62, 0x11, 0x71, 0x60, 0x7a,
|
||||
0xf3, 0x52, 0x1b, 0x9f, 0x14, 0x4d, 0xf0, 0x8b, 0x5d, 0x2f, 0x69, 0x21, 0x36, 0x2f, 0x36, 0xa1,
|
||||
0x93, 0xf0, 0xfa, 0xf7, 0x1d, 0x7e, 0x9a, 0x37, 0x41, 0x1d, 0x15, 0x6d, 0x6d, 0x44, 0x12, 0x8e,
|
||||
0x19, 0x08, 0xfc, 0x51, 0xf4, 0xdf, 0x4d, 0xe0, 0x92, 0x17, 0xc3, 0x25, 0x87, 0x43, 0x69, 0x5c,
|
||||
0xd7, 0x5d, 0x20, 0xed, 0xfa, 0xd2, 0xb5, 0xfe, 0x75, 0x5c, 0xc4, 0x09, 0x7b, 0x52, 0xc5, 0x53,
|
||||
0x86, 0x2e, 0x5d, 0x1b, 0x17, 0x6d, 0x25, 0x2e, 0x5d, 0xbb, 0x94, 0x3e, 0x00, 0x7f, 0x18, 0x9f,
|
||||
0xa4, 0x53, 0x35, 0x67, 0xc9, 0x21, 0x58, 0xa1, 0x03, 0x70, 0xcd, 0x8c, 0x0c, 0x88, 0x38, 0x00,
|
||||
0x27, 0x61, 0xd0, 0xfc, 0xd3, 0x20, 0xba, 0xa8, 0x99, 0xbb, 0xed, 0xb9, 0xc4, 0x5e, 0xfe, 0x9c,
|
||||
0x3f, 0x4b, 0xc5, 0x51, 0xbd, 0x11, 0xae, 0x86, 0xef, 0x53, 0x21, 0xdd, 0xbc, 0x2a, 0xca, 0x07,
|
||||
0x0b, 0xfb, 0xe9, 0x2c, 0xac, 0x3d, 0xaf, 0x90, 0x53, 0xfd, 0x6e, 0xc9, 0x67, 0xd2, 0x03, 0x65,
|
||||
0x61, 0xea, 0x58, 0x03, 0x73, 0x44, 0x16, 0xe6, 0xe3, 0x8d, 0xa5, 0x9c, 0x52, 0x6f, 0x16, 0xb0,
|
||||
0x1b, 0x61, 0x11, 0xad, 0x65, 0xec, 0xe6, 0x42, 0x3e, 0xfa, 0x36, 0x5b, 0x15, 0x24, 0xe3, 0x39,
|
||||
0xbe, 0x29, 0xd7, 0x51, 0x6a, 0x23, 0x71, 0x9b, 0xdd, 0x81, 0xf4, 0x24, 0xd7, 0x9a, 0xe4, 0x26,
|
||||
0x7f, 0x2b, 0xcb, 0xd0, 0x24, 0xa7, 0x5c, 0x15, 0x40, 0x4c, 0x72, 0x4e, 0x10, 0x74, 0xf6, 0xa3,
|
||||
0x57, 0xea, 0xc6, 0x7d, 0x5c, 0xb2, 0x93, 0x94, 0xe1, 0x3b, 0x4e, 0xc3, 0x42, 0xcc, 0x16, 0x36,
|
||||
0xa1, 0xc7, 0xe1, 0x93, 0xbc, 0x2a, 0xb2, 0xb8, 0x3a, 0x82, 0x3b, 0x36, 0xbb, 0xce, 0xad, 0x11,
|
||||
0xdf, 0xb2, 0x5d, 0xe9, 0xa1, 0xf4, 0xc6, 0xbd, 0xb5, 0xa9, 0x09, 0xe9, 0xaa, 0xdb, 0xb5, 0x33,
|
||||
0x29, 0x2d, 0xf7, 0x72, 0x7a, 0xf2, 0xbf, 0x9d, 0xf1, 0xe4, 0x18, 0x66, 0x51, 0xbb, 0xd6, 0x8d,
|
||||
0x05, 0x4f, 0xa3, 0x97, 0x7c, 0x88, 0x9e, 0x47, 0x1b, 0xc3, 0x3e, 0x2b, 0xb2, 0x38, 0xc1, 0xb7,
|
||||
0xbf, 0xd2, 0x07, 0x6c, 0xc4, 0x3c, 0x8a, 0x19, 0x54, 0x5c, 0xb8, 0x55, 0x76, 0x15, 0x17, 0x5d,
|
||||
0x2a, 0x5f, 0xf2, 0x21, 0x7a, 0x25, 0x69, 0x0c, 0xe3, 0x22, 0x4b, 0x05, 0xea, 0x1b, 0xd2, 0xa3,
|
||||
0xb1, 0x10, 0x7d, 0xc3, 0x26, 0x50, 0xc8, 0x07, 0xac, 0x9c, 0x32, 0x67, 0xc8, 0xc6, 0xe2, 0x0d,
|
||||
0xd9, 0x12, 0x10, 0xf2, 0x61, 0xf4, 0x3f, 0xb2, 0xee, 0xbc, 0x38, 0x1b, 0x5e, 0x70, 0x55, 0x8b,
|
||||
0x17, 0x67, 0x2a, 0xe0, 0x45, 0x1a, 0x40, 0x45, 0x7c, 0x1c, 0x57, 0xc2, 0x5d, 0xc4, 0xc6, 0xe2,
|
||||
0x2d, 0x62, 0x4b, 0xe8, 0x65, 0x4e, 0x16, 0x71, 0x2e, 0xd0, 0x32, 0x07, 0x05, 0x30, 0xae, 0xc2,
|
||||
0x2e, 0x90, 0x76, 0x3d, 0xbc, 0x64, 0xab, 0x30, 0xb1, 0x9b, 0xb2, 0x6c, 0x52, 0xa1, 0xe1, 0x05,
|
||||
0xcf, 0xbd, 0xb5, 0x12, 0xc3, 0xab, 0x4b, 0xa1, 0xae, 0x04, 0x67, 0x94, 0xae, 0xda, 0xa1, 0xe3,
|
||||
0xc9, 0x4b, 0x3e, 0x44, 0xa7, 0x3d, 0x8d, 0xc1, 0xb8, 0x0d, 0x71, 0x95, 0xc7, 0x71, 0x19, 0x72,
|
||||
0xb5, 0x0f, 0x03, 0x85, 0xdf, 0x0c, 0xa2, 0xb7, 0x94, 0xc4, 0x03, 0x7e, 0xc2, 0x0e, 0xf8, 0x9d,
|
||||
0x17, 0x69, 0x25, 0xd2, 0x7c, 0x0a, 0x4b, 0xd3, 0x4d, 0x22, 0x92, 0x0b, 0x56, 0xf2, 0xb7, 0x16,
|
||||
0x73, 0xd2, 0x2b, 0x24, 0x2a, 0xcb, 0x43, 0x76, 0xea, 0x5c, 0x21, 0x71, 0x44, 0xc5, 0x11, 0x2b,
|
||||
0xa4, 0x8f, 0xd7, 0x9b, 0x6d, 0x25, 0x0e, 0x6f, 0xd4, 0x1e, 0xf0, 0x36, 0x59, 0xa1, 0xa2, 0x61,
|
||||
0x90, 0xd8, 0x76, 0x78, 0x1d, 0xf4, 0x5e, 0x40, 0xe9, 0xeb, 0x4e, 0xba, 0x42, 0xc4, 0xe9, 0x76,
|
||||
0xd4, 0x6b, 0x01, 0xa4, 0x43, 0x4a, 0x5f, 0xe9, 0x51, 0x52, 0xdd, 0x1b, 0xbd, 0x6b, 0x01, 0xa4,
|
||||
0xb1, 0x71, 0x37, 0xab, 0x75, 0x3b, 0x4e, 0x8e, 0xa7, 0x25, 0x9f, 0xe7, 0x93, 0x6d, 0x9e, 0xf1,
|
||||
0x12, 0x6d, 0xdc, 0xad, 0x52, 0x23, 0x94, 0xd8, 0xb8, 0xf7, 0xb8, 0xe8, 0xc4, 0xc0, 0x2c, 0xc5,
|
||||
0x56, 0x96, 0x4e, 0xf1, 0xee, 0xc7, 0x0a, 0xd4, 0x00, 0x44, 0x62, 0xe0, 0x04, 0x1d, 0x9d, 0x48,
|
||||
0xee, 0x8e, 0x44, 0x9a, 0xc4, 0x99, 0xd4, 0xdb, 0xa0, 0xc3, 0x58, 0x60, 0x6f, 0x27, 0x72, 0x38,
|
||||
0x38, 0xea, 0x79, 0x30, 0x2f, 0xf3, 0xbd, 0x5c, 0x70, 0xb2, 0x9e, 0x2d, 0xd0, 0x5b, 0x4f, 0x03,
|
||||
0xd4, 0xd9, 0x44, 0x63, 0x3e, 0x60, 0x2f, 0xea, 0xd2, 0xd4, 0xff, 0x0c, 0x1d, 0x53, 0x4e, 0xfd,
|
||||
0xfb, 0x08, 0xec, 0x44, 0x36, 0xe1, 0xe2, 0x50, 0x65, 0x40, 0x44, 0x76, 0x18, 0x8f, 0xb7, 0xdd,
|
||||
0x4d, 0x56, 0xfa, 0x41, 0xb7, 0xce, 0x58, 0x9c, 0x65, 0xcc, 0xa7, 0xd3, 0x00, 0x21, 0x3a, 0x2d,
|
||||
0xa8, 0x4f, 0xf4, 0xad, 0xfa, 0x1c, 0xb1, 0xe4, 0xb8, 0xf3, 0x86, 0x82, 0x5d, 0x50, 0x89, 0x10,
|
||||
0x27, 0xfa, 0x04, 0xea, 0x6e, 0xa2, 0xbd, 0x84, 0xe7, 0xbe, 0x26, 0xaa, 0xed, 0x21, 0x4d, 0x04,
|
||||
0x9c, 0xde, 0xdd, 0x29, 0x2b, 0xf4, 0x4c, 0xd9, 0x4c, 0xab, 0x44, 0x04, 0x13, 0x22, 0x76, 0x77,
|
||||
0x24, 0xac, 0x8f, 0x61, 0xb1, 0xe6, 0x83, 0xee, 0x3b, 0x7b, 0x9d, 0x28, 0x0f, 0xe8, 0x77, 0xf6,
|
||||
0x28, 0x96, 0xae, 0xa4, 0xec, 0x23, 0x3d, 0x51, 0xec, 0x7e, 0xb2, 0x16, 0x06, 0xeb, 0xfb, 0x7a,
|
||||
0x4b, 0x73, 0x3b, 0x63, 0x71, 0x29, 0x55, 0xd7, 0x3d, 0x81, 0x34, 0x46, 0x9c, 0xf9, 0x79, 0x70,
|
||||
0x34, 0x85, 0x59, 0xca, 0xdb, 0x3c, 0x17, 0x2c, 0x17, 0xae, 0x29, 0xcc, 0x0e, 0x06, 0xa0, 0x6f,
|
||||
0x0a, 0xa3, 0x1c, 0x50, 0xbf, 0x6d, 0x0e, 0x25, 0x98, 0x78, 0x18, 0xcf, 0x98, 0xab, 0xdf, 0xca,
|
||||
0x03, 0x07, 0x69, 0xf7, 0xf5, 0x5b, 0xc4, 0xa1, 0x21, 0xbf, 0x37, 0x8b, 0xa7, 0x4a, 0xc5, 0xe1,
|
||||
0xdd, 0xd8, 0x3b, 0x32, 0x2b, 0xfd, 0x20, 0xd2, 0x79, 0x9a, 0x4e, 0x18, 0xf7, 0xe8, 0x34, 0xf6,
|
||||
0x10, 0x1d, 0x0c, 0xa2, 0xcc, 0xa9, 0xae, 0xad, 0xdc, 0x8f, 0x6c, 0xe5, 0x13, 0xd8, 0x85, 0x8d,
|
||||
0x88, 0x87, 0x82, 0x38, 0x5f, 0xe6, 0x44, 0xf0, 0x68, 0x7c, 0xb4, 0x27, 0x74, 0xbe, 0xf1, 0xa1,
|
||||
0x0e, 0xe0, 0x42, 0xc6, 0x87, 0x0b, 0x06, 0xcd, 0x1f, 0xc2, 0xf8, 0xd8, 0x89, 0x45, 0x5c, 0xef,
|
||||
0xa3, 0x9f, 0xa6, 0xec, 0x14, 0xb6, 0x71, 0x8e, 0xfa, 0xb6, 0xd4, 0xa8, 0xc6, 0xf0, 0x9e, 0x6e,
|
||||
0x23, 0x98, 0xf7, 0x68, 0x43, 0x76, 0xde, 0xab, 0x8d, 0xd2, 0xf4, 0x8d, 0x60, 0xde, 0xa3, 0x0d,
|
||||
0xef, 0xc1, 0xf7, 0x6a, 0xa3, 0x97, 0xe1, 0x37, 0x82, 0x79, 0xd0, 0xfe, 0xf9, 0x20, 0x3a, 0xdf,
|
||||
0x11, 0xaf, 0x73, 0xa0, 0x44, 0xa4, 0x27, 0xcc, 0x95, 0xca, 0xd9, 0xf1, 0x14, 0xea, 0x4b, 0xe5,
|
||||
0x68, 0x17, 0x28, 0xc5, 0xaf, 0x07, 0xd1, 0x9b, 0xae, 0x52, 0x3c, 0xe6, 0x55, 0xda, 0xdc, 0x68,
|
||||
0xde, 0x0c, 0x08, 0xda, 0xc2, 0xbe, 0x0d, 0x8b, 0xcf, 0x49, 0xdf, 0x07, 0x59, 0xa8, 0x7e, 0x19,
|
||||
0x70, 0xcd, 0x13, 0xaf, 0xfb, 0x4e, 0xe0, 0x7a, 0x20, 0xad, 0x2f, 0x48, 0x2c, 0xc6, 0xbc, 0x99,
|
||||
0xf1, 0xb5, 0xaa, 0xf3, 0x72, 0x66, 0x33, 0xdc, 0x01, 0xe4, 0x7f, 0xd9, 0xe6, 0xf4, 0x58, 0x1f,
|
||||
0x06, 0xc1, 0x8d, 0x90, 0x88, 0x68, 0x20, 0xdc, 0x5c, 0xc8, 0x07, 0x0a, 0xf2, 0xd7, 0x41, 0x74,
|
||||
0xc9, 0x59, 0x10, 0xfb, 0x72, 0xf0, 0x1b, 0x21, 0xb1, 0xdd, 0x97, 0x84, 0xdf, 0xfc, 0x22, 0xae,
|
||||
0x50, 0xba, 0xdf, 0xb6, 0x5b, 0xeb, 0xd6, 0xa3, 0x79, 0x61, 0xfb, 0x51, 0x39, 0x61, 0x25, 0x8c,
|
||||
0x58, 0x5f, 0xa7, 0xd3, 0x30, 0x1e, 0xb7, 0xef, 0x2d, 0xe8, 0x05, 0xc5, 0xf9, 0xfd, 0x20, 0x5a,
|
||||
0xb2, 0x60, 0xf8, 0x9a, 0xc4, 0x28, 0x8f, 0x2f, 0xb2, 0x41, 0xe3, 0x02, 0xbd, 0xbf, 0xa8, 0x1b,
|
||||
0x35, 0x92, 0x0d, 0xb8, 0xf9, 0x6e, 0xe8, 0x66, 0x60, 0x60, 0xeb, 0x4b, 0xa2, 0x5b, 0x8b, 0x39,
|
||||
0x41, 0x59, 0xfe, 0x36, 0x88, 0xae, 0x58, 0xac, 0x3e, 0xc4, 0x46, 0xe7, 0x21, 0xdf, 0xf2, 0xc4,
|
||||
0xa7, 0x9c, 0x54, 0xe1, 0xbe, 0xfd, 0xc5, 0x9c, 0xf5, 0x3d, 0xb0, 0xe5, 0xb2, 0x9b, 0x66, 0x82,
|
||||
0x95, 0xdd, 0xef, 0x45, 0xed, 0xb8, 0x92, 0x1a, 0xd1, 0xdf, 0x8b, 0x7a, 0x70, 0xe3, 0x7b, 0x51,
|
||||
0x87, 0xb2, 0xf3, 0x7b, 0x51, 0x67, 0x34, 0xef, 0xf7, 0xa2, 0x7e, 0x0f, 0x6a, 0xf1, 0x69, 0x8b,
|
||||
0x20, 0xcf, 0x84, 0x83, 0x22, 0xda, 0x47, 0xc4, 0x37, 0x16, 0x71, 0x21, 0x96, 0x5f, 0xc9, 0x35,
|
||||
0xaf, 0x2c, 0x05, 0x3c, 0x53, 0xeb, 0xb5, 0xa5, 0x8d, 0x60, 0x1e, 0xb4, 0x3f, 0x81, 0x7d, 0x8f,
|
||||
0x5a, 0x6c, 0x78, 0xd9, 0x7c, 0x2b, 0xbc, 0xea, 0x5b, 0x3c, 0xea, 0x08, 0x66, 0xcb, 0xaf, 0x85,
|
||||
0xc1, 0x44, 0x75, 0x6b, 0x02, 0x1a, 0x7d, 0xd4, 0x17, 0x08, 0x35, 0xf9, 0x46, 0x30, 0x4f, 0x2c,
|
||||
0x72, 0x52, 0x5b, 0xb6, 0x76, 0x40, 0x30, 0xbb, 0xad, 0x37, 0xc3, 0x1d, 0xf4, 0xab, 0x0f, 0x1d,
|
||||
0xf9, 0xa6, 0x9d, 0x7b, 0x9f, 0xa0, 0xd5, 0xca, 0xeb, 0x81, 0xb4, 0x2f, 0xb9, 0x31, 0x97, 0xf7,
|
||||
0xbe, 0xe4, 0xc6, 0xb9, 0xc4, 0xdf, 0x5a, 0xcc, 0x09, 0xca, 0xf2, 0xc7, 0x41, 0x74, 0x81, 0x2c,
|
||||
0x0b, 0xf4, 0x82, 0xf7, 0x43, 0x23, 0xa3, 0xde, 0xf0, 0xc1, 0xc2, 0x7e, 0x50, 0xa8, 0xbf, 0x0c,
|
||||
0xa2, 0x8b, 0x9e, 0x42, 0xc9, 0xee, 0xb1, 0x40, 0x74, 0xbb, 0x9b, 0x7c, 0xb8, 0xb8, 0x23, 0xb5,
|
||||
0xd8, 0x9b, 0xf8, 0xb8, 0xfb, 0xb1, 0xa8, 0x27, 0xf6, 0x98, 0xfe, 0x58, 0xb4, 0xdf, 0x0b, 0x1f,
|
||||
0xfe, 0xd4, 0x29, 0x09, 0xec, 0x8b, 0x5c, 0x87, 0x3f, 0x4d, 0xc6, 0x82, 0xf6, 0x43, 0xcb, 0xbd,
|
||||
0x9c, 0x4b, 0xe4, 0xce, 0x8b, 0x22, 0xce, 0x27, 0xb4, 0x88, 0xb4, 0xf7, 0x8b, 0x28, 0x0e, 0x1f,
|
||||
0x9a, 0xd5, 0xd6, 0x7d, 0xde, 0x6e, 0xf2, 0xae, 0x51, 0xfe, 0x0a, 0xf1, 0x1e, 0x9a, 0x75, 0x50,
|
||||
0x42, 0x0d, 0x32, 0x5a, 0x9f, 0x1a, 0x4a, 0x64, 0xaf, 0x87, 0xa0, 0x68, 0xfb, 0xa0, 0xd4, 0xd4,
|
||||
0x59, 0xfc, 0x9a, 0x2f, 0x4a, 0xe7, 0x3c, 0x7e, 0x3d, 0x90, 0x26, 0x64, 0xc7, 0x4c, 0xdc, 0x63,
|
||||
0xf1, 0x84, 0x95, 0x5e, 0x59, 0x45, 0x05, 0xc9, 0x9a, 0xb4, 0x4b, 0x76, 0x9b, 0x67, 0xf3, 0x59,
|
||||
0x0e, 0x8d, 0x49, 0xca, 0x9a, 0x54, 0xbf, 0x2c, 0xa2, 0xf1, 0x71, 0xa1, 0x96, 0x6d, 0x92, 0xcb,
|
||||
0xeb, 0xfe, 0x30, 0x56, 0x4e, 0xb9, 0x1a, 0xc4, 0xd2, 0xf5, 0x84, 0x6e, 0xd4, 0x53, 0x4f, 0xd4,
|
||||
0x93, 0xd6, 0x03, 0x69, 0x7c, 0x6e, 0x67, 0xc8, 0xaa, 0xfe, 0xb4, 0xd1, 0x13, 0xab, 0xd3, 0xa5,
|
||||
0x36, 0xc3, 0x1d, 0xf0, 0x29, 0x29, 0xf4, 0xaa, 0x7a, 0x57, 0xb4, 0x9b, 0x66, 0xd9, 0x70, 0xd5,
|
||||
0xd3, 0x4d, 0x5a, 0xc8, 0x7b, 0x4a, 0xea, 0x80, 0x89, 0x9e, 0xdc, 0x9e, 0x2a, 0xe6, 0xc3, 0xbe,
|
||||
0x38, 0x0d, 0x15, 0xd4, 0x93, 0x4d, 0x1a, 0x9d, 0xb6, 0x19, 0x8f, 0x5a, 0xd5, 0x76, 0xe4, 0x7f,
|
||||
0x70, 0x9d, 0x0a, 0x6f, 0x04, 0xf3, 0xe8, 0x22, 0xbb, 0xa1, 0x9a, 0x95, 0xe5, 0x32, 0x15, 0xc2,
|
||||
0x5a, 0x49, 0xae, 0xf4, 0x50, 0xe8, 0xc4, 0x52, 0x0e, 0xa3, 0x67, 0xe9, 0x64, 0xca, 0x84, 0xf3,
|
||||
0x06, 0xc9, 0x04, 0xbc, 0x37, 0x48, 0x08, 0x44, 0x4d, 0x27, 0x7f, 0x1f, 0x33, 0x71, 0x10, 0x97,
|
||||
0x53, 0x26, 0xf6, 0x26, 0xae, 0xa6, 0x03, 0x67, 0x83, 0xf2, 0x35, 0x9d, 0x93, 0x46, 0xb3, 0x81,
|
||||
0x92, 0x85, 0x2f, 0x6e, 0xaf, 0xfb, 0xc2, 0xa0, 0xcf, 0x6e, 0x57, 0x83, 0x58, 0xb4, 0xa2, 0x68,
|
||||
0xc1, 0x74, 0x96, 0x0a, 0xd7, 0x8a, 0x62, 0xc4, 0xa8, 0x11, 0xdf, 0x8a, 0xd2, 0x45, 0xa9, 0xea,
|
||||
0xd5, 0x39, 0xc2, 0xde, 0xc4, 0x5f, 0x3d, 0xc9, 0x84, 0x55, 0x4f, 0xb1, 0x9d, 0x0b, 0xcf, 0x5c,
|
||||
0x75, 0x19, 0x71, 0x04, 0x5b, 0x65, 0x47, 0xdf, 0x6e, 0x3e, 0x42, 0xc3, 0xa0, 0x6f, 0xd6, 0xa1,
|
||||
0x1c, 0x8c, 0xcf, 0x2b, 0x14, 0xd7, 0xde, 0xc9, 0x16, 0x05, 0x8b, 0xcb, 0x38, 0x4f, 0x9c, 0x5b,
|
||||
0xd3, 0x26, 0x60, 0x87, 0xf4, 0x6d, 0x4d, 0x49, 0x0f, 0x74, 0x9d, 0x6e, 0x7f, 0x3e, 0xe6, 0x18,
|
||||
0x0a, 0xea, 0x3b, 0x2d, 0xfb, 0xeb, 0xb1, 0x6b, 0x01, 0x24, 0xbe, 0x4e, 0x6f, 0x01, 0x75, 0x28,
|
||||
0x2f, 0x45, 0xdf, 0xf5, 0x84, 0xb2, 0x51, 0xdf, 0x36, 0x98, 0x76, 0x41, 0x9d, 0x5a, 0x25, 0xb8,
|
||||
0x4c, 0x7c, 0xc4, 0xce, 0x5c, 0x9d, 0x5a, 0xe7, 0xa7, 0x0d, 0xe2, 0xeb, 0xd4, 0x5d, 0x14, 0xe5,
|
||||
0x99, 0xe6, 0x3e, 0xe8, 0xaa, 0xc7, 0xdf, 0xdc, 0xfa, 0x2c, 0xf7, 0x72, 0x68, 0xe4, 0xec, 0xa4,
|
||||
0x27, 0xd6, 0x1d, 0x86, 0xa3, 0xa0, 0x3b, 0xe9, 0x89, 0xfb, 0x0a, 0x63, 0x35, 0x88, 0xc5, 0x57,
|
||||
0xf5, 0xb1, 0x60, 0x2f, 0xda, 0x3b, 0x74, 0x47, 0x71, 0x1b, 0x7b, 0xe7, 0x12, 0x7d, 0xa5, 0x1f,
|
||||
0xd4, 0xef, 0x5b, 0x3e, 0x2e, 0x79, 0xc2, 0xaa, 0x6a, 0xbb, 0xee, 0xb6, 0x19, 0x7a, 0xdf, 0x12,
|
||||
0x6c, 0x23, 0x69, 0x24, 0xde, 0xb7, 0xec, 0x40, 0x10, 0xfb, 0x5e, 0xf4, 0xf2, 0x7d, 0x3e, 0x1d,
|
||||
0xb3, 0x7c, 0x32, 0x7c, 0xcb, 0x7e, 0xc3, 0x91, 0x4f, 0x47, 0xf5, 0xcf, 0x2a, 0xde, 0x12, 0x65,
|
||||
0xd6, 0xaf, 0xa3, 0xed, 0xb0, 0xc3, 0xf9, 0xf4, 0xa0, 0x64, 0x0c, 0xbd, 0x8e, 0xd6, 0xfc, 0x3e,
|
||||
0xaa, 0x0d, 0xc4, 0xeb, 0x68, 0x16, 0xa0, 0x57, 0x49, 0x15, 0xaf, 0x4e, 0x44, 0xf1, 0xeb, 0x5e,
|
||||
0xda, 0xa7, 0xb1, 0x12, 0xab, 0x64, 0x97, 0xd2, 0x8d, 0xd7, 0xd8, 0x9a, 0x37, 0x9e, 0xc7, 0xf3,
|
||||
0xd9, 0x2c, 0x2e, 0xcf, 0x50, 0xe3, 0x49, 0x5f, 0x13, 0x20, 0x1a, 0xcf, 0x09, 0xea, 0xd7, 0xca,
|
||||
0xa4, 0xce, 0x59, 0x25, 0xd8, 0x0c, 0xbd, 0x56, 0x06, 0x8e, 0x8d, 0x89, 0x78, 0xad, 0x0c, 0x21,
|
||||
0x3a, 0x55, 0x6b, 0x0c, 0xf2, 0x75, 0xb3, 0xfb, 0x3c, 0x89, 0xb3, 0x4a, 0xf0, 0x12, 0x5f, 0xd8,
|
||||
0x49, 0x67, 0x0c, 0x11, 0xa9, 0x1a, 0x09, 0xa3, 0x06, 0x7e, 0x9c, 0xe6, 0x53, 0x67, 0x03, 0xd7,
|
||||
0x06, 0x6f, 0x03, 0x03, 0xa0, 0x27, 0x5d, 0xf9, 0x64, 0xe4, 0x5f, 0x21, 0x81, 0x2f, 0xcb, 0x9c,
|
||||
0x4f, 0xd6, 0x24, 0x88, 0x49, 0xd7, 0x4d, 0x22, 0xa9, 0x47, 0x05, 0xcb, 0xd9, 0xa4, 0x7d, 0x25,
|
||||
0xcc, 0x25, 0x65, 0x11, 0x5e, 0x29, 0x4c, 0xea, 0x59, 0xe8, 0x01, 0x13, 0x65, 0x9a, 0x54, 0x63,
|
||||
0x26, 0x1e, 0xc7, 0x65, 0x3c, 0x63, 0x82, 0x95, 0x15, 0x9a, 0x85, 0x00, 0x19, 0x59, 0x0c, 0x31,
|
||||
0x0b, 0x51, 0x2c, 0x08, 0x7e, 0x27, 0x7a, 0xbd, 0x9e, 0x9e, 0x58, 0x0e, 0x7f, 0x6b, 0xf1, 0x4e,
|
||||
0xf3, 0x67, 0x48, 0x87, 0xe7, 0x54, 0x8c, 0xb1, 0x28, 0x59, 0x3c, 0x6b, 0x63, 0xbf, 0xa6, 0x7e,
|
||||
0x6f, 0xc0, 0xcd, 0xc1, 0xed, 0xb7, 0xff, 0xf9, 0xd9, 0xd2, 0xe0, 0xd3, 0xcf, 0x96, 0x06, 0xff,
|
||||
0xfe, 0x6c, 0x69, 0xf0, 0x87, 0xcf, 0x97, 0x5e, 0xfa, 0xf4, 0xf3, 0xa5, 0x97, 0xfe, 0xf5, 0xf9,
|
||||
0xd2, 0x4b, 0x1f, 0xbf, 0x0c, 0x7f, 0x0e, 0xf5, 0xf0, 0xbf, 0x9a, 0x3f, 0x6a, 0x7a, 0xf3, 0x3f,
|
||||
0x01, 0x00, 0x00, 0xff, 0xff, 0x89, 0xe7, 0x9b, 0xac, 0x32, 0x55, 0x00, 0x00,
|
||||
// 3839 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0x5b, 0x6f, 0xdd, 0xc6,
|
||||
0xb5, 0xc7, 0xb3, 0x5f, 0x4e, 0xce, 0x61, 0x4e, 0x72, 0x4e, 0x99, 0xd6, 0x4d, 0xdd, 0x44, 0x76,
|
||||
0x1c, 0xdb, 0x92, 0x2d, 0x69, 0x4b, 0xb1, 0x9c, 0x4b, 0x2f, 0x40, 0x21, 0x4b, 0x96, 0x2d, 0xc4,
|
||||
0xb7, 0x6a, 0x4b, 0x36, 0x10, 0xa0, 0x40, 0x29, 0xee, 0xf1, 0x16, 0x2b, 0x6e, 0x0e, 0x43, 0xce,
|
||||
0x96, 0xbc, 0x5b, 0xb4, 0x68, 0xd1, 0xa2, 0x45, 0x8b, 0x16, 0x2d, 0x7a, 0x79, 0xea, 0x5b, 0x1f,
|
||||
0xfb, 0xdc, 0x0f, 0xd1, 0xc7, 0x3c, 0xf6, 0xb1, 0x48, 0xbe, 0x48, 0x41, 0xce, 0xe2, 0x5c, 0x16,
|
||||
0x67, 0x0d, 0xb9, 0xf3, 0x64, 0x63, 0xaf, 0xdf, 0x5a, 0xff, 0x19, 0xce, 0x6d, 0xcd, 0x0c, 0xa9,
|
||||
0xe0, 0x52, 0x7e, 0xbc, 0x91, 0x17, 0x5c, 0xf0, 0x72, 0xa3, 0x64, 0xc5, 0x59, 0x12, 0xb3, 0xe6,
|
||||
0xdf, 0x61, 0xfd, 0x73, 0xf8, 0x72, 0x94, 0xcd, 0xc5, 0x3c, 0x67, 0x17, 0xdf, 0xd0, 0x64, 0xcc,
|
||||
0xa7, 0xd3, 0x28, 0x1b, 0x97, 0x12, 0xb9, 0x78, 0x41, 0x5b, 0xd8, 0x19, 0xcb, 0x04, 0xfc, 0x7e,
|
||||
0xeb, 0x1f, 0x7f, 0x1f, 0x04, 0xaf, 0xed, 0xa4, 0x09, 0xcb, 0xc4, 0x0e, 0x78, 0x84, 0x1f, 0x07,
|
||||
0xaf, 0x6e, 0xe7, 0xf9, 0x3d, 0x26, 0x9e, 0xb2, 0xa2, 0x4c, 0x78, 0x16, 0xbe, 0x33, 0x04, 0x81,
|
||||
0xe1, 0x41, 0x1e, 0x0f, 0xb7, 0xf3, 0x7c, 0xa8, 0x8d, 0xc3, 0x03, 0xf6, 0xc9, 0x8c, 0x95, 0xe2,
|
||||
0xe2, 0x55, 0x3f, 0x54, 0xe6, 0x3c, 0x2b, 0x59, 0xf8, 0x3c, 0xf8, 0xd2, 0x76, 0x9e, 0x8f, 0x98,
|
||||
0xd8, 0x65, 0x55, 0x05, 0x46, 0x22, 0x12, 0x2c, 0x5c, 0x6e, 0xb9, 0xda, 0x80, 0xd2, 0x58, 0xe9,
|
||||
0x06, 0x41, 0xe7, 0x30, 0x78, 0xa5, 0xd2, 0x39, 0x99, 0x89, 0x31, 0x3f, 0xcf, 0xc2, 0xb7, 0xdb,
|
||||
0x8e, 0x60, 0x52, 0xb1, 0xaf, 0xf8, 0x10, 0x88, 0xfa, 0x2c, 0xf8, 0xdf, 0x67, 0x51, 0x9a, 0x32,
|
||||
0xb1, 0x53, 0xb0, 0xaa, 0xe0, 0xb6, 0x8f, 0x34, 0x0d, 0xa5, 0x4d, 0xc5, 0x7d, 0xc7, 0xcb, 0x40,
|
||||
0xe0, 0x8f, 0x83, 0x57, 0xa5, 0xe5, 0x80, 0xc5, 0xfc, 0x8c, 0x15, 0xa1, 0xd3, 0x0b, 0x8c, 0xc4,
|
||||
0x23, 0x6f, 0x41, 0x38, 0xf6, 0x0e, 0xcf, 0xce, 0x58, 0x21, 0xdc, 0xb1, 0xc1, 0xe8, 0x8f, 0xad,
|
||||
0x21, 0x88, 0x9d, 0x06, 0xaf, 0x9b, 0x0f, 0x64, 0xc4, 0xca, 0xba, 0xc3, 0xdc, 0xa0, 0xeb, 0x0c,
|
||||
0x88, 0xd2, 0xb9, 0xd9, 0x07, 0x05, 0xb5, 0x24, 0x08, 0x41, 0x2d, 0xe5, 0xa5, 0x12, 0x5b, 0x71,
|
||||
0x46, 0x30, 0x08, 0xa5, 0x75, 0xa3, 0x07, 0x09, 0x52, 0xdf, 0x0f, 0xfe, 0xef, 0x19, 0x2f, 0x4e,
|
||||
0xcb, 0x3c, 0x8a, 0x19, 0x34, 0xf6, 0x35, 0xdb, 0xbb, 0xb1, 0xe2, 0xf6, 0xbe, 0xde, 0x85, 0x81,
|
||||
0xc2, 0x69, 0x10, 0x2a, 0xe3, 0xe3, 0xe3, 0x1f, 0xb0, 0x58, 0x6c, 0x8f, 0xc7, 0xf8, 0xc9, 0x29,
|
||||
0x6f, 0x49, 0x0c, 0xb7, 0xc7, 0x63, 0xea, 0xc9, 0xb9, 0x51, 0x10, 0x3b, 0x0f, 0x2e, 0x20, 0xb1,
|
||||
0x07, 0x49, 0x59, 0x0b, 0xae, 0xfb, 0xa3, 0x00, 0xa6, 0x44, 0x87, 0x7d, 0x71, 0x10, 0xfe, 0xe9,
|
||||
0x20, 0xf8, 0x9a, 0x43, 0xf9, 0x80, 0x4d, 0xf9, 0x19, 0x0b, 0x37, 0xbb, 0xa3, 0x49, 0x52, 0xe9,
|
||||
0xbf, 0xbb, 0x80, 0x87, 0xa3, 0x29, 0x47, 0x2c, 0x65, 0xb1, 0x20, 0x9b, 0x52, 0x9a, 0x3b, 0x9b,
|
||||
0x52, 0x61, 0xc6, 0x28, 0x68, 0x8c, 0xf7, 0x98, 0xd8, 0x99, 0x15, 0x05, 0xcb, 0x04, 0xd9, 0x96,
|
||||
0x1a, 0xe9, 0x6c, 0x4b, 0x0b, 0x75, 0xd4, 0xe7, 0x1e, 0x13, 0xdb, 0x69, 0x4a, 0xd6, 0x47, 0x9a,
|
||||
0x3b, 0xeb, 0xa3, 0x30, 0x50, 0xf8, 0x89, 0xd1, 0x66, 0x23, 0x26, 0xf6, 0xcb, 0xfb, 0xc9, 0xe4,
|
||||
0x24, 0x4d, 0x26, 0x27, 0x82, 0x8d, 0xc3, 0x0d, 0xf2, 0xa1, 0xd8, 0xa0, 0x52, 0xdd, 0xec, 0xef,
|
||||
0xe0, 0xa8, 0xe1, 0xdd, 0x17, 0x39, 0x2f, 0xe8, 0x16, 0x93, 0xe6, 0xce, 0x1a, 0x2a, 0x0c, 0x14,
|
||||
0xbe, 0x17, 0xbc, 0xb6, 0x1d, 0xc7, 0x7c, 0x96, 0xa9, 0x09, 0x17, 0x2d, 0x5f, 0xd2, 0xd8, 0x9a,
|
||||
0x71, 0xaf, 0x75, 0x50, 0x7a, 0xca, 0x05, 0x1b, 0xcc, 0x1d, 0xef, 0x38, 0xfd, 0xd0, 0xcc, 0x71,
|
||||
0xd5, 0x0f, 0xb5, 0x62, 0xef, 0xb2, 0x94, 0x91, 0xb1, 0xa5, 0xb1, 0x23, 0xb6, 0x82, 0x5a, 0xb1,
|
||||
0x61, 0xa0, 0xb8, 0x63, 0xa3, 0x61, 0x72, 0xd5, 0x0f, 0x41, 0xec, 0xdf, 0x0c, 0x82, 0xb7, 0xc0,
|
||||
0x76, 0x37, 0x8b, 0x8e, 0x53, 0xf6, 0x80, 0xc7, 0x51, 0xfa, 0x88, 0x89, 0x73, 0x5e, 0x9c, 0x8e,
|
||||
0xe6, 0x59, 0x1c, 0x6e, 0x39, 0xe3, 0xb8, 0x61, 0x25, 0x7e, 0x7b, 0x31, 0x27, 0x23, 0x3d, 0x80,
|
||||
0x8a, 0x0a, 0x9e, 0xe3, 0xf4, 0xa0, 0xa9, 0x81, 0xe0, 0x39, 0x95, 0x1e, 0xd8, 0x48, 0x2b, 0xea,
|
||||
0xc3, 0x6a, 0x76, 0x73, 0x47, 0x7d, 0x68, 0x4e, 0x67, 0x57, 0x7c, 0x88, 0x9e, 0x5d, 0x9a, 0xce,
|
||||
0xc4, 0xb3, 0xe7, 0xc9, 0xe4, 0x28, 0x1f, 0x57, 0x5d, 0xea, 0x86, 0xbb, 0xb7, 0x18, 0x08, 0x31,
|
||||
0xbb, 0x10, 0x28, 0xa8, 0xfd, 0x6e, 0x10, 0x2c, 0xd9, 0x43, 0x63, 0xaf, 0xe0, 0xd3, 0x07, 0x6c,
|
||||
0x12, 0xc5, 0x73, 0x18, 0x8b, 0xb7, 0x7d, 0x83, 0x00, 0xd3, 0xaa, 0x10, 0xef, 0x2d, 0xe8, 0x05,
|
||||
0xe5, 0xf9, 0x6e, 0x10, 0xc8, 0xb9, 0xfd, 0x71, 0xce, 0xb2, 0xf0, 0xb2, 0x15, 0x04, 0x26, 0xfd,
|
||||
0xca, 0xa2, 0x64, 0xde, 0xf6, 0x10, 0xba, 0x99, 0xe4, 0xef, 0xf5, 0xd2, 0x1f, 0x3a, 0x3d, 0x6a,
|
||||
0x13, 0xd1, 0x4c, 0x08, 0xc1, 0x05, 0x1d, 0x9d, 0xf0, 0x73, 0x77, 0x41, 0x2b, 0x8b, 0xbf, 0xa0,
|
||||
0x40, 0xe8, 0x74, 0x13, 0x0a, 0xea, 0x4a, 0x37, 0x9b, 0x62, 0xf8, 0xd2, 0x4d, 0xcc, 0x40, 0x60,
|
||||
0x1e, 0x7c, 0xd9, 0x0c, 0x7c, 0x87, 0xf3, 0xd3, 0x69, 0x54, 0x9c, 0x86, 0x37, 0x69, 0xe7, 0x86,
|
||||
0x51, 0x42, 0xab, 0xbd, 0x58, 0x3d, 0xa3, 0x9b, 0x82, 0x23, 0x86, 0x67, 0x74, 0xcb, 0x7f, 0xc4,
|
||||
0xa8, 0x19, 0xdd, 0x81, 0xe1, 0x46, 0xbd, 0x57, 0x44, 0xf9, 0x89, 0xbb, 0x51, 0x6b, 0x93, 0xbf,
|
||||
0x51, 0x1b, 0x04, 0xb7, 0xc0, 0x88, 0x45, 0x45, 0x7c, 0xe2, 0x6e, 0x01, 0x69, 0xf3, 0xb7, 0x80,
|
||||
0x62, 0x20, 0x70, 0x11, 0x7c, 0xc5, 0x0c, 0x3c, 0x9a, 0x1d, 0x97, 0x71, 0x91, 0x1c, 0xb3, 0x70,
|
||||
0x95, 0xf6, 0x56, 0x90, 0x92, 0x5a, 0xeb, 0x07, 0xeb, 0xf4, 0x19, 0x34, 0x1b, 0xdb, 0xfe, 0xb8,
|
||||
0x44, 0xe9, 0x73, 0x13, 0xc3, 0x20, 0x88, 0xf4, 0xd9, 0x4d, 0xe2, 0xea, 0xdd, 0x2b, 0xf8, 0x2c,
|
||||
0x2f, 0x3b, 0xaa, 0x87, 0x20, 0x7f, 0xf5, 0xda, 0x30, 0x68, 0xbe, 0x08, 0xbe, 0x6a, 0x3e, 0xd2,
|
||||
0xa3, 0xac, 0x54, 0xaa, 0xeb, 0xf4, 0x73, 0x32, 0x30, 0x22, 0xc9, 0xf5, 0xe0, 0xa0, 0x1c, 0x07,
|
||||
0xff, 0xdf, 0x28, 0x8b, 0x5d, 0x26, 0xa2, 0x24, 0x2d, 0xc3, 0xeb, 0xee, 0x18, 0x8d, 0x5d, 0x69,
|
||||
0x2d, 0x77, 0x72, 0x78, 0x08, 0xed, 0xce, 0xf2, 0x34, 0x89, 0xdb, 0x3b, 0x12, 0xf0, 0x55, 0x66,
|
||||
0xff, 0x10, 0x32, 0x31, 0xbd, 0xd0, 0xa8, 0x6a, 0xc8, 0xff, 0x1c, 0xce, 0x73, 0xbc, 0xd0, 0xe8,
|
||||
0x12, 0x6a, 0x84, 0x58, 0x68, 0x08, 0x14, 0xd7, 0x67, 0xc4, 0xc4, 0x83, 0x68, 0xce, 0x67, 0xc4,
|
||||
0x94, 0xa0, 0xcc, 0xfe, 0xfa, 0x98, 0x18, 0x28, 0xcc, 0x82, 0x0b, 0x4a, 0x61, 0x3f, 0x13, 0xac,
|
||||
0xc8, 0xa2, 0x74, 0x2f, 0x8d, 0x26, 0x65, 0x48, 0x8c, 0x1b, 0x9b, 0x52, 0x7a, 0xeb, 0x3d, 0x69,
|
||||
0xc7, 0x63, 0xdc, 0x2f, 0xf7, 0xa2, 0x33, 0x5e, 0x24, 0x82, 0x7e, 0x8c, 0x1a, 0xe9, 0x7c, 0x8c,
|
||||
0x16, 0xea, 0x54, 0xdb, 0x2e, 0xe2, 0x93, 0xe4, 0x8c, 0x8d, 0x3d, 0x6a, 0x0d, 0xd2, 0x43, 0xcd,
|
||||
0x40, 0x1d, 0x8d, 0x36, 0xe2, 0xb3, 0x22, 0x66, 0x64, 0xa3, 0x49, 0x73, 0x67, 0xa3, 0x29, 0x0c,
|
||||
0x14, 0x7e, 0x31, 0x08, 0xbe, 0x2e, 0xad, 0xe6, 0x16, 0x64, 0x37, 0x2a, 0x4f, 0x8e, 0x79, 0x54,
|
||||
0x8c, 0xc3, 0x77, 0x5d, 0x71, 0x9c, 0xa8, 0x92, 0xbe, 0xb5, 0x88, 0x0b, 0x7e, 0xac, 0xd5, 0x8e,
|
||||
0x52, 0x8f, 0x38, 0xe7, 0x63, 0xb5, 0x10, 0xff, 0x63, 0xc5, 0x28, 0x9e, 0x40, 0x6a, 0xbb, 0x4c,
|
||||
0xeb, 0xaf, 0x93, 0xfe, 0x76, 0x66, 0xbf, 0xdc, 0xc9, 0xe1, 0xf9, 0xb1, 0x32, 0xda, 0xbd, 0x65,
|
||||
0x9d, 0x8a, 0xe1, 0xee, 0x31, 0xc3, 0xbe, 0x38, 0xa9, 0xac, 0x46, 0x85, 0x5f, 0xb9, 0x35, 0x32,
|
||||
0x86, 0x7d, 0x71, 0x42, 0xd9, 0x98, 0xd6, 0x7c, 0xca, 0x8e, 0xa9, 0x6d, 0xd8, 0x17, 0xc7, 0x1d,
|
||||
0x68, 0x3b, 0xcf, 0xd3, 0xf9, 0x21, 0x9b, 0xe6, 0x29, 0xd9, 0x81, 0x2c, 0xc4, 0xdf, 0x81, 0x30,
|
||||
0x8a, 0xb3, 0x9f, 0x43, 0x5e, 0xe5, 0x56, 0xce, 0xec, 0xa7, 0x36, 0xf9, 0xb3, 0x9f, 0x06, 0xc1,
|
||||
0x09, 0xc3, 0x21, 0xdf, 0xe1, 0x69, 0xb5, 0x9d, 0x6b, 0x9f, 0xb7, 0x29, 0x4f, 0x4d, 0xf8, 0x13,
|
||||
0x06, 0x44, 0xea, 0x73, 0xe1, 0x26, 0x7b, 0x8e, 0x0a, 0x76, 0x67, 0xfe, 0x20, 0xc9, 0x4e, 0x43,
|
||||
0xf7, 0xda, 0xa8, 0x01, 0xe2, 0x5c, 0xd8, 0x09, 0xe2, 0x2c, 0xfd, 0x28, 0x1b, 0x73, 0x77, 0x96,
|
||||
0x5e, 0x59, 0xfc, 0x59, 0x3a, 0x10, 0x38, 0xe4, 0x01, 0xa3, 0x42, 0x56, 0x16, 0x7f, 0x48, 0x20,
|
||||
0x5c, 0xf3, 0x01, 0xec, 0xba, 0xc8, 0xf9, 0x00, 0xed, 0xb3, 0x96, 0x3b, 0x39, 0xdc, 0x43, 0x9b,
|
||||
0x74, 0x7d, 0x8f, 0x89, 0xf8, 0xc4, 0xdd, 0x43, 0x2d, 0xc4, 0xdf, 0x43, 0x31, 0x8a, 0xab, 0x74,
|
||||
0xc8, 0xd5, 0x76, 0xe3, 0xba, 0xbb, 0x7f, 0xb4, 0xb6, 0x1a, 0xcb, 0x9d, 0x1c, 0x4e, 0xd7, 0xf7,
|
||||
0xa7, 0xf5, 0x33, 0x73, 0x76, 0x72, 0x69, 0xf3, 0xa7, 0xeb, 0x8a, 0xc1, 0xa5, 0x97, 0x86, 0xea,
|
||||
0x71, 0xba, 0x4b, 0xaf, 0xed, 0xfe, 0xd2, 0x5b, 0x1c, 0x88, 0xfc, 0x79, 0x10, 0x5c, 0x32, 0x55,
|
||||
0x1e, 0xf1, 0x6a, 0x8c, 0x3c, 0x8d, 0xd2, 0xa4, 0xda, 0xa2, 0x1f, 0xf2, 0x53, 0x96, 0x85, 0x1f,
|
||||
0x78, 0x4a, 0x2b, 0xf9, 0xa1, 0xe5, 0xa0, 0x4a, 0xf1, 0xe1, 0xe2, 0x8e, 0xb8, 0x9f, 0x48, 0xfa,
|
||||
0xa8, 0x64, 0x3b, 0x51, 0x49, 0xcc, 0x64, 0x16, 0xe2, 0xef, 0x27, 0x18, 0xc5, 0x6a, 0x7a, 0x96,
|
||||
0x68, 0x9f, 0x8b, 0x63, 0xc2, 0x73, 0x2e, 0x4e, 0xa0, 0x38, 0x45, 0xd4, 0x00, 0x1c, 0x4d, 0xaf,
|
||||
0xf9, 0xa3, 0xa0, 0x63, 0xe9, 0xf5, 0x9e, 0x74, 0x6b, 0xff, 0xad, 0x98, 0x51, 0xd5, 0x5f, 0x3b,
|
||||
0x8a, 0x3e, 0x32, 0xfb, 0xed, 0x6a, 0x2f, 0xd6, 0xbd, 0xe1, 0x3f, 0x60, 0x69, 0x54, 0xcf, 0xe5,
|
||||
0x9e, 0x0d, 0x7f, 0xc3, 0xf4, 0xd9, 0xf0, 0x1b, 0x2c, 0x08, 0xfe, 0x6c, 0x10, 0x5c, 0x74, 0x29,
|
||||
0x3e, 0xce, 0x6b, 0xdd, 0xcd, 0xee, 0x58, 0x92, 0x24, 0x0e, 0xfe, 0xfd, 0x1e, 0x50, 0x86, 0x1f,
|
||||
0x05, 0x6f, 0x34, 0x26, 0x7d, 0x2f, 0x00, 0x05, 0xb0, 0x97, 0x73, 0x55, 0x7e, 0xcc, 0x29, 0xf9,
|
||||
0x8d, 0xde, 0xbc, 0xce, 0x94, 0xed, 0x72, 0x95, 0x28, 0x53, 0x56, 0x31, 0xc0, 0x4c, 0x64, 0xca,
|
||||
0x0e, 0x0c, 0x2f, 0x99, 0x0d, 0x52, 0x8d, 0x13, 0xd7, 0x64, 0xa3, 0x42, 0x98, 0xa3, 0x64, 0xa5,
|
||||
0x1b, 0xc4, 0x7d, 0xa7, 0x31, 0x43, 0x82, 0x7a, 0xd3, 0x17, 0x01, 0x25, 0xa9, 0xab, 0xbd, 0x58,
|
||||
0x7d, 0xfd, 0xd0, 0xaa, 0xd8, 0x1e, 0x8b, 0xc4, 0xac, 0x68, 0x5d, 0x3f, 0xb4, 0xcb, 0xdd, 0x80,
|
||||
0xc4, 0xf5, 0x83, 0xd7, 0x01, 0xf4, 0x7f, 0x35, 0x08, 0xde, 0xb4, 0x39, 0xd9, 0xc4, 0xaa, 0x0c,
|
||||
0xb7, 0x7c, 0x21, 0x6d, 0x56, 0x15, 0x63, 0x6b, 0x21, 0x9f, 0xd6, 0x66, 0xc8, 0xec, 0xc8, 0xdb,
|
||||
0x67, 0x51, 0x92, 0x46, 0xc7, 0x29, 0x73, 0x6e, 0x86, 0xac, 0xbe, 0xa9, 0x50, 0xef, 0x66, 0x88,
|
||||
0x74, 0x69, 0xcd, 0x92, 0xf5, 0x78, 0x33, 0x92, 0xe8, 0x35, 0x7a, 0x54, 0x3a, 0x72, 0xe8, 0xf5,
|
||||
0x9e, 0xb4, 0xbe, 0xb4, 0xd4, 0x3f, 0x9b, 0x0f, 0xc0, 0x99, 0xbb, 0x83, 0xaf, 0x51, 0x13, 0x6f,
|
||||
0xee, 0xee, 0xc4, 0x41, 0x58, 0x34, 0xa7, 0x57, 0xa6, 0x70, 0x35, 0xba, 0xd6, 0x3a, 0x03, 0x99,
|
||||
0x43, 0x6c, 0xbd, 0x27, 0x0d, 0xaa, 0x3f, 0x0e, 0xde, 0x68, 0xab, 0xc2, 0x6a, 0xb4, 0xd1, 0x19,
|
||||
0x0a, 0x2d, 0x48, 0x9b, 0xfd, 0x1d, 0x74, 0xb2, 0x7f, 0x3f, 0x29, 0x05, 0x2f, 0xe6, 0xa3, 0x13,
|
||||
0x7e, 0xde, 0xbc, 0xfa, 0x61, 0x4f, 0x13, 0x00, 0x0c, 0x0d, 0x82, 0x48, 0xf6, 0xdd, 0x64, 0x4b,
|
||||
0x4a, 0xbf, 0x22, 0x52, 0x12, 0x52, 0x06, 0xd1, 0x21, 0x65, 0x93, 0x7a, 0x92, 0x6c, 0x6a, 0xa5,
|
||||
0xdf, 0x67, 0x59, 0x76, 0x17, 0xb5, 0xfd, 0x4e, 0xcb, 0x4a, 0x37, 0xa8, 0x37, 0x60, 0x7b, 0x49,
|
||||
0xca, 0x1e, 0x3f, 0x7f, 0x9e, 0xf2, 0x68, 0x8c, 0x36, 0x60, 0x95, 0x65, 0x08, 0x26, 0x62, 0x03,
|
||||
0x86, 0x10, 0xbd, 0x88, 0x54, 0x86, 0xaa, 0x77, 0x36, 0x91, 0xaf, 0xb5, 0xdd, 0x0c, 0x33, 0xb1,
|
||||
0x88, 0x38, 0x30, 0xbd, 0x79, 0xa9, 0x8c, 0x47, 0x79, 0x1d, 0xfc, 0x72, 0xdb, 0x4b, 0x5a, 0x88,
|
||||
0xcd, 0x8b, 0x4d, 0xe8, 0x24, 0xbc, 0xfa, 0x7d, 0x97, 0x9f, 0x67, 0x75, 0x50, 0x47, 0x45, 0x1b,
|
||||
0x1b, 0x91, 0x84, 0x63, 0x06, 0x02, 0x7f, 0x14, 0xfc, 0x77, 0x1d, 0xb8, 0xe0, 0x79, 0xb8, 0xe4,
|
||||
0x70, 0x28, 0x8c, 0xeb, 0xba, 0x4b, 0xa4, 0x5d, 0xdf, 0x00, 0x57, 0xbf, 0x8e, 0xf2, 0x28, 0x66,
|
||||
0x47, 0x65, 0x34, 0x61, 0xe8, 0x06, 0xb8, 0x76, 0xd1, 0x56, 0xe2, 0x06, 0xb8, 0x4d, 0xe9, 0x03,
|
||||
0xf0, 0x47, 0xd1, 0x59, 0x32, 0x51, 0x73, 0x96, 0x1c, 0x82, 0x25, 0x3a, 0x00, 0xd7, 0xcc, 0xd0,
|
||||
0x80, 0x88, 0x03, 0x70, 0x12, 0x06, 0xcd, 0x3f, 0x0d, 0x82, 0xcb, 0x9a, 0xb9, 0xd7, 0x9c, 0x4b,
|
||||
0xec, 0x67, 0xcf, 0xf9, 0xb3, 0x44, 0x9c, 0x54, 0x1b, 0xe1, 0x32, 0x7c, 0x9f, 0x0a, 0xe9, 0xe6,
|
||||
0x55, 0x51, 0x3e, 0x58, 0xd8, 0x4f, 0x67, 0x61, 0xcd, 0x79, 0x85, 0x9c, 0xea, 0xf7, 0x0a, 0x3e,
|
||||
0x95, 0x1e, 0x28, 0x0b, 0x53, 0xc7, 0x1a, 0x98, 0x23, 0xb2, 0x30, 0x1f, 0x6f, 0x2c, 0xe5, 0x94,
|
||||
0x7a, 0xbd, 0x80, 0xdd, 0xea, 0x17, 0xd1, 0x5a, 0xc6, 0xb6, 0x16, 0xf2, 0xd1, 0x57, 0xeb, 0xaa,
|
||||
0x20, 0x29, 0xcf, 0xf0, 0xb5, 0xbd, 0x8e, 0x52, 0x19, 0x89, 0xab, 0xf5, 0x16, 0xa4, 0x27, 0xb9,
|
||||
0xc6, 0x24, 0x37, 0xf9, 0xdb, 0x69, 0x8a, 0x26, 0x39, 0xe5, 0xaa, 0x00, 0x62, 0x92, 0x73, 0x82,
|
||||
0xa0, 0x73, 0x10, 0xbc, 0x52, 0x35, 0xee, 0x93, 0x82, 0x9d, 0x25, 0x0c, 0xdf, 0x71, 0x1a, 0x16,
|
||||
0x62, 0xb6, 0xb0, 0x09, 0x3d, 0x0e, 0x8f, 0xb2, 0x32, 0x4f, 0xa3, 0xf2, 0x04, 0xee, 0xd8, 0xec,
|
||||
0x3a, 0x37, 0x46, 0x7c, 0xcb, 0x76, 0xad, 0x83, 0xd2, 0x1b, 0xf7, 0xc6, 0xa6, 0x26, 0xa4, 0xeb,
|
||||
0x6e, 0xd7, 0xd6, 0xa4, 0xb4, 0xdc, 0xc9, 0xe9, 0xc9, 0xff, 0x4e, 0xca, 0xe3, 0x53, 0x98, 0x45,
|
||||
0xed, 0x5a, 0xd7, 0x16, 0x3c, 0x8d, 0x5e, 0xf1, 0x21, 0x7a, 0x1e, 0xad, 0x0d, 0x07, 0x2c, 0x4f,
|
||||
0xa3, 0x18, 0xdf, 0xfe, 0x4a, 0x1f, 0xb0, 0x11, 0xf3, 0x28, 0x66, 0x50, 0x71, 0xe1, 0x56, 0xd9,
|
||||
0x55, 0x5c, 0x74, 0xa9, 0x7c, 0xc5, 0x87, 0xe8, 0x95, 0xa4, 0x36, 0x8c, 0xf2, 0x34, 0x11, 0xa8,
|
||||
0x6f, 0x48, 0x8f, 0xda, 0x42, 0xf4, 0x0d, 0x9b, 0x40, 0x21, 0x1f, 0xb2, 0x62, 0xc2, 0x9c, 0x21,
|
||||
0x6b, 0x8b, 0x37, 0x64, 0x43, 0x40, 0xc8, 0x47, 0xc1, 0xff, 0xc8, 0xba, 0xf3, 0x7c, 0x1e, 0x5e,
|
||||
0x72, 0x55, 0x8b, 0xe7, 0x73, 0x15, 0xf0, 0x32, 0x0d, 0xa0, 0x22, 0x3e, 0x89, 0x4a, 0xe1, 0x2e,
|
||||
0x62, 0x6d, 0xf1, 0x16, 0xb1, 0x21, 0xf4, 0x32, 0x27, 0x8b, 0x38, 0x13, 0x68, 0x99, 0x83, 0x02,
|
||||
0x18, 0x57, 0x61, 0x97, 0x48, 0xbb, 0x1e, 0x5e, 0xb2, 0x55, 0x98, 0xd8, 0x4b, 0x58, 0x3a, 0x2e,
|
||||
0xd1, 0xf0, 0x82, 0xe7, 0xde, 0x58, 0x89, 0xe1, 0xd5, 0xa6, 0x50, 0x57, 0x82, 0x33, 0x4a, 0x57,
|
||||
0xed, 0xd0, 0xf1, 0xe4, 0x15, 0x1f, 0xa2, 0xd3, 0x9e, 0xda, 0x60, 0xdc, 0x86, 0xb8, 0xca, 0xe3,
|
||||
0xb8, 0x0c, 0xb9, 0xde, 0x85, 0x19, 0x2f, 0x23, 0x29, 0x89, 0x87, 0xfc, 0x8c, 0x1d, 0xf2, 0xbb,
|
||||
0x2f, 0x92, 0x52, 0x24, 0xd9, 0x04, 0x96, 0xa6, 0x2d, 0x22, 0x92, 0x0b, 0x26, 0x5e, 0x46, 0xea,
|
||||
0x74, 0xd2, 0x2b, 0x24, 0x2a, 0xcb, 0x23, 0x76, 0xee, 0x5c, 0x21, 0x71, 0x44, 0xc5, 0x11, 0x2b,
|
||||
0xa4, 0x8f, 0xd7, 0x9b, 0x6d, 0x25, 0x0e, 0xaf, 0xf7, 0x1e, 0xf2, 0x26, 0x59, 0xa1, 0xa2, 0x61,
|
||||
0x90, 0xd8, 0x76, 0x78, 0x1d, 0xf4, 0x5e, 0x40, 0xe9, 0xeb, 0x4e, 0xba, 0x42, 0xc4, 0x69, 0x77,
|
||||
0xd4, 0x1b, 0x3d, 0x48, 0x87, 0x94, 0xbe, 0xd2, 0xa3, 0xa4, 0xda, 0x37, 0x7a, 0x37, 0x7a, 0x90,
|
||||
0xc6, 0xc6, 0xdd, 0xac, 0xd6, 0x9d, 0x28, 0x3e, 0x9d, 0x14, 0x7c, 0x96, 0x8d, 0x77, 0x78, 0xca,
|
||||
0x0b, 0xb4, 0x71, 0xb7, 0x4a, 0x8d, 0x50, 0x62, 0xe3, 0xde, 0xe1, 0xa2, 0x13, 0x03, 0xb3, 0x14,
|
||||
0xdb, 0x69, 0x32, 0xc1, 0xbb, 0x1f, 0x2b, 0x50, 0x0d, 0x10, 0x89, 0x81, 0x13, 0x74, 0x74, 0x22,
|
||||
0xb9, 0x3b, 0x12, 0x49, 0x1c, 0xa5, 0x52, 0x6f, 0x83, 0x0e, 0x63, 0x81, 0x9d, 0x9d, 0xc8, 0xe1,
|
||||
0xe0, 0xa8, 0xe7, 0xe1, 0xac, 0xc8, 0xf6, 0x33, 0xc1, 0xc9, 0x7a, 0x36, 0x40, 0x67, 0x3d, 0x0d,
|
||||
0x50, 0x67, 0x13, 0xb5, 0xf9, 0x90, 0xbd, 0xa8, 0x4a, 0x53, 0xfd, 0x13, 0x3a, 0xa6, 0x9c, 0xea,
|
||||
0xf7, 0x21, 0xd8, 0x89, 0x6c, 0xc2, 0xc5, 0xa1, 0xca, 0x80, 0x88, 0xec, 0x30, 0x1e, 0x6f, 0xbb,
|
||||
0x9b, 0xac, 0x74, 0x83, 0x6e, 0x9d, 0x91, 0x98, 0xa7, 0xcc, 0xa7, 0x53, 0x03, 0x7d, 0x74, 0x1a,
|
||||
0x50, 0x9f, 0xe8, 0x5b, 0xf5, 0x39, 0x61, 0xf1, 0x69, 0xeb, 0x0d, 0x05, 0xbb, 0xa0, 0x12, 0x21,
|
||||
0x4e, 0xf4, 0x09, 0xd4, 0xdd, 0x44, 0xfb, 0x31, 0xcf, 0x7c, 0x4d, 0x54, 0xd9, 0xfb, 0x34, 0x11,
|
||||
0x70, 0x7a, 0x77, 0xa7, 0xac, 0xd0, 0x33, 0x65, 0x33, 0xad, 0x12, 0x11, 0x4c, 0x88, 0xd8, 0xdd,
|
||||
0x91, 0xb0, 0x3e, 0x86, 0xc5, 0x9a, 0x0f, 0xdb, 0xef, 0xec, 0xb5, 0xa2, 0x3c, 0xa4, 0xdf, 0xd9,
|
||||
0xa3, 0x58, 0xba, 0x92, 0xb2, 0x8f, 0x74, 0x44, 0xb1, 0xfb, 0xc9, 0x5a, 0x3f, 0x58, 0xdf, 0xd7,
|
||||
0x5b, 0x9a, 0x3b, 0x29, 0x8b, 0x0a, 0xa9, 0xba, 0xee, 0x09, 0xa4, 0x31, 0xe2, 0xcc, 0xcf, 0x83,
|
||||
0xa3, 0x29, 0xcc, 0x52, 0xde, 0xe1, 0x99, 0x60, 0x99, 0x70, 0x4d, 0x61, 0x76, 0x30, 0x00, 0x7d,
|
||||
0x53, 0x18, 0xe5, 0x80, 0xfa, 0x6d, 0x7d, 0x28, 0xc1, 0xc4, 0xa3, 0x68, 0xca, 0x5c, 0xfd, 0x56,
|
||||
0x1e, 0x38, 0x48, 0xbb, 0xaf, 0xdf, 0x22, 0x0e, 0x0d, 0xf9, 0xfd, 0x69, 0x34, 0x51, 0x2a, 0x0e,
|
||||
0xef, 0xda, 0xde, 0x92, 0x59, 0xe9, 0x06, 0x91, 0xce, 0xd3, 0x64, 0xcc, 0xb8, 0x47, 0xa7, 0xb6,
|
||||
0xf7, 0xd1, 0xc1, 0x20, 0xca, 0x9c, 0xaa, 0xda, 0xca, 0xfd, 0xc8, 0x76, 0x36, 0x86, 0x5d, 0xd8,
|
||||
0x90, 0x78, 0x28, 0x88, 0xf3, 0x65, 0x4e, 0x04, 0x8f, 0xc6, 0x47, 0x73, 0x42, 0xe7, 0x1b, 0x1f,
|
||||
0xea, 0x00, 0xae, 0xcf, 0xf8, 0x70, 0xc1, 0xa0, 0xf9, 0x43, 0x18, 0x1f, 0xbb, 0x91, 0x88, 0xaa,
|
||||
0x7d, 0xf4, 0xd3, 0x84, 0x9d, 0xc3, 0x36, 0xce, 0x51, 0xdf, 0x86, 0x1a, 0x56, 0x18, 0xde, 0xd3,
|
||||
0x6d, 0xf4, 0xe6, 0x3d, 0xda, 0x90, 0x9d, 0x77, 0x6a, 0xa3, 0x34, 0x7d, 0xa3, 0x37, 0xef, 0xd1,
|
||||
0x86, 0xf7, 0xe0, 0x3b, 0xb5, 0xd1, 0xcb, 0xf0, 0x1b, 0xbd, 0x79, 0xd0, 0xfe, 0xf9, 0x20, 0xb8,
|
||||
0xd8, 0x12, 0xaf, 0x72, 0xa0, 0x58, 0x24, 0x67, 0xcc, 0x95, 0xca, 0xd9, 0xf1, 0x14, 0xea, 0x4b,
|
||||
0xe5, 0x68, 0x17, 0x28, 0xc5, 0xaf, 0x07, 0xc1, 0x9b, 0xae, 0x52, 0x3c, 0xe1, 0x65, 0x52, 0xdf,
|
||||
0x68, 0x6e, 0xf5, 0x08, 0xda, 0xc0, 0xbe, 0x0d, 0x8b, 0xcf, 0x49, 0xdf, 0x07, 0x59, 0xa8, 0x7e,
|
||||
0x19, 0x70, 0xcd, 0x13, 0xaf, 0xfd, 0x4e, 0xe0, 0x7a, 0x4f, 0x5a, 0x5f, 0x90, 0x58, 0x8c, 0x79,
|
||||
0x33, 0xe3, 0x6b, 0x55, 0xe7, 0xe5, 0xcc, 0x66, 0x7f, 0x07, 0x90, 0xff, 0x65, 0x93, 0xd3, 0x63,
|
||||
0x7d, 0x18, 0x04, 0xb7, 0xfa, 0x44, 0x44, 0x03, 0x61, 0x6b, 0x21, 0x1f, 0x28, 0xc8, 0x5f, 0x07,
|
||||
0xc1, 0x15, 0x67, 0x41, 0xec, 0xcb, 0xc1, 0x6f, 0xf4, 0x89, 0xed, 0xbe, 0x24, 0xfc, 0xe6, 0x17,
|
||||
0x71, 0x85, 0xd2, 0xfd, 0xb6, 0xd9, 0x5a, 0x37, 0x1e, 0xf5, 0x0b, 0xdb, 0x8f, 0x8b, 0x31, 0x2b,
|
||||
0x60, 0xc4, 0xfa, 0x3a, 0x9d, 0x86, 0xf1, 0xb8, 0x7d, 0x6f, 0x41, 0x2f, 0x28, 0xce, 0xef, 0x07,
|
||||
0xc1, 0x92, 0x05, 0xc3, 0xd7, 0x24, 0x46, 0x79, 0x7c, 0x91, 0x0d, 0x1a, 0x17, 0xe8, 0xfd, 0x45,
|
||||
0xdd, 0xa8, 0x91, 0x6c, 0xc0, 0xf5, 0x77, 0x43, 0x5b, 0x3d, 0x03, 0x5b, 0x5f, 0x12, 0xdd, 0x5e,
|
||||
0xcc, 0x09, 0xca, 0xf2, 0xb7, 0x41, 0x70, 0xcd, 0x62, 0xf5, 0x21, 0x36, 0x3a, 0x0f, 0xf9, 0x96,
|
||||
0x27, 0x3e, 0xe5, 0xa4, 0x0a, 0xf7, 0xed, 0x2f, 0xe6, 0xac, 0xef, 0x81, 0x2d, 0x97, 0xbd, 0x24,
|
||||
0x15, 0xac, 0x68, 0x7f, 0xbc, 0x6a, 0xc7, 0x95, 0xd4, 0x90, 0xfe, 0x78, 0xd5, 0x83, 0x1b, 0x1f,
|
||||
0xaf, 0x3a, 0x94, 0x9d, 0x1f, 0xaf, 0x3a, 0xa3, 0x79, 0x3f, 0x5e, 0xf5, 0x7b, 0x50, 0x8b, 0x4f,
|
||||
0x53, 0x04, 0x79, 0x26, 0xdc, 0x2b, 0xa2, 0x7d, 0x44, 0x7c, 0x6b, 0x11, 0x17, 0x62, 0xf9, 0x95,
|
||||
0x5c, 0xfd, 0xca, 0x52, 0x8f, 0x67, 0x6a, 0xbd, 0xb6, 0xb4, 0xd1, 0x9b, 0x07, 0xed, 0x4f, 0x60,
|
||||
0xdf, 0xa3, 0x16, 0x1b, 0x5e, 0xd4, 0x1f, 0x2e, 0xaf, 0xfa, 0x16, 0x8f, 0x2a, 0x82, 0xd9, 0xf2,
|
||||
0x6b, 0xfd, 0x60, 0xa2, 0xba, 0x15, 0x01, 0x8d, 0x3e, 0xec, 0x0a, 0x84, 0x9a, 0x7c, 0xa3, 0x37,
|
||||
0x4f, 0x2c, 0x72, 0x52, 0x5b, 0xb6, 0x76, 0x8f, 0x60, 0x76, 0x5b, 0x6f, 0xf6, 0x77, 0xd0, 0xaf,
|
||||
0x3e, 0xb4, 0xe4, 0xeb, 0x76, 0xee, 0x7c, 0x82, 0x56, 0x2b, 0xaf, 0xf7, 0xa4, 0x7d, 0xc9, 0x8d,
|
||||
0xb9, 0xbc, 0x77, 0x25, 0x37, 0xce, 0x25, 0xfe, 0xf6, 0x62, 0x4e, 0x50, 0x96, 0x3f, 0x0e, 0x82,
|
||||
0x4b, 0x64, 0x59, 0xa0, 0x17, 0xbc, 0xdf, 0x37, 0x32, 0xea, 0x0d, 0x1f, 0x2c, 0xec, 0x07, 0x85,
|
||||
0xfa, 0xcb, 0x20, 0xb8, 0xec, 0x29, 0x94, 0xec, 0x1e, 0x0b, 0x44, 0xb7, 0xbb, 0xc9, 0x87, 0x8b,
|
||||
0x3b, 0x52, 0x8b, 0xbd, 0x89, 0x8f, 0xda, 0x1f, 0x8b, 0x7a, 0x62, 0x8f, 0xe8, 0x8f, 0x45, 0xbb,
|
||||
0xbd, 0xf0, 0xe1, 0x4f, 0x95, 0x92, 0xc0, 0xbe, 0xc8, 0x75, 0xf8, 0x53, 0x67, 0x2c, 0x68, 0x3f,
|
||||
0xb4, 0xdc, 0xc9, 0xb9, 0x44, 0xee, 0xbe, 0xc8, 0xa3, 0x6c, 0x4c, 0x8b, 0x48, 0x7b, 0xb7, 0x88,
|
||||
0xe2, 0xf0, 0xa1, 0x59, 0x65, 0x3d, 0xe0, 0xcd, 0x26, 0xef, 0x06, 0xe5, 0xaf, 0x10, 0xef, 0xa1,
|
||||
0x59, 0x0b, 0x25, 0xd4, 0x20, 0xa3, 0xf5, 0xa9, 0xa1, 0x44, 0xf6, 0x66, 0x1f, 0x14, 0x6d, 0x1f,
|
||||
0x94, 0x9a, 0x3a, 0x8b, 0x5f, 0xf3, 0x45, 0x69, 0x9d, 0xc7, 0xaf, 0xf7, 0xa4, 0x09, 0xd9, 0x11,
|
||||
0x13, 0xf7, 0x59, 0x34, 0x66, 0x85, 0x57, 0x56, 0x51, 0xbd, 0x64, 0x4d, 0xda, 0x25, 0xbb, 0xc3,
|
||||
0xd3, 0xd9, 0x34, 0x83, 0xc6, 0x24, 0x65, 0x4d, 0xaa, 0x5b, 0x16, 0xd1, 0xf8, 0xb8, 0x50, 0xcb,
|
||||
0xd6, 0xc9, 0xe5, 0x4d, 0x7f, 0x18, 0x2b, 0xa7, 0x5c, 0xed, 0xc5, 0xd2, 0xf5, 0x84, 0x6e, 0xd4,
|
||||
0x51, 0x4f, 0xd4, 0x93, 0xd6, 0x7b, 0xd2, 0xf8, 0xdc, 0xce, 0x90, 0x55, 0xfd, 0x69, 0xa3, 0x23,
|
||||
0x56, 0xab, 0x4b, 0x6d, 0xf6, 0x77, 0xc0, 0xa7, 0xa4, 0xd0, 0xab, 0xaa, 0x5d, 0xd1, 0x5e, 0x92,
|
||||
0xa6, 0xe1, 0xaa, 0xa7, 0x9b, 0x34, 0x90, 0xf7, 0x94, 0xd4, 0x01, 0x13, 0x3d, 0xb9, 0x39, 0x55,
|
||||
0xcc, 0xc2, 0xae, 0x38, 0x35, 0xd5, 0xab, 0x27, 0x9b, 0x34, 0x3a, 0x6d, 0x33, 0x1e, 0xb5, 0xaa,
|
||||
0xed, 0xd0, 0xff, 0xe0, 0x5a, 0x15, 0xde, 0xe8, 0xcd, 0xa3, 0x8b, 0xec, 0x9a, 0xaa, 0x57, 0x96,
|
||||
0xab, 0x54, 0x08, 0x6b, 0x25, 0xb9, 0xd6, 0x41, 0xa1, 0x13, 0x4b, 0x39, 0x8c, 0x9e, 0x25, 0xe3,
|
||||
0x09, 0x13, 0xce, 0x1b, 0x24, 0x13, 0xf0, 0xde, 0x20, 0x21, 0x10, 0x35, 0x9d, 0xfc, 0x7d, 0xc4,
|
||||
0xc4, 0x61, 0x54, 0x4c, 0x98, 0xd8, 0x1f, 0xbb, 0x9a, 0x0e, 0x9c, 0x0d, 0xca, 0xd7, 0x74, 0x4e,
|
||||
0x1a, 0xcd, 0x06, 0x4a, 0x16, 0xbe, 0xb8, 0xbd, 0xe9, 0x0b, 0x83, 0x3e, 0xbb, 0x5d, 0xed, 0xc5,
|
||||
0xa2, 0x15, 0x45, 0x0b, 0x26, 0xd3, 0x44, 0xb8, 0x56, 0x14, 0x23, 0x46, 0x85, 0xf8, 0x56, 0x94,
|
||||
0x36, 0x4a, 0x55, 0xaf, 0xca, 0x11, 0xf6, 0xc7, 0xfe, 0xea, 0x49, 0xa6, 0x5f, 0xf5, 0x14, 0xdb,
|
||||
0xba, 0xf0, 0xcc, 0x54, 0x97, 0x11, 0x27, 0xb0, 0x55, 0x76, 0xf4, 0xed, 0xfa, 0x23, 0x34, 0x0c,
|
||||
0xfa, 0x66, 0x1d, 0xca, 0xc1, 0xf8, 0xbc, 0x42, 0x71, 0xcd, 0x9d, 0x6c, 0x9e, 0xb3, 0xa8, 0x88,
|
||||
0xb2, 0xd8, 0xb9, 0x35, 0xad, 0x03, 0xb6, 0x48, 0xdf, 0xd6, 0x94, 0xf4, 0x40, 0xd7, 0xe9, 0xf6,
|
||||
0xe7, 0x63, 0x8e, 0xa1, 0xa0, 0xbe, 0xd3, 0xb2, 0xbf, 0x1e, 0xbb, 0xd1, 0x83, 0xc4, 0xd7, 0xe9,
|
||||
0x0d, 0xa0, 0x0e, 0xe5, 0xa5, 0xe8, 0xbb, 0x9e, 0x50, 0x36, 0xea, 0xdb, 0x06, 0xd3, 0x2e, 0xa8,
|
||||
0x53, 0xab, 0x04, 0x97, 0x89, 0x8f, 0xd8, 0xdc, 0xd5, 0xa9, 0x75, 0x7e, 0x5a, 0x23, 0xbe, 0x4e,
|
||||
0xdd, 0x46, 0x51, 0x9e, 0x69, 0xee, 0x83, 0xae, 0x7b, 0xfc, 0xcd, 0xad, 0xcf, 0x72, 0x27, 0x87,
|
||||
0x46, 0xce, 0x6e, 0x72, 0x66, 0xdd, 0x61, 0x38, 0x0a, 0xba, 0x9b, 0x9c, 0xb9, 0xaf, 0x30, 0x56,
|
||||
0x7b, 0xb1, 0xf8, 0xaa, 0x3e, 0x12, 0xec, 0x45, 0x73, 0x87, 0xee, 0x28, 0x6e, 0x6d, 0x6f, 0x5d,
|
||||
0xa2, 0xaf, 0x74, 0x83, 0xfa, 0x7d, 0xcb, 0x27, 0x05, 0x8f, 0x59, 0x59, 0xee, 0x54, 0xdd, 0x36,
|
||||
0x45, 0xef, 0x5b, 0x82, 0x6d, 0x28, 0x8d, 0xc4, 0xfb, 0x96, 0x2d, 0x08, 0x62, 0xdf, 0x0f, 0x5e,
|
||||
0x7e, 0xc0, 0x27, 0x23, 0x96, 0x8d, 0xc3, 0xb7, 0xec, 0x37, 0x1c, 0xf9, 0x64, 0x58, 0xfd, 0xac,
|
||||
0xe2, 0x2d, 0x51, 0x66, 0xfd, 0x3a, 0xda, 0x2e, 0x3b, 0x9e, 0x4d, 0x0e, 0x0b, 0xc6, 0xd0, 0xeb,
|
||||
0x68, 0xf5, 0xef, 0xc3, 0xca, 0x40, 0xbc, 0x8e, 0x66, 0x01, 0x7a, 0x95, 0x54, 0xf1, 0xaa, 0x44,
|
||||
0x14, 0xbf, 0xee, 0xa5, 0x7d, 0x6a, 0x2b, 0xb1, 0x4a, 0xb6, 0x29, 0xdd, 0x78, 0xb5, 0xad, 0x7e,
|
||||
0xe3, 0x79, 0x34, 0x9b, 0x4e, 0xa3, 0x62, 0x8e, 0x1a, 0x4f, 0xfa, 0x9a, 0x00, 0xd1, 0x78, 0x4e,
|
||||
0x50, 0xbf, 0x56, 0x26, 0x75, 0xe6, 0xa5, 0x60, 0x53, 0xf4, 0x5a, 0x19, 0x38, 0xd6, 0x26, 0xe2,
|
||||
0xb5, 0x32, 0x84, 0xe8, 0x54, 0xad, 0x36, 0xc8, 0xd7, 0xcd, 0xea, 0x3f, 0x0e, 0x55, 0x0a, 0x5e,
|
||||
0xe0, 0x0b, 0x3b, 0xe9, 0x8c, 0x21, 0x22, 0x55, 0x23, 0x61, 0xd4, 0xc0, 0x4f, 0x92, 0x6c, 0xe2,
|
||||
0x6c, 0xe0, 0xca, 0xe0, 0x6d, 0x60, 0x00, 0xf4, 0xa4, 0x2b, 0x9f, 0x8c, 0xfc, 0x2b, 0x24, 0xf0,
|
||||
0x65, 0x99, 0xf3, 0xc9, 0x9a, 0x04, 0x31, 0xe9, 0xba, 0x49, 0x24, 0xf5, 0x38, 0x67, 0x19, 0x1b,
|
||||
0x37, 0xaf, 0x84, 0xb9, 0xa4, 0x2c, 0xc2, 0x2b, 0x85, 0x49, 0x3d, 0x0b, 0x3d, 0x64, 0xa2, 0x48,
|
||||
0xe2, 0x72, 0xc4, 0xc4, 0x93, 0xa8, 0x88, 0xa6, 0x4c, 0xb0, 0xa2, 0x44, 0xb3, 0x10, 0x20, 0x43,
|
||||
0x8b, 0x21, 0x66, 0x21, 0x8a, 0x05, 0xc1, 0xef, 0x04, 0xaf, 0x57, 0xd3, 0x13, 0xcb, 0xe0, 0x0f,
|
||||
0x3f, 0xde, 0xad, 0xff, 0x26, 0x6a, 0x78, 0x41, 0xc5, 0x18, 0x89, 0x82, 0x45, 0xd3, 0x26, 0xf6,
|
||||
0x6b, 0xea, 0xf7, 0x1a, 0xdc, 0x1c, 0xdc, 0x79, 0xfb, 0x9f, 0x9f, 0x2d, 0x0d, 0x3e, 0xfd, 0x6c,
|
||||
0x69, 0xf0, 0xef, 0xcf, 0x96, 0x06, 0x7f, 0xf8, 0x7c, 0xe9, 0xa5, 0x4f, 0x3f, 0x5f, 0x7a, 0xe9,
|
||||
0x5f, 0x9f, 0x2f, 0xbd, 0xf4, 0xf1, 0xcb, 0xf0, 0xb7, 0x59, 0x8f, 0xff, 0xab, 0xfe, 0x0b, 0xab,
|
||||
0x5b, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x4f, 0x61, 0xbe, 0xbf, 0x55, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
|
@ -300,6 +302,7 @@ type ClientCommandsHandler interface {
|
|||
AccountCreate(context.Context, *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse
|
||||
AccountDelete(context.Context, *pb.RpcAccountDeleteRequest) *pb.RpcAccountDeleteResponse
|
||||
AccountSelect(context.Context, *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse
|
||||
AccountEnableLocalNetworkSync(context.Context, *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse
|
||||
AccountStop(context.Context, *pb.RpcAccountStopRequest) *pb.RpcAccountStopResponse
|
||||
AccountMove(context.Context, *pb.RpcAccountMoveRequest) *pb.RpcAccountMoveResponse
|
||||
AccountConfigUpdate(context.Context, *pb.RpcAccountConfigUpdateRequest) *pb.RpcAccountConfigUpdateResponse
|
||||
|
@ -935,6 +938,26 @@ func AccountSelect(b []byte) (resp []byte) {
|
|||
return resp
|
||||
}
|
||||
|
||||
func AccountEnableLocalNetworkSync(b []byte) (resp []byte) {
|
||||
defer func() {
|
||||
if PanicHandler != nil {
|
||||
if r := recover(); r != nil {
|
||||
resp, _ = (&pb.RpcAccountEnableLocalNetworkSyncResponse{Error: &pb.RpcAccountEnableLocalNetworkSyncResponseError{Code: pb.RpcAccountEnableLocalNetworkSyncResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
|
||||
PanicHandler(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
in := new(pb.RpcAccountEnableLocalNetworkSyncRequest)
|
||||
if err := in.Unmarshal(b); err != nil {
|
||||
resp, _ = (&pb.RpcAccountEnableLocalNetworkSyncResponse{Error: &pb.RpcAccountEnableLocalNetworkSyncResponseError{Code: pb.RpcAccountEnableLocalNetworkSyncResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
resp, _ = clientCommandsHandler.AccountEnableLocalNetworkSync(context.Background(), in).Marshal()
|
||||
return resp
|
||||
}
|
||||
|
||||
func AccountStop(b []byte) (resp []byte) {
|
||||
defer func() {
|
||||
if PanicHandler != nil {
|
||||
|
@ -4483,6 +4506,8 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) {
|
|||
cd = AccountDelete(data)
|
||||
case "AccountSelect":
|
||||
cd = AccountSelect(data)
|
||||
case "AccountEnableLocalNetworkSync":
|
||||
cd = AccountEnableLocalNetworkSync(data)
|
||||
case "AccountStop":
|
||||
cd = AccountStop(data)
|
||||
case "AccountMove":
|
||||
|
|
|
@ -10,10 +10,12 @@ import (
|
|||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
|
||||
"github.com/gogo/protobuf/jsonpb"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/util/constant"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -66,16 +68,19 @@ func processFile(file File, outputFile string) {
|
|||
}
|
||||
|
||||
// assuming Snapshot is a protobuf message
|
||||
snapshot := pb.SnapshotWithType{}
|
||||
var snapshot proto.Message = &pb.SnapshotWithType{}
|
||||
if strings.HasPrefix(file.Name, constant.ProfileFile) {
|
||||
snapshot = &pb.Profile{}
|
||||
}
|
||||
|
||||
if strings.HasSuffix(file.Name, ".json") {
|
||||
|
||||
if err := jsonpb.UnmarshalString(string(content), &snapshot); err != nil {
|
||||
if err := jsonpb.UnmarshalString(string(content), snapshot); err != nil {
|
||||
log.Fatalf("Failed to parse jsonpb message: %v", err)
|
||||
}
|
||||
|
||||
// convert to pb and write to outputFile
|
||||
pbData, err := proto.Marshal(&snapshot)
|
||||
pbData, err := proto.Marshal(snapshot)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to marshal jsonpb message to protobuf: %v", err)
|
||||
}
|
||||
|
@ -88,12 +93,12 @@ func processFile(file File, outputFile string) {
|
|||
|
||||
} else {
|
||||
|
||||
if err := proto.Unmarshal(content, &snapshot); err != nil {
|
||||
if err := proto.Unmarshal(content, snapshot); err != nil {
|
||||
log.Fatalf("Failed to parse protobuf message: %v", err)
|
||||
}
|
||||
|
||||
// convert to jsonpb and write to outputFile
|
||||
jsonData, err := jsonM.MarshalToString(&snapshot)
|
||||
jsonData, err := jsonM.MarshalToString(snapshot)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to marshal protobuf message to json: %v", err)
|
||||
}
|
||||
|
@ -193,8 +198,14 @@ func createZipFromDirectory(input, output string) {
|
|||
return err
|
||||
}
|
||||
|
||||
isProfile := strings.HasPrefix(info.Name(), constant.ProfileFile)
|
||||
|
||||
// assuming Snapshot is a protobuf message
|
||||
snapshot := &pb.SnapshotWithType{}
|
||||
var snapshot proto.Message = &pb.SnapshotWithType{}
|
||||
if isProfile {
|
||||
snapshot = &pb.Profile{}
|
||||
}
|
||||
|
||||
err = jsonpb.UnmarshalString(string(data), snapshot)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -205,7 +216,11 @@ func createZipFromDirectory(input, output string) {
|
|||
return err
|
||||
}
|
||||
|
||||
fw, err := w.Create(strings.TrimSuffix(rel, ".json") + ".pb")
|
||||
name := strings.TrimSuffix(rel, ".json") + ".pb"
|
||||
if isProfile {
|
||||
name = strings.TrimSuffix(name, ".pb")
|
||||
}
|
||||
fw, err := w.Create(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
//go:build !nogrpcserver && !_test
|
||||
// +build !nogrpcserver,!_test
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core"
|
||||
"github.com/anyproto/anytype-heart/core/event"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
|
||||
_ "net/http/pprof"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if len(os.Args) > 2 {
|
||||
invite := os.Args[1]
|
||||
path := os.Args[2]
|
||||
var files []string
|
||||
mw := core.New()
|
||||
rootPath, _ := ioutil.TempDir(os.TempDir(), "anytype_*")
|
||||
|
||||
defer os.RemoveAll(rootPath)
|
||||
|
||||
mw.EventSender = event.NewCallbackSender(func(event *pb.Event) {
|
||||
// nothing to do
|
||||
})
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
_ = mw.WalletCreate(ctx, &pb.RpcWalletCreateRequest{RootPath: rootPath})
|
||||
_ = mw.AccountCreate(ctx, &pb.RpcAccountCreateRequest{Name: "profile", AlphaInviteCode: invite})
|
||||
|
||||
var cids []string
|
||||
err := filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
|
||||
files = append(files, path)
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
if strings.HasSuffix(strings.ToLower(path), "ds_store") {
|
||||
return nil
|
||||
}
|
||||
|
||||
resp := mw.FileUpload(ctx, &pb.RpcFileUploadRequest{LocalPath: path, DisableEncryption: true})
|
||||
if int(resp.Error.Code) != 0 {
|
||||
return fmt.Errorf(resp.Error.Description)
|
||||
}
|
||||
cids = append(cids, resp.Hash)
|
||||
fmt.Println(path)
|
||||
fmt.Println(resp.Hash)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
|
||||
// fs := mw.GetApp().MustComponent(pin.CName).(pin.FilePinService)
|
||||
// for {
|
||||
// r := fs.PinStatus(cids...)
|
||||
// var pinned int
|
||||
// var failed int
|
||||
// var inprog int
|
||||
// for k, f := range r {
|
||||
// if f.Status == pb2.PinStatus_Done {
|
||||
// pinned++
|
||||
// }
|
||||
// if f.Status == pb2.PinStatus_Failed {
|
||||
// failed++
|
||||
// }
|
||||
// if f.Status == pb2.PinStatus_Queued {
|
||||
// fmt.Printf("%s still in progress\n", k)
|
||||
// inprog++
|
||||
// }
|
||||
// }
|
||||
// fmt.Printf("%d pinned, %d in-progress, %d failed from %d\n", pinned, inprog, failed, len(r))
|
||||
//
|
||||
// if len(r) == len(cids) {
|
||||
// fmt.Println("all pinned")
|
||||
// os.Exit(0)
|
||||
// }
|
||||
// time.Sleep(time.Second * 10)
|
||||
// }
|
||||
}
|
||||
}
|
27
core/DEVELOPMENT.md
Normal file
27
core/DEVELOPMENT.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Development
|
||||
|
||||
## Services/components
|
||||
### Bootstrapping
|
||||
If you need your component to be visible to other components, you need to register it in Service Locator's registry.
|
||||
To do it go to `Bootstrap` function in `core/anytype/bootstrap.go` and `Register` it
|
||||
|
||||
### Dependency injection
|
||||
We use our own implementation of Service Locator pattern: `github.com/anyproto/any-sync/app`.
|
||||
|
||||
## Writing tests
|
||||
|
||||
### Structure of tests
|
||||
Prefer structuring your tests in Act-Arrange-Assert style. Use comments for visual separation of those test parts, like:
|
||||
```go
|
||||
// Given
|
||||
...
|
||||
// When
|
||||
...
|
||||
// Then
|
||||
```
|
||||
|
||||
### Fixtures for services under test
|
||||
Define `fixture` structure to easily bootstrap service and its dependencies. You can find examples in our code.
|
||||
|
||||
### Mocking
|
||||
Prefer using Mockery for new mocks. It's configured in `.mockery.yaml`
|
|
@ -16,6 +16,7 @@ import (
|
|||
"github.com/anyproto/any-sync/commonspace/spacesyncproto"
|
||||
"github.com/anyproto/any-sync/net/secureservice/handshake"
|
||||
"github.com/anyproto/any-sync/util/crypto"
|
||||
"github.com/anyproto/anytype-heart/space/localdiscovery"
|
||||
cp "github.com/otiai10/copy"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/anytype"
|
||||
|
@ -131,7 +132,11 @@ func (mw *Middleware) AccountCreate(cctx context.Context, req *pb.RpcAccountCrea
|
|||
response(nil, pb.RpcAccountCreateResponseError_FAILED_TO_STOP_RUNNING_NODE, err)
|
||||
}
|
||||
|
||||
cfg := anytype.BootstrapConfig(true, os.Getenv("ANYTYPE_STAGING") == "1", true)
|
||||
cfg := anytype.BootstrapConfig(true, os.Getenv("ANYTYPE_STAGING") == "1")
|
||||
|
||||
if req.DisableLocalNetworkSync {
|
||||
cfg.DontStartLocalNetworkSyncAutomatically = true
|
||||
}
|
||||
|
||||
derivationResult, err := core.WalletAccountAt(mw.mnemonic, 0)
|
||||
if err != nil {
|
||||
|
@ -305,8 +310,13 @@ func (mw *Middleware) AccountSelect(cctx context.Context, req *pb.RpcAccountSele
|
|||
}
|
||||
}
|
||||
|
||||
cfg := anytype.BootstrapConfig(false, os.Getenv("ANYTYPE_STAGING") == "1")
|
||||
if req.DisableLocalNetworkSync {
|
||||
cfg.DontStartLocalNetworkSyncAutomatically = true
|
||||
}
|
||||
|
||||
comps := []app.Component{
|
||||
anytype.BootstrapConfig(false, os.Getenv("ANYTYPE_STAGING") == "1", false),
|
||||
cfg,
|
||||
anytype.BootstrapWallet(mw.rootPath, res),
|
||||
mw.EventSender,
|
||||
}
|
||||
|
@ -533,6 +543,28 @@ func (mw *Middleware) AccountConfigUpdate(_ context.Context, req *pb.RpcAccountC
|
|||
return response(pb.RpcAccountConfigUpdateResponseError_NULL, err)
|
||||
}
|
||||
|
||||
func (mw *Middleware) AccountEnableLocalNetworkSync(_ context.Context, req *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse {
|
||||
response := func(code pb.RpcAccountEnableLocalNetworkSyncResponseErrorCode, err error) *pb.RpcAccountEnableLocalNetworkSyncResponse {
|
||||
m := &pb.RpcAccountEnableLocalNetworkSyncResponse{Error: &pb.RpcAccountEnableLocalNetworkSyncResponseError{Code: code}}
|
||||
if err != nil {
|
||||
m.Error.Description = err.Error()
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
if mw.app == nil {
|
||||
return response(pb.RpcAccountEnableLocalNetworkSyncResponseError_ACCOUNT_IS_NOT_RUNNING, fmt.Errorf("anytype node not set"))
|
||||
}
|
||||
|
||||
ld := mw.app.MustComponent(localdiscovery.CName).(localdiscovery.LocalDiscovery)
|
||||
err := ld.Start()
|
||||
if err != nil {
|
||||
return response(pb.RpcAccountEnableLocalNetworkSyncResponseError_UNKNOWN_ERROR, err)
|
||||
}
|
||||
|
||||
return response(pb.RpcAccountEnableLocalNetworkSyncResponseError_NULL, err)
|
||||
}
|
||||
|
||||
func (mw *Middleware) AccountRemoveLocalData() error {
|
||||
conf := mw.app.MustComponent(config.CName).(*config.Config)
|
||||
address := mw.app.MustComponent(walletComp.CName).(walletComp.Wallet).GetAccountPrivkey().GetPublic().Account()
|
||||
|
@ -689,7 +721,7 @@ func (mw *Middleware) getBootstrapConfig(req *pb.RpcAccountRecoverFromLegacyExpo
|
|||
return nil, fmt.Errorf("failed to extract config: %w", err)
|
||||
}
|
||||
|
||||
cfg := anytype.BootstrapConfig(true, os.Getenv("ANYTYPE_STAGING") == "1", false)
|
||||
cfg := anytype.BootstrapConfig(true, os.Getenv("ANYTYPE_STAGING") == "1")
|
||||
cfg.LegacyFileStorePath = oldCfg.LegacyFileStorePath
|
||||
return cfg, nil
|
||||
}
|
||||
|
|
|
@ -40,7 +40,6 @@ import (
|
|||
"github.com/anyproto/anytype-heart/core/block/source"
|
||||
"github.com/anyproto/anytype-heart/core/configfetcher"
|
||||
"github.com/anyproto/anytype-heart/core/debug"
|
||||
"github.com/anyproto/anytype-heart/core/event"
|
||||
"github.com/anyproto/anytype-heart/core/files"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/filesync"
|
||||
|
@ -83,11 +82,10 @@ var (
|
|||
WarningAfter = time.Second * 1
|
||||
)
|
||||
|
||||
func BootstrapConfig(newAccount bool, isStaging bool, createBuiltinTemplates bool) *config.Config {
|
||||
func BootstrapConfig(newAccount bool, isStaging bool) *config.Config {
|
||||
return config.New(
|
||||
config.WithDebugAddr(os.Getenv("ANYTYPE_DEBUG_ADDR")),
|
||||
config.WithNewAccount(newAccount),
|
||||
config.WithCreateBuiltinTemplates(createBuiltinTemplates),
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -166,49 +164,18 @@ func Bootstrap(a *app.App, components ...app.Component) {
|
|||
for _, c := range components {
|
||||
a.Register(c)
|
||||
}
|
||||
walletService := a.Component(wallet.CName).(wallet.Wallet)
|
||||
eventService := a.Component(event.CName).(event.Sender)
|
||||
cfg := a.Component(config.CName).(*config.Config)
|
||||
|
||||
tempDirService := core.NewTempDirService(walletService)
|
||||
spaceService := space.New()
|
||||
sbtProvider := typeprovider.New(spaceService)
|
||||
objectStore := objectstore.New(sbtProvider)
|
||||
objectCreator := objectcreator.NewCreator(sbtProvider)
|
||||
layoutConverter := converter.NewLayoutConverter(objectStore, sbtProvider)
|
||||
blockService := block.New(tempDirService, sbtProvider, layoutConverter)
|
||||
collectionService := collection.New(blockService, objectStore, objectCreator, blockService)
|
||||
relationService := relation.New()
|
||||
coreService := core.New()
|
||||
graphRenderer := objectgraph.NewBuilder(sbtProvider, relationService, objectStore, coreService)
|
||||
fileSyncService := filesync.New(eventService.Send)
|
||||
fileStore := filestore.New()
|
||||
|
||||
datastoreProvider := clientds.New()
|
||||
nodeConf := nodeconf.New()
|
||||
|
||||
const fileWatcherUpdateInterval = 5 * time.Second
|
||||
syncStatusService := syncstatus.New(
|
||||
sbtProvider,
|
||||
datastoreProvider,
|
||||
spaceService,
|
||||
coreService,
|
||||
fileSyncService,
|
||||
nodeConf,
|
||||
fileStore,
|
||||
blockService,
|
||||
cfg,
|
||||
eventService.Send,
|
||||
fileWatcherUpdateInterval,
|
||||
)
|
||||
fileSyncService.OnUpload(syncStatusService.OnFileUpload)
|
||||
fileService := files.New(syncStatusService, objectStore)
|
||||
indexerService := indexer.New(blockService, spaceService, fileService)
|
||||
|
||||
a.Register(datastoreProvider).
|
||||
a.
|
||||
// Data storages
|
||||
Register(clientds.New()).
|
||||
Register(ftsearch.New()).
|
||||
Register(objectstore.New()).
|
||||
// Services
|
||||
Register(nodeconfsource.New()).
|
||||
Register(nodeconfstore.New()).
|
||||
Register(nodeConf).
|
||||
Register(nodeconf.New()).
|
||||
Register(peerstore.New()).
|
||||
Register(syncstatusprovider.New()).
|
||||
Register(storage.New()).
|
||||
|
@ -225,45 +192,45 @@ func Bootstrap(a *app.App, components ...app.Component) {
|
|||
Register(credentialprovider.New()).
|
||||
Register(commonspace.New()).
|
||||
Register(rpcstore.New()).
|
||||
Register(spaceService).
|
||||
Register(fileStore).
|
||||
Register(space.New()).
|
||||
Register(filestore.New()).
|
||||
Register(fileservice.New()).
|
||||
Register(filestorage.New(eventService.Send)).
|
||||
Register(fileSyncService).
|
||||
Register(filestorage.New()).
|
||||
Register(filesync.New()).
|
||||
Register(localdiscovery.New()).
|
||||
Register(peermanager.New()).
|
||||
Register(sbtProvider).
|
||||
Register(relationService).
|
||||
Register(ftsearch.New()).
|
||||
Register(objectStore).
|
||||
Register(typeprovider.New()).
|
||||
Register(relation.New()).
|
||||
Register(converter.NewLayoutConverter()).
|
||||
Register(recordsbatcher.New()).
|
||||
Register(fileService).
|
||||
Register(files.New()).
|
||||
Register(configfetcher.New()).
|
||||
Register(process.New()).
|
||||
Register(source.New()).
|
||||
Register(coreService).
|
||||
Register(core.New()).
|
||||
Register(core.NewTempDirService()).
|
||||
Register(builtintemplate.New()).
|
||||
Register(blockService).
|
||||
Register(indexerService).
|
||||
Register(syncStatusService).
|
||||
Register(block.New()).
|
||||
Register(indexer.New()).
|
||||
Register(syncstatus.New(fileWatcherUpdateInterval)).
|
||||
Register(history.New()).
|
||||
Register(gateway.New()).
|
||||
Register(export.New(sbtProvider)).
|
||||
Register(export.New()).
|
||||
Register(linkpreview.New()).
|
||||
Register(unsplash.New(tempDirService)).
|
||||
Register(restriction.New(sbtProvider, objectStore)).
|
||||
Register(unsplash.New()).
|
||||
Register(restriction.New()).
|
||||
Register(debug.New()).
|
||||
Register(collectionService).
|
||||
Register(subscription.New(collectionService, sbtProvider)).
|
||||
Register(builtinobjects.New(tempDirService)).
|
||||
Register(bookmark.New(tempDirService)).
|
||||
Register(collection.New()).
|
||||
Register(subscription.New()).
|
||||
Register(builtinobjects.New()).
|
||||
Register(bookmark.New()).
|
||||
Register(session.New()).
|
||||
Register(importer.New(tempDirService, sbtProvider)).
|
||||
Register(importer.New()).
|
||||
Register(decorator.New()).
|
||||
Register(objectCreator).
|
||||
Register(objectcreator.NewCreator()).
|
||||
Register(kanban.New()).
|
||||
Register(editor.NewObjectFactory(tempDirService, sbtProvider, layoutConverter)).
|
||||
Register(graphRenderer)
|
||||
Register(editor.NewObjectFactory()).
|
||||
Register(objectgraph.NewBuilder())
|
||||
}
|
||||
|
||||
func MiddlewareVersion() string {
|
||||
|
|
|
@ -44,10 +44,10 @@ type ConfigRequired struct {
|
|||
}
|
||||
|
||||
type Config struct {
|
||||
ConfigRequired `json:",inline"`
|
||||
NewAccount bool `ignored:"true"` // set to true if a new account is creating. This option controls whether mw should wait for the existing data to arrive before creating the new log
|
||||
Offline bool
|
||||
DisableThreadsSyncEvents bool
|
||||
ConfigRequired `json:",inline"`
|
||||
NewAccount bool `ignored:"true"` // set to true if a new account is creating. This option controls whether mw should wait for the existing data to arrive before creating the new log
|
||||
DisableThreadsSyncEvents bool
|
||||
DontStartLocalNetworkSyncAutomatically bool
|
||||
|
||||
RepoPath string
|
||||
AnalyticsId string
|
||||
|
@ -55,10 +55,9 @@ type Config struct {
|
|||
DebugAddr string
|
||||
LocalServerAddr string
|
||||
|
||||
DS clientds.Config
|
||||
FS FSConfig
|
||||
DisableFileConfig bool `ignored:"true"` // set in order to skip reading/writing config from/to file
|
||||
CreateBuiltinTemplates bool
|
||||
DS clientds.Config
|
||||
FS FSConfig
|
||||
DisableFileConfig bool `ignored:"true"` // set in order to skip reading/writing config from/to file
|
||||
}
|
||||
|
||||
type FSConfig struct {
|
||||
|
@ -75,8 +74,6 @@ const (
|
|||
)
|
||||
|
||||
var DefaultConfig = Config{
|
||||
Offline: false,
|
||||
|
||||
LocalServerAddr: ":0",
|
||||
DS: clientds.DefaultConfig,
|
||||
}
|
||||
|
@ -96,17 +93,15 @@ func WithDebugAddr(addr string) func(*Config) {
|
|||
}
|
||||
}
|
||||
|
||||
func WithLocalServer(addr string) func(*Config) {
|
||||
func WithDisabledLocalNetworkSync() func(*Config) {
|
||||
return func(c *Config) {
|
||||
c.LocalServerAddr = addr
|
||||
c.DontStartLocalNetworkSyncAutomatically = true
|
||||
}
|
||||
}
|
||||
|
||||
// WithCreateBuiltinTemplates flag had wrong meaning and is no longer used
|
||||
// deprecated
|
||||
func WithCreateBuiltinTemplates(createBuiltinTemplates bool) func(*Config) {
|
||||
func WithLocalServer(addr string) func(*Config) {
|
||||
return func(c *Config) {
|
||||
c.CreateBuiltinTemplates = createBuiltinTemplates
|
||||
c.LocalServerAddr = addr
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,105 +3,126 @@ nodes:
|
|||
- peerId: 12D3KooWCywWYgfDZmamJxvWKAvMT5AYDdRG8MMhCpYLHjW8aX7K
|
||||
addresses:
|
||||
- prod-any-sync-node1.toolpad.org:443
|
||||
- prod-any-sync-node1.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWKtaDnWNAb6DHHZBCEyB3tEQjLTcRFUSpRsjeSRq34Sgp
|
||||
addresses:
|
||||
- prod-any-sync-node2.toolpad.org:443
|
||||
- prod-any-sync-node2.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWHBN58eZ9RAt3qhoSECtScJtwwugtQhumPC2KqfuuHFx2
|
||||
addresses:
|
||||
- prod-any-sync-node3.toolpad.org:443
|
||||
- prod-any-sync-node3.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWAxCweKe8aZV6UGXYYXo9Q6W1gF7h7zhpD4FVpEqYXxts
|
||||
addresses:
|
||||
- prod-any-sync-node4.toolpad.org:443
|
||||
- prod-any-sync-node4.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWSrpbLQcX9teCjc29FEZByFVgMufY3UetwEfLLGyZk9ta
|
||||
addresses:
|
||||
- prod-any-sync-node5.toolpad.org:443
|
||||
- prod-any-sync-node5.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWMs2Vom8ukyAU7NBMm49UVXQnA7oVwo9kUFhgqdCdwSYe
|
||||
addresses:
|
||||
- prod-any-sync-node6.toolpad.org:443
|
||||
- prod-any-sync-node6.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWNgyZ4yDBZfpoiT7ijbSQfsYHBVq3cZ6hKC1na4Ybq7QE
|
||||
addresses:
|
||||
- prod-any-sync-node7.toolpad.org:443
|
||||
- prod-any-sync-node7.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWQi2Avyc8NmZJBJXK62Ux9ZeTyXy86nxF5S25jfXfmfEo
|
||||
addresses:
|
||||
- prod-any-sync-node8.toolpad.org:443
|
||||
- prod-any-sync-node8.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWLNJbA9gUwccuhxyWvn2uyrNUt7AHYCaQV5FWTq6Ss7AR
|
||||
addresses:
|
||||
- prod-any-sync-node9.toolpad.org:443
|
||||
- prod-any-sync-node9.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWMdKkq7SjrBMAqHXprtrbg86JudGUyf1Nk9WQQzKsWonJ
|
||||
addresses:
|
||||
- prod-any-sync-node10.toolpad.org:443
|
||||
- prod-any-sync-node10.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWMRghjHoSh3biVythJuChAQ6PddYvXjd1dR2H46jUXMtU
|
||||
addresses:
|
||||
- prod-any-sync-node11.toolpad.org:443
|
||||
- prod-any-sync-node11.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWC69WV4sU31YesYLuFovP92PS8LZkqLbJAmxCEb28UyCo
|
||||
addresses:
|
||||
- prod-any-sync-node12.toolpad.org:443
|
||||
- prod-any-sync-node12.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWG7R2VEmeUoyh8vtHUNp6cmKdih7K31a6vDT8BHezgQ1b
|
||||
addresses:
|
||||
- prod-any-sync-node13.toolpad.org:443
|
||||
- prod-any-sync-node13.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWD27VZCngpb5QeGyHJFUCDoQpgePTbvnmEsZYZxknmrpK
|
||||
addresses:
|
||||
- prod-any-sync-node14.toolpad.org:443
|
||||
- prod-any-sync-node14.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWEGtP8w6CtqGFi597i5HToSm8XFTBiK51NJrjLAUAfdZx
|
||||
addresses:
|
||||
- prod-any-sync-node15.toolpad.org:443
|
||||
- prod-any-sync-node15.toolpad.org:1443
|
||||
types:
|
||||
- tree
|
||||
- peerId: 12D3KooWBk6PrHAVFLV4zbWFVUjX9MGomVhvcQdGg3UFWz24pBPY
|
||||
addresses:
|
||||
- prod-any-sync-filenode1.toolpad.org:443
|
||||
- prod-any-sync-filenode1.toolpad.org:1443
|
||||
types:
|
||||
- file
|
||||
- peerId: 12D3KooWLfWd1B7XmEGThYVMtBi3Vcy1Qsa6YckAivbdHSiwnV6b
|
||||
addresses:
|
||||
- prod-any-sync-filenode2.toolpad.org:443
|
||||
- prod-any-sync-filenode2.toolpad.org:1443
|
||||
types:
|
||||
- file
|
||||
- peerId: 12D3KooW9wrLnc3SeBt33LZDKsPeWRy82a5VqM23LxLqtrc4so45
|
||||
addresses:
|
||||
- prod-any-sync-filenode3.toolpad.org:443
|
||||
- prod-any-sync-filenode3.toolpad.org:1443
|
||||
types:
|
||||
- file
|
||||
- peerId: 12D3KooWKStBu7tNGumsNp2AnRWsm1XmcnWjZpcc6pKVrhG17sGc
|
||||
addresses:
|
||||
- prod-any-sync-coordinator1.toolpad.org:443
|
||||
- prod-any-sync-coordinator1.toolpad.org:1443
|
||||
types:
|
||||
- coordinator
|
||||
- peerId: 12D3KooWDWktnygiEzZHqWhjQXoaKqR2KVqJJwrn6AfXHy2BHJqd
|
||||
addresses:
|
||||
- prod-any-sync-coordinator2.toolpad.org:443
|
||||
- prod-any-sync-coordinator2.toolpad.org:1443
|
||||
types:
|
||||
- coordinator
|
||||
- peerId: 12D3KooWK6YnMBfMCQ442pTsW5WvFJDaEv4AzF2UTFWWUNEbENfL
|
||||
addresses:
|
||||
- prod-any-sync-coordinator3.toolpad.org:443
|
||||
- prod-any-sync-coordinator3.toolpad.org:1443
|
||||
types:
|
||||
- coordinator
|
||||
- coordinator
|
|
@ -61,12 +61,12 @@ type service struct {
|
|||
creator ObjectCreator
|
||||
store objectstore.ObjectStore
|
||||
linkPreview linkpreview.LinkPreview
|
||||
tempDirService *core.TempDirService
|
||||
tempDirService core.TempDirProvider
|
||||
fileService files.Service
|
||||
}
|
||||
|
||||
func New(tempDirService *core.TempDirService) Service {
|
||||
return &service{tempDirService: tempDirService}
|
||||
func New() Service {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
func (s *service) Init(a *app.App) (err error) {
|
||||
|
@ -75,6 +75,7 @@ func (s *service) Init(a *app.App) (err error) {
|
|||
s.store = a.MustComponent(objectstore.CName).(objectstore.ObjectStore)
|
||||
s.linkPreview = a.MustComponent(linkpreview.CName).(linkpreview.LinkPreview)
|
||||
s.fileService = app.MustComponent[files.Service](a)
|
||||
s.tempDirService = app.MustComponent[core.TempDirProvider](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -29,37 +29,20 @@ type Service struct {
|
|||
lock *sync.RWMutex
|
||||
collections map[string]map[string]chan []string
|
||||
|
||||
picker block.Picker
|
||||
objectStore objectstore.ObjectStore
|
||||
objectCreator ObjectCreator
|
||||
objectDeleter ObjectDeleter
|
||||
picker block.Picker
|
||||
objectStore objectstore.ObjectStore
|
||||
}
|
||||
|
||||
type ObjectCreator interface {
|
||||
CreateObject(req block.DetailsGetter, forcedType bundle.TypeKey) (id string, details *types.Struct, err error)
|
||||
}
|
||||
|
||||
type ObjectDeleter interface {
|
||||
DeleteObject(id string) (err error)
|
||||
}
|
||||
|
||||
func New(
|
||||
picker block.Picker,
|
||||
store objectstore.ObjectStore,
|
||||
objectCreator ObjectCreator,
|
||||
objectDeleter ObjectDeleter,
|
||||
) *Service {
|
||||
func New() *Service {
|
||||
return &Service{
|
||||
picker: picker,
|
||||
objectStore: store,
|
||||
objectCreator: objectCreator,
|
||||
objectDeleter: objectDeleter,
|
||||
lock: &sync.RWMutex{},
|
||||
collections: map[string]map[string]chan []string{},
|
||||
lock: &sync.RWMutex{},
|
||||
collections: map[string]map[string]chan []string{},
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Service) Init(a *app.App) (err error) {
|
||||
s.picker = app.MustComponent[block.Picker](a)
|
||||
s.objectStore = app.MustComponent[objectstore.ObjectStore](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -220,7 +203,10 @@ func (s *Service) ObjectToCollection(id string) error {
|
|||
return fmt.Errorf("invalid smartblock impmlementation: %T", b)
|
||||
}
|
||||
st := b.NewState()
|
||||
commonOperations.SetLayoutInState(st, model.ObjectType_collection)
|
||||
err := commonOperations.SetLayoutInStateAndIgnoreRestriction(st, model.ObjectType_collection)
|
||||
if err != nil {
|
||||
return fmt.Errorf("set layout: %w", err)
|
||||
}
|
||||
st.SetObjectType(bundle.TypeKeyCollection.URL())
|
||||
flags := internalflag.NewFromState(st)
|
||||
flags.Remove(model.InternalFlag_editorSelectType)
|
||||
|
|
|
@ -8,9 +8,11 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/smartblock"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/smartblock/smarttest"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/template"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/mock_objectstore"
|
||||
)
|
||||
|
||||
type testPicker struct {
|
||||
|
@ -21,12 +23,35 @@ func (t *testPicker) PickBlock(ctx context.Context, id string) (sb smartblock.Sm
|
|||
return t.sb, nil
|
||||
}
|
||||
|
||||
func (t *testPicker) Init(a *app.App) error { return nil }
|
||||
|
||||
func (t *testPicker) Name() string { return "" }
|
||||
|
||||
type fixture struct {
|
||||
picker *testPicker
|
||||
*Service
|
||||
}
|
||||
|
||||
func newFixture(t *testing.T) *fixture {
|
||||
picker := &testPicker{}
|
||||
a := &app.App{}
|
||||
objectStore := mock_objectstore.NewMockObjectStore(t)
|
||||
objectStore.EXPECT().Name().Return("objectStore")
|
||||
a.Register(picker)
|
||||
a.Register(objectStore)
|
||||
s := New()
|
||||
|
||||
err := s.Init(a)
|
||||
require.NoError(t, err)
|
||||
return &fixture{picker: picker, Service: s}
|
||||
}
|
||||
|
||||
func TestBroadcast(t *testing.T) {
|
||||
const collectionID = "collectionID"
|
||||
sb := smarttest.New(collectionID)
|
||||
|
||||
picker := &testPicker{sb: sb}
|
||||
s := New(picker, nil, nil, nil)
|
||||
s := newFixture(t)
|
||||
s.picker.sb = sb
|
||||
|
||||
_, subCh1, err := s.SubscribeForCollection(collectionID, "sub1")
|
||||
require.NoError(t, err)
|
||||
|
|
|
@ -158,7 +158,10 @@ func (s *Service) ObjectToSet(id string, source []string) error {
|
|||
}
|
||||
st := b.NewState()
|
||||
st.SetDetail(bundle.RelationKeySetOf.String(), pbtypes.StringList(source))
|
||||
commonOperations.SetLayoutInState(st, model.ObjectType_set)
|
||||
err := commonOperations.SetLayoutInStateAndIgnoreRestriction(st, model.ObjectType_set)
|
||||
if err != nil {
|
||||
return fmt.Errorf("set layout: %w", err)
|
||||
}
|
||||
st.SetObjectType(bundle.TypeKeySet.URL())
|
||||
flags := internalflag.NewFromState(st)
|
||||
flags.Remove(model.InternalFlag_editorSelectType)
|
||||
|
|
|
@ -57,6 +57,7 @@ type CommonOperations interface {
|
|||
SetObjectTypesInState(s *state.State, objectTypes []string) (err error)
|
||||
SetLayout(ctx *session.Context, layout model.ObjectTypeLayout) (err error)
|
||||
SetLayoutInState(s *state.State, layout model.ObjectTypeLayout) (err error)
|
||||
SetLayoutInStateAndIgnoreRestriction(s *state.State, toLayout model.ObjectTypeLayout) (err error)
|
||||
}
|
||||
|
||||
type DetailsSettable interface {
|
||||
|
|
|
@ -38,7 +38,7 @@ func TestBasic_Create(t *testing.T) {
|
|||
t.Run("generic", func(t *testing.T) {
|
||||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test"}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
st := sb.NewState()
|
||||
id, err := b.CreateBlock(st, pb.RpcBlockCreateRequest{
|
||||
Block: &model.Block{Content: &model.BlockContentOfText{Text: &model.BlockContentText{Text: "ll"}}},
|
||||
|
@ -52,7 +52,7 @@ func TestBasic_Create(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test"}))
|
||||
require.NoError(t, smartblock.ObjectApplyTemplate(sb, sb.NewState(), template.WithTitle))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
s := sb.NewState()
|
||||
id, err := b.CreateBlock(s, pb.RpcBlockCreateRequest{
|
||||
TargetId: template.TitleBlockId,
|
||||
|
@ -73,7 +73,7 @@ func TestBasic_Create(t *testing.T) {
|
|||
}
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test"}))
|
||||
require.NoError(t, smartblock.ObjectApplyTemplate(sb, sb.NewState(), template.WithTitle))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
_, err := b.CreateBlock(sb.NewState(), pb.RpcBlockCreateRequest{})
|
||||
assert.ErrorIs(t, err, restriction.ErrRestricted)
|
||||
})
|
||||
|
@ -86,7 +86,7 @@ func TestBasic_Duplicate(t *testing.T) {
|
|||
AddBlock(simple.New(&model.Block{Id: "3"}))
|
||||
|
||||
st := sb.NewState()
|
||||
newIds, err := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil)).Duplicate(st, st, "", 0, []string{"2"})
|
||||
newIds, err := NewBasic(sb, nil, nil, converter.NewLayoutConverter()).Duplicate(st, st, "", 0, []string{"2"})
|
||||
require.NoError(t, err)
|
||||
|
||||
err = sb.Apply(st)
|
||||
|
@ -105,7 +105,7 @@ func TestBasic_Unlink(t *testing.T) {
|
|||
AddBlock(simple.New(&model.Block{Id: "2", ChildrenIds: []string{"3"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "3"}))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
err := b.Unlink(nil, "2")
|
||||
require.NoError(t, err)
|
||||
|
@ -119,7 +119,7 @@ func TestBasic_Unlink(t *testing.T) {
|
|||
AddBlock(simple.New(&model.Block{Id: "2", ChildrenIds: []string{"3"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "3"}))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
err := b.Unlink(nil, "2", "3")
|
||||
require.NoError(t, err)
|
||||
|
@ -136,7 +136,7 @@ func TestBasic_Move(t *testing.T) {
|
|||
AddBlock(simple.New(&model.Block{Id: "3"})).
|
||||
AddBlock(simple.New(&model.Block{Id: "4"}))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
st := sb.NewState()
|
||||
|
||||
err := b.Move(st, st, "4", model.Block_Inner, []string{"3"})
|
||||
|
@ -150,7 +150,7 @@ func TestBasic_Move(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test"}))
|
||||
require.NoError(t, smartblock.ObjectApplyTemplate(sb, sb.NewState(), template.WithTitle))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
s := sb.NewState()
|
||||
id1, err := b.CreateBlock(s, pb.RpcBlockCreateRequest{
|
||||
TargetId: template.HeaderLayoutId,
|
||||
|
@ -180,7 +180,7 @@ func TestBasic_Move(t *testing.T) {
|
|||
AddBlock(newTextBlock("1", "", nil)).
|
||||
AddBlock(newTextBlock("2", "one", nil))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
st := sb.NewState()
|
||||
err := b.Move(st, st, "1", model.Block_InnerFirst, []string{"2"})
|
||||
require.NoError(t, err)
|
||||
|
@ -200,7 +200,7 @@ func TestBasic_Move(t *testing.T) {
|
|||
AddBlock(firstBlock).
|
||||
AddBlock(secondBlock)
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
st := sb.NewState()
|
||||
err := b.Move(st, st, "1", model.Block_InnerFirst, []string{"2"})
|
||||
require.NoError(t, err)
|
||||
|
@ -214,7 +214,7 @@ func TestBasic_Move(t *testing.T) {
|
|||
AddBlock(newTextBlock("1", "", nil)).
|
||||
AddBlock(newTextBlock("2", "one", nil))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
st := sb.NewState()
|
||||
err := b.Move(st, nil, "1", model.Block_Top, []string{"2"})
|
||||
require.NoError(t, err)
|
||||
|
@ -234,7 +234,7 @@ func TestBasic_MoveToAnotherObject(t *testing.T) {
|
|||
sb2 := smarttest.New("test2")
|
||||
sb2.AddBlock(simple.New(&model.Block{Id: "test2", ChildrenIds: []string{}}))
|
||||
|
||||
b := NewBasic(sb1, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb1, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
srcState := sb1.NewState()
|
||||
destState := sb2.NewState()
|
||||
|
@ -269,7 +269,7 @@ func TestBasic_Replace(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test", ChildrenIds: []string{"2"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "2"}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
newId, err := b.Replace(nil, "2", &model.Block{Content: &model.BlockContentOfText{Text: &model.BlockContentText{Text: "l"}}})
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, newId)
|
||||
|
@ -279,7 +279,7 @@ func TestBasic_SetFields(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test", ChildrenIds: []string{"2"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "2"}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
fields := &types.Struct{
|
||||
Fields: map[string]*types.Value{
|
||||
|
@ -298,7 +298,7 @@ func TestBasic_Update(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test", ChildrenIds: []string{"2"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "2"}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
err := b.Update(nil, func(b simple.Block) error {
|
||||
b.Model().BackgroundColor = "test"
|
||||
|
@ -312,7 +312,7 @@ func TestBasic_SetDivStyle(t *testing.T) {
|
|||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test", ChildrenIds: []string{"2"}})).
|
||||
AddBlock(simple.New(&model.Block{Id: "2", Content: &model.BlockContentOfDiv{Div: &model.BlockContentDiv{}}}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
|
||||
err := b.SetDivStyle(nil, model.BlockContentDiv_Dots, "2")
|
||||
require.NoError(t, err)
|
||||
|
@ -323,7 +323,7 @@ func TestBasic_SetDivStyle(t *testing.T) {
|
|||
func TestBasic_PasteBlocks(t *testing.T) {
|
||||
sb := smarttest.New("test")
|
||||
sb.AddBlock(simple.New(&model.Block{Id: "test"}))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
s := sb.NewState()
|
||||
err := b.PasteBlocks(s, "", model.Block_Inner, []simple.Block{
|
||||
simple.New(&model.Block{Id: "1", ChildrenIds: []string{"1.1"}}),
|
||||
|
@ -350,7 +350,7 @@ func TestBasic_SetRelationKey(t *testing.T) {
|
|||
t.Run("correct", func(t *testing.T) {
|
||||
sb := smarttest.New("test")
|
||||
fillSb(sb)
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
err := b.SetRelationKey(nil, pb.RpcBlockRelationSetKeyRequest{
|
||||
BlockId: "2",
|
||||
Key: "testRelKey",
|
||||
|
@ -372,7 +372,7 @@ func TestBasic_SetRelationKey(t *testing.T) {
|
|||
t.Run("not relation block", func(t *testing.T) {
|
||||
sb := smarttest.New("test")
|
||||
fillSb(sb)
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
require.Error(t, b.SetRelationKey(nil, pb.RpcBlockRelationSetKeyRequest{
|
||||
BlockId: "1",
|
||||
Key: "key",
|
||||
|
@ -381,7 +381,7 @@ func TestBasic_SetRelationKey(t *testing.T) {
|
|||
t.Run("relation not found", func(t *testing.T) {
|
||||
sb := smarttest.New("test")
|
||||
fillSb(sb)
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
require.Error(t, b.SetRelationKey(nil, pb.RpcBlockRelationSetKeyRequest{
|
||||
BlockId: "2",
|
||||
Key: "not exists",
|
||||
|
@ -397,7 +397,7 @@ func TestBasic_FeaturedRelationAdd(t *testing.T) {
|
|||
s.AddBundledRelations(bundle.RelationKeyDescription)
|
||||
require.NoError(t, sb.Apply(s))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
newRel := []string{bundle.RelationKeyDescription.String(), bundle.RelationKeyName.String()}
|
||||
require.NoError(t, b.FeaturedRelationAdd(nil, newRel...))
|
||||
|
||||
|
@ -413,7 +413,7 @@ func TestBasic_FeaturedRelationRemove(t *testing.T) {
|
|||
template.WithDescription(s)
|
||||
require.NoError(t, sb.Apply(s))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
require.NoError(t, b.FeaturedRelationRemove(nil, bundle.RelationKeyDescription.String()))
|
||||
|
||||
res := sb.NewState()
|
||||
|
@ -450,7 +450,7 @@ func TestBasic_ReplaceLink(t *testing.T) {
|
|||
}
|
||||
require.NoError(t, sb.Apply(s))
|
||||
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter(nil, nil))
|
||||
b := NewBasic(sb, nil, nil, converter.NewLayoutConverter())
|
||||
require.NoError(t, b.ReplaceLink(oldId, newId))
|
||||
|
||||
res := sb.NewState()
|
||||
|
|
|
@ -218,6 +218,10 @@ func (bs *basic) SetLayoutInState(s *state.State, toLayout model.ObjectTypeLayou
|
|||
return fmt.Errorf("layout change is restricted for object '%s': %v", bs.Id(), err)
|
||||
}
|
||||
|
||||
return bs.SetLayoutInStateAndIgnoreRestriction(s, toLayout)
|
||||
}
|
||||
|
||||
func (bs *basic) SetLayoutInStateAndIgnoreRestriction(s *state.State, toLayout model.ObjectTypeLayout) (err error) {
|
||||
fromLayout, _ := s.Layout()
|
||||
|
||||
s.SetDetail(bundle.RelationKeyLayout.String(), pbtypes.Int64(int64(toLayout)))
|
||||
|
|
|
@ -190,7 +190,7 @@ func TestExtractObjects(t *testing.T) {
|
|||
ObjectType: bundle.TypeKeyNote.URL(),
|
||||
}
|
||||
ctx := session.NewContext()
|
||||
linkIds, err := NewBasic(sb, fixture.store, nil, converter.NewLayoutConverter(nil, nil)).ExtractBlocksToObjects(ctx, ts, req)
|
||||
linkIds, err := NewBasic(sb, fixture.store, nil, converter.NewLayoutConverter()).ExtractBlocksToObjects(ctx, ts, req)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var gotBlockIds []string
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
|
||||
"golang.org/x/exp/slices"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/dataview"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/state"
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/template"
|
||||
|
@ -22,19 +23,31 @@ import (
|
|||
|
||||
const DefaultSetSource = bundle.TypeKeyPage
|
||||
|
||||
type LayoutConverter struct {
|
||||
type LayoutConverter interface {
|
||||
Convert(st *state.State, fromLayout, toLayout model.ObjectTypeLayout) error
|
||||
app.Component
|
||||
}
|
||||
|
||||
type layoutConverter struct {
|
||||
objectStore objectstore.ObjectStore
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider
|
||||
}
|
||||
|
||||
func NewLayoutConverter(objectStore objectstore.ObjectStore, sbtProvider typeprovider.SmartBlockTypeProvider) LayoutConverter {
|
||||
return LayoutConverter{
|
||||
objectStore: objectStore,
|
||||
sbtProvider: sbtProvider,
|
||||
}
|
||||
func NewLayoutConverter() LayoutConverter {
|
||||
return &layoutConverter{}
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) Convert(st *state.State, fromLayout, toLayout model.ObjectTypeLayout) error {
|
||||
func (c *layoutConverter) Init(a *app.App) error {
|
||||
c.objectStore = app.MustComponent[objectstore.ObjectStore](a)
|
||||
c.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *layoutConverter) Name() string {
|
||||
return "layout-converter"
|
||||
}
|
||||
|
||||
func (c *layoutConverter) Convert(st *state.State, fromLayout, toLayout model.ObjectTypeLayout) error {
|
||||
if fromLayout == toLayout {
|
||||
return nil
|
||||
}
|
||||
|
@ -78,7 +91,7 @@ func (c *LayoutConverter) Convert(st *state.State, fromLayout, toLayout model.Ob
|
|||
return c.fromAnyToAny(st)
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToAny(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToAny(st *state.State) error {
|
||||
template.InitTemplate(st,
|
||||
template.WithTitle,
|
||||
template.WithDescription,
|
||||
|
@ -86,7 +99,7 @@ func (c *LayoutConverter) fromAnyToAny(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToBookmark(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToBookmark(st *state.State) error {
|
||||
template.InitTemplate(st,
|
||||
template.WithTitle,
|
||||
template.WithDescription,
|
||||
|
@ -95,7 +108,7 @@ func (c *LayoutConverter) fromAnyToBookmark(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToTodo(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToTodo(st *state.State) error {
|
||||
if err := st.SetAlign(model.Block_AlignLeft); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -107,7 +120,7 @@ func (c *LayoutConverter) fromAnyToTodo(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromNoteToSet(st *state.State) error {
|
||||
func (c *layoutConverter) fromNoteToSet(st *state.State) error {
|
||||
if err := c.fromNoteToAny(st); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -123,7 +136,7 @@ func (c *LayoutConverter) fromNoteToSet(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToSet(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToSet(st *state.State) error {
|
||||
source := pbtypes.GetStringList(st.Details(), bundle.RelationKeySetOf.String())
|
||||
if len(source) == 0 {
|
||||
source = []string{DefaultSetSource.URL()}
|
||||
|
@ -147,7 +160,7 @@ func addFeaturedRelationSetOf(st *state.State) {
|
|||
st.SetDetail(bundle.RelationKeyFeaturedRelations.String(), pbtypes.StringList(fr))
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromSetToCollection(st *state.State) error {
|
||||
func (c *layoutConverter) fromSetToCollection(st *state.State) error {
|
||||
dvBlock := st.Get(template.DataviewBlockId)
|
||||
if dvBlock == nil {
|
||||
return fmt.Errorf("dataview block is not found")
|
||||
|
@ -167,7 +180,7 @@ func (c *LayoutConverter) fromSetToCollection(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) listIDsFromSet(typesFromSet []string) ([]string, error) {
|
||||
func (c *layoutConverter) listIDsFromSet(typesFromSet []string) ([]string, error) {
|
||||
records, _, err := c.objectStore.Query(
|
||||
nil,
|
||||
database.Query{
|
||||
|
@ -184,7 +197,7 @@ func (c *LayoutConverter) listIDsFromSet(typesFromSet []string) ([]string, error
|
|||
return ids, nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromNoteToCollection(st *state.State) error {
|
||||
func (c *layoutConverter) fromNoteToCollection(st *state.State) error {
|
||||
if err := c.fromNoteToAny(st); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -197,13 +210,13 @@ func (c *LayoutConverter) fromNoteToCollection(st *state.State) error {
|
|||
return c.fromAnyToCollection(st)
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToCollection(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToCollection(st *state.State) error {
|
||||
blockContent := template.MakeCollectionDataviewContent()
|
||||
template.InitTemplate(st, template.WithDataview(*blockContent, false))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromNoteToAny(st *state.State) error {
|
||||
func (c *layoutConverter) fromNoteToAny(st *state.State) error {
|
||||
name, ok := st.Details().Fields[bundle.RelationKeyName.String()]
|
||||
|
||||
if !ok || name.GetStringValue() == "" {
|
||||
|
@ -228,7 +241,7 @@ func (c *LayoutConverter) fromNoteToAny(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) fromAnyToNote(st *state.State) error {
|
||||
func (c *layoutConverter) fromAnyToNote(st *state.State) error {
|
||||
template.InitTemplate(st,
|
||||
template.WithNameToFirstBlock,
|
||||
template.WithNoTitle,
|
||||
|
@ -237,7 +250,7 @@ func (c *LayoutConverter) fromAnyToNote(st *state.State) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *LayoutConverter) removeRelationSetOf(st *state.State) {
|
||||
func (c *layoutConverter) removeRelationSetOf(st *state.State) {
|
||||
st.RemoveDetail(bundle.RelationKeySetOf.String())
|
||||
|
||||
fr := pbtypes.GetStringList(st.Details(), bundle.RelationKeyFeaturedRelations.String())
|
||||
|
|
|
@ -46,16 +46,8 @@ type ObjectFactory struct {
|
|||
subObjectFactory subObjectFactory
|
||||
}
|
||||
|
||||
func NewObjectFactory(
|
||||
tempDirProvider core.TempDirProvider,
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider,
|
||||
layoutConverter converter.LayoutConverter,
|
||||
) *ObjectFactory {
|
||||
return &ObjectFactory{
|
||||
tempDirProvider: tempDirProvider,
|
||||
sbtProvider: sbtProvider,
|
||||
layoutConverter: layoutConverter,
|
||||
}
|
||||
func NewObjectFactory() *ObjectFactory {
|
||||
return &ObjectFactory{}
|
||||
}
|
||||
|
||||
func (f *ObjectFactory) Init(a *app.App) (err error) {
|
||||
|
@ -71,6 +63,9 @@ func (f *ObjectFactory) Init(a *app.App) (err error) {
|
|||
f.templateCloner = app.MustComponent[templateCloner](a)
|
||||
f.fileService = app.MustComponent[files.Service](a)
|
||||
f.config = app.MustComponent[*config.Config](a)
|
||||
f.tempDirProvider = app.MustComponent[core.TempDirProvider](a)
|
||||
f.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
f.layoutConverter = app.MustComponent[converter.LayoutConverter](a)
|
||||
|
||||
f.subObjectFactory = subObjectFactory{
|
||||
coreService: f.anytype,
|
||||
|
|
|
@ -9,9 +9,9 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"go.uber.org/mock/gomock"
|
||||
"github.com/magiconair/properties/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/file"
|
||||
"github.com/anyproto/anytype-heart/core/block/simple"
|
||||
|
@ -165,7 +165,7 @@ func newFixture(t *testing.T) *uplFixture {
|
|||
fx.fileService = testMock.NewMockFileService(fx.ctrl)
|
||||
fx.blockService = NewMockBlockService(fx.ctrl)
|
||||
|
||||
fx.Uploader = file.NewUploader(fx.blockService, fx.fileService, core.NewTempDirService(nil))
|
||||
fx.Uploader = file.NewUploader(fx.blockService, fx.fileService, core.NewTempDirService())
|
||||
fx.file = testMock.NewMockFile(fx.ctrl)
|
||||
fx.file.EXPECT().Hash().Return("123").AnyTimes()
|
||||
return fx
|
||||
|
|
|
@ -4,12 +4,11 @@ import (
|
|||
"context"
|
||||
"testing"
|
||||
|
||||
"go.uber.org/mock/gomock"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/block/editor/state"
|
||||
"github.com/anyproto/anytype-heart/core/block/restriction"
|
||||
"github.com/anyproto/anytype-heart/core/block/simple"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
|
||||
|
@ -20,9 +19,12 @@ import (
|
|||
"github.com/anyproto/anytype-heart/util/testMock/mockRelation"
|
||||
"github.com/anyproto/anytype-heart/util/testMock/mockSource"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/block/restriction"
|
||||
"github.com/anyproto/anytype-heart/core/block/restriction/mock_restriction"
|
||||
_ "github.com/anyproto/anytype-heart/core/block/simple/base"
|
||||
_ "github.com/anyproto/anytype-heart/core/block/simple/link"
|
||||
_ "github.com/anyproto/anytype-heart/core/block/simple/text"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestSmartBlock_Init(t *testing.T) {
|
||||
|
@ -120,7 +122,8 @@ func newFixture(t *testing.T) *fixture {
|
|||
indexer := NewMockIndexer(ctrl)
|
||||
indexer.EXPECT().Name().Return("indexer").AnyTimes()
|
||||
|
||||
restrictionService := restriction.New(nil, objectStore)
|
||||
restrictionService := mock_restriction.NewMockService(t)
|
||||
restrictionService.EXPECT().GetRestrictions(mock.Anything).Return(restriction.Restrictions{})
|
||||
relationService := mockRelation.NewMockService(ctrl)
|
||||
|
||||
fileService := testMock.NewMockFileService(ctrl)
|
||||
|
|
|
@ -53,24 +53,23 @@ type Export interface {
|
|||
}
|
||||
|
||||
type export struct {
|
||||
bs *block.Service
|
||||
objectStore objectstore.ObjectStore
|
||||
a core.Service
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider
|
||||
fileService files.Service
|
||||
blockService *block.Service
|
||||
objectStore objectstore.ObjectStore
|
||||
coreService core.Service
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider
|
||||
fileService files.Service
|
||||
}
|
||||
|
||||
func New(sbtProvider typeprovider.SmartBlockTypeProvider) Export {
|
||||
return &export{
|
||||
sbtProvider: sbtProvider,
|
||||
}
|
||||
func New() Export {
|
||||
return &export{}
|
||||
}
|
||||
|
||||
func (e *export) Init(a *app.App) (err error) {
|
||||
e.bs = a.MustComponent(block.CName).(*block.Service)
|
||||
e.a = a.MustComponent(core.CName).(core.Service)
|
||||
e.blockService = a.MustComponent(block.CName).(*block.Service)
|
||||
e.coreService = a.MustComponent(core.CName).(core.Service)
|
||||
e.objectStore = a.MustComponent(objectstore.CName).(objectstore.ObjectStore)
|
||||
e.fileService = app.MustComponent[files.Service](a)
|
||||
e.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -79,7 +78,7 @@ func (e *export) Name() (name string) {
|
|||
}
|
||||
|
||||
func (e *export) Export(req pb.RpcObjectListExportRequest) (path string, succeed int, err error) {
|
||||
queue := e.bs.Process().NewQueue(pb.ModelProcess{
|
||||
queue := e.blockService.Process().NewQueue(pb.ModelProcess{
|
||||
Id: bson.NewObjectId().Hex(),
|
||||
Type: pb.ModelProcess_Export,
|
||||
State: 0,
|
||||
|
@ -278,7 +277,7 @@ func (e *export) writeMultiDoc(mw converter.MultiConverter, wr writer, docs map[
|
|||
for did := range docs {
|
||||
if err = queue.Wait(func() {
|
||||
log.With("objectID", did).Debugf("write doc")
|
||||
werr := e.bs.Do(did, func(b sb.SmartBlock) error {
|
||||
werr := e.blockService.Do(did, func(b sb.SmartBlock) error {
|
||||
if err = mw.Add(b.NewState().Copy()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -312,14 +311,14 @@ func (e *export) writeMultiDoc(mw converter.MultiConverter, wr writer, docs map[
|
|||
}
|
||||
|
||||
func (e *export) writeDoc(format pb.RpcObjectListExportFormat, wr writer, docInfo map[string]*types.Struct, queue process.Queue, docID string, exportFiles, isJSON bool) (err error) {
|
||||
return e.bs.Do(docID, func(b sb.SmartBlock) error {
|
||||
return e.blockService.Do(docID, func(b sb.SmartBlock) error {
|
||||
if pbtypes.GetBool(b.CombinedDetails(), bundle.RelationKeyIsDeleted.String()) {
|
||||
return nil
|
||||
}
|
||||
var conv converter.Converter
|
||||
switch format {
|
||||
case pb.RpcObjectListExport_Markdown:
|
||||
conv = md.NewMDConverter(e.a, b.NewState(), wr.Namer())
|
||||
conv = md.NewMDConverter(e.coreService, b.NewState(), wr.Namer())
|
||||
case pb.RpcObjectListExport_Protobuf:
|
||||
conv = pbc.NewConverter(b, isJSON)
|
||||
case pb.RpcObjectListExport_JSON:
|
||||
|
@ -336,7 +335,7 @@ func (e *export) writeDoc(format pb.RpcObjectListExportFormat, wr writer, docInf
|
|||
}
|
||||
filename = wr.Namer().Get("", docID, name, conv.Ext())
|
||||
}
|
||||
if docID == e.a.PredefinedBlocks().Home {
|
||||
if docID == e.coreService.PredefinedBlocks().Home {
|
||||
filename = "index" + conv.Ext()
|
||||
}
|
||||
if err = wr.WriteFile(filename, bytes.NewReader(result)); err != nil {
|
||||
|
@ -390,18 +389,18 @@ func (e *export) saveFile(wr writer, hash string) (err error) {
|
|||
|
||||
func (e *export) createProfileFile(wr writer) error {
|
||||
var spaceDashBoardID string
|
||||
pr, err := e.a.LocalProfile()
|
||||
pr, err := e.coreService.LocalProfile()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = e.bs.Do(e.a.PredefinedBlocks().Account, func(b sb.SmartBlock) error {
|
||||
err = e.blockService.Do(e.coreService.PredefinedBlocks().Account, func(b sb.SmartBlock) error {
|
||||
spaceDashBoardID = pbtypes.GetString(b.CombinedDetails(), bundle.RelationKeySpaceDashboardId.String())
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
profileID := e.a.ProfileID()
|
||||
profileID := e.coreService.ProfileID()
|
||||
profile := &pb.Profile{
|
||||
SpaceDashboardId: spaceDashBoardID,
|
||||
Address: pr.AccountAddr,
|
||||
|
|
|
@ -93,6 +93,9 @@ func handleDataviewBlock(block simple.Block, oldIDtoNew map[string]string, st *s
|
|||
updateRelationID(block.(dataview.Block), relation, view, newID)
|
||||
}
|
||||
}
|
||||
if view.DefaultTemplateId != "" {
|
||||
view.DefaultTemplateId = oldIDtoNew[view.DefaultTemplateId]
|
||||
}
|
||||
}
|
||||
for _, group := range dataView.GetGroupOrders() {
|
||||
for _, vg := range group.ViewGroups {
|
||||
|
|
|
@ -3,6 +3,7 @@ package importer
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
|
@ -31,6 +32,7 @@ import (
|
|||
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/core"
|
||||
sb "github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/addr"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/filestore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/logging"
|
||||
|
@ -53,14 +55,9 @@ type Import struct {
|
|||
sbtProvider typeprovider.SmartBlockTypeProvider
|
||||
}
|
||||
|
||||
func New(
|
||||
tempDirProvider core.TempDirProvider,
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider,
|
||||
) Importer {
|
||||
func New() Importer {
|
||||
return &Import{
|
||||
tempDirProvider: tempDirProvider,
|
||||
sbtProvider: sbtProvider,
|
||||
converters: make(map[string]converter.Converter, 0),
|
||||
converters: make(map[string]converter.Converter, 0),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,6 +85,8 @@ func (i *Import) Init(a *app.App) (err error) {
|
|||
fileStore := app.MustComponent[filestore.FileStore](a)
|
||||
relationSyncer := syncer.NewFileRelationSyncer(i.s, fileStore)
|
||||
i.oc = NewCreator(i.s, objCreator, coreService, factory, store, relationSyncer, fileStore)
|
||||
i.tempDirProvider = app.MustComponent[core.TempDirProvider](a)
|
||||
i.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -282,6 +281,7 @@ func (i *Import) getIDForAllObjects(ctx *session.Context, res *converter.Respons
|
|||
}
|
||||
}
|
||||
for _, option := range relationOptions {
|
||||
i.replaceRelationKeyWithNew(option, oldIDToNew)
|
||||
err := i.getObjectID(ctx, option, createPayloads, oldIDToNew, req.UpdateExistingObjects)
|
||||
if err != nil {
|
||||
allErrors.Add(err)
|
||||
|
@ -294,6 +294,18 @@ func (i *Import) getIDForAllObjects(ctx *session.Context, res *converter.Respons
|
|||
return oldIDToNew, createPayloads, nil
|
||||
}
|
||||
|
||||
func (i *Import) replaceRelationKeyWithNew(option *converter.Snapshot, oldIDToNew map[string]string) {
|
||||
if option.Snapshot.Data.Details == nil || len(option.Snapshot.Data.Details.Fields) == 0 {
|
||||
return
|
||||
}
|
||||
key := pbtypes.GetString(option.Snapshot.Data.Details, bundle.RelationKeyRelationKey.String())
|
||||
relationID := addr.RelationKeyToIdPrefix + key
|
||||
if newRelationID, ok := oldIDToNew[relationID]; ok {
|
||||
key = strings.TrimPrefix(newRelationID, addr.RelationKeyToIdPrefix)
|
||||
}
|
||||
option.Snapshot.Data.Details.Fields[bundle.RelationKeyRelationKey.String()] = pbtypes.String(key)
|
||||
}
|
||||
|
||||
func (i *Import) getObjectID(ctx *session.Context,
|
||||
snapshot *converter.Snapshot,
|
||||
createPayloads map[string]treestorage.TreeStorageCreatePayload,
|
||||
|
|
|
@ -4,18 +4,22 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/anyproto/any-sync/commonspace/object/tree/treestorage"
|
||||
"go.uber.org/mock/gomock"
|
||||
"github.com/gogo/protobuf/types"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
"github.com/anyproto/any-sync/commonspace/object/tree/treestorage"
|
||||
cv "github.com/anyproto/anytype-heart/core/block/import/converter"
|
||||
pbc "github.com/anyproto/anytype-heart/core/block/import/pb"
|
||||
"github.com/anyproto/anytype-heart/core/block/import/web"
|
||||
"github.com/anyproto/anytype-heart/core/block/import/web/parsers"
|
||||
"github.com/anyproto/anytype-heart/core/session"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
|
||||
"github.com/anyproto/anytype-heart/util/pbtypes"
|
||||
)
|
||||
|
||||
func Test_ImportSuccess(t *testing.T) {
|
||||
|
@ -606,3 +610,72 @@ func Test_ImportErrLimitExceededIgnoreErrorMode(t *testing.T) {
|
|||
assert.NotNil(t, res)
|
||||
assert.True(t, errors.Is(res, cv.ErrLimitExceeded))
|
||||
}
|
||||
|
||||
func TestImport_replaceRelationKeyWithNew(t *testing.T) {
|
||||
t.Run("no matching relation id in oldIDToNew map", func(t *testing.T) {
|
||||
// given
|
||||
i := Import{}
|
||||
option := &cv.Snapshot{
|
||||
Snapshot: &pb.ChangeSnapshot{
|
||||
Data: &model.SmartBlockSnapshotBase{
|
||||
Details: &types.Struct{
|
||||
Fields: map[string]*types.Value{
|
||||
bundle.RelationKeyRelationKey.String(): pbtypes.String("key"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
SbType: smartblock.SmartBlockTypeSubObject,
|
||||
}
|
||||
oldIDToNew := make(map[string]string, 0)
|
||||
|
||||
//when
|
||||
i.replaceRelationKeyWithNew(option, oldIDToNew)
|
||||
|
||||
// then
|
||||
assert.Equal(t, "key", pbtypes.GetString(option.Snapshot.Data.Details, bundle.RelationKeyRelationKey.String()))
|
||||
})
|
||||
t.Run("oldIDToNew map have relation id", func(t *testing.T) {
|
||||
// given
|
||||
i := Import{}
|
||||
option := &cv.Snapshot{
|
||||
Snapshot: &pb.ChangeSnapshot{
|
||||
Data: &model.SmartBlockSnapshotBase{
|
||||
Details: &types.Struct{
|
||||
Fields: map[string]*types.Value{
|
||||
bundle.RelationKeyRelationKey.String(): pbtypes.String("key"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
SbType: smartblock.SmartBlockTypeSubObject,
|
||||
}
|
||||
oldIDToNew := map[string]string{"rel-key": "rel-newkey"}
|
||||
|
||||
//when
|
||||
i.replaceRelationKeyWithNew(option, oldIDToNew)
|
||||
|
||||
// then
|
||||
assert.Equal(t, "newkey", pbtypes.GetString(option.Snapshot.Data.Details, bundle.RelationKeyRelationKey.String()))
|
||||
})
|
||||
|
||||
t.Run("no details", func(t *testing.T) {
|
||||
// given
|
||||
i := Import{}
|
||||
option := &cv.Snapshot{
|
||||
Snapshot: &pb.ChangeSnapshot{
|
||||
Data: &model.SmartBlockSnapshotBase{
|
||||
Details: nil,
|
||||
},
|
||||
},
|
||||
SbType: smartblock.SmartBlockTypeSubObject,
|
||||
}
|
||||
oldIDToNew := map[string]string{"rel-key": "rel-newkey"}
|
||||
|
||||
//when
|
||||
i.replaceRelationKeyWithNew(option, oldIDToNew)
|
||||
|
||||
// then
|
||||
assert.Nil(t, option.Snapshot.Data.Details)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -202,10 +202,6 @@ func (ou *ObjectIDGetter) getExistingRelation(snapshot *converter.Snapshot, ids
|
|||
func (ou *ObjectIDGetter) getExistingRelationOption(snapshot *converter.Snapshot, ids []string, oldToNewIDs map[string]string) ([]string, error) {
|
||||
name := pbtypes.GetString(snapshot.Snapshot.Data.Details, bundle.RelationKeyName.String())
|
||||
key := pbtypes.GetString(snapshot.Snapshot.Data.Details, bundle.RelationKeyRelationKey.String())
|
||||
relationID := addr.RelationKeyToIdPrefix + key
|
||||
if newRelationID, ok := oldToNewIDs[relationID]; ok {
|
||||
key = strings.TrimPrefix(newRelationID, addr.RelationKeyToIdPrefix)
|
||||
}
|
||||
ids, _, err := ou.objectStore.QueryObjectIDs(database.Query{
|
||||
Filters: []*model.BlockContentDataviewFilter{
|
||||
{
|
||||
|
|
|
@ -59,21 +59,18 @@ type Creator struct {
|
|||
creator Service //nolint:unused
|
||||
|
||||
// TODO: remove it?
|
||||
anytype core.Service
|
||||
coreService core.Service
|
||||
}
|
||||
|
||||
type CollectionService interface {
|
||||
CreateCollection(details *types.Struct, flags []*model.InternalFlag) (coresb.SmartBlockType, *types.Struct, *state.State, error)
|
||||
}
|
||||
|
||||
func NewCreator(sbtProvider typeprovider.SmartBlockTypeProvider) *Creator {
|
||||
return &Creator{
|
||||
sbtProvider: sbtProvider,
|
||||
}
|
||||
func NewCreator() *Creator {
|
||||
return &Creator{}
|
||||
}
|
||||
|
||||
func (c *Creator) Init(a *app.App) (err error) {
|
||||
c.anytype = a.MustComponent(core.CName).(core.Service)
|
||||
c.blockService = a.MustComponent(block.CName).(BlockService)
|
||||
c.blockPicker = a.MustComponent(block.CName).(block.Picker)
|
||||
c.objectStore = a.MustComponent(objectstore.CName).(objectstore.ObjectStore)
|
||||
|
@ -81,7 +78,8 @@ func (c *Creator) Init(a *app.App) (err error) {
|
|||
c.bookmark = a.MustComponent(bookmark.CName).(bookmark.Service)
|
||||
c.objectFactory = app.MustComponent[*editor.ObjectFactory](a)
|
||||
c.collectionService = app.MustComponent[CollectionService](a)
|
||||
c.anytype = a.MustComponent(core.CName).(core.Service)
|
||||
c.coreService = app.MustComponent[core.Service](a)
|
||||
c.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
c.app = a
|
||||
return nil
|
||||
}
|
||||
|
@ -154,14 +152,14 @@ func (c *Creator) CreateSmartBlockFromState(ctx context.Context, sbType coresb.S
|
|||
|
||||
// if we don't have anything in details then check the object store
|
||||
if workspaceID == "" {
|
||||
workspaceID = c.anytype.PredefinedBlocks().Account
|
||||
workspaceID = c.coreService.PredefinedBlocks().Account
|
||||
}
|
||||
|
||||
if workspaceID != "" {
|
||||
createState.SetDetailAndBundledRelation(bundle.RelationKeyWorkspaceId, pbtypes.String(workspaceID))
|
||||
}
|
||||
createState.SetDetailAndBundledRelation(bundle.RelationKeyCreatedDate, pbtypes.Int64(time.Now().Unix()))
|
||||
createState.SetDetailAndBundledRelation(bundle.RelationKeyCreator, pbtypes.String(c.anytype.ProfileID()))
|
||||
createState.SetDetailAndBundledRelation(bundle.RelationKeyCreator, pbtypes.String(c.coreService.ProfileID()))
|
||||
|
||||
ev := &metrics.CreateObjectEvent{
|
||||
SetDetailsMs: time.Since(startTime).Milliseconds(),
|
||||
|
@ -194,7 +192,7 @@ func (c *Creator) CreateSmartBlockFromState(ctx context.Context, sbType coresb.S
|
|||
}
|
||||
|
||||
func (c *Creator) InjectWorkspaceID(details *types.Struct, objectID string) {
|
||||
workspaceID, err := c.anytype.GetWorkspaceIdForObject(objectID)
|
||||
workspaceID, err := c.coreService.GetWorkspaceIdForObject(objectID)
|
||||
if err != nil {
|
||||
workspaceID = ""
|
||||
}
|
||||
|
@ -265,7 +263,7 @@ func (c *Creator) CreateSubObjectInWorkspace(details *types.Struct, workspaceID
|
|||
// TODO: it must be in another component
|
||||
func (c *Creator) CreateSubObjectsInWorkspace(details []*types.Struct) (ids []string, objects []*types.Struct, err error) {
|
||||
// todo: rewrite to the current workspace id
|
||||
err = block.Do(c.blockPicker, c.anytype.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
err = block.Do(c.blockPicker, c.coreService.PredefinedBlocks().Account, func(b smartblock.SmartBlock) error {
|
||||
workspace, ok := b.(*editor.Workspaces)
|
||||
if !ok {
|
||||
return fmt.Errorf("incorrect object with workspace id")
|
||||
|
@ -343,15 +341,15 @@ func (c *Creator) CreateObject(req block.DetailsGetter, forcedType bundle.TypeKe
|
|||
return c.CreateSmartBlockFromState(context.TODO(), sbType, details, st)
|
||||
case bundle.TypeKeyObjectType.URL():
|
||||
details.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_objectType))
|
||||
return c.CreateSubObjectInWorkspace(details, c.anytype.PredefinedBlocks().Account)
|
||||
return c.CreateSubObjectInWorkspace(details, c.coreService.PredefinedBlocks().Account)
|
||||
|
||||
case bundle.TypeKeyRelation.URL():
|
||||
details.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_relation))
|
||||
return c.CreateSubObjectInWorkspace(details, c.anytype.PredefinedBlocks().Account)
|
||||
return c.CreateSubObjectInWorkspace(details, c.coreService.PredefinedBlocks().Account)
|
||||
|
||||
case bundle.TypeKeyRelationOption.URL():
|
||||
details.Fields[bundle.RelationKeyLayout.String()] = pbtypes.Float64(float64(model.ObjectType_relationOption))
|
||||
return c.CreateSubObjectInWorkspace(details, c.anytype.PredefinedBlocks().Account)
|
||||
return c.CreateSubObjectInWorkspace(details, c.coreService.PredefinedBlocks().Account)
|
||||
|
||||
case bundle.TypeKeyTemplate.URL():
|
||||
sbType = coresb.SmartBlockTypeTemplate
|
||||
|
|
|
@ -44,21 +44,15 @@ type Builder struct {
|
|||
*app.App
|
||||
}
|
||||
|
||||
func NewBuilder(
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider,
|
||||
relationService relation.Service,
|
||||
objectStore objectstore.ObjectStore,
|
||||
coreService core.Service,
|
||||
) *Builder {
|
||||
return &Builder{
|
||||
sbtProvider: sbtProvider,
|
||||
relationService: relationService,
|
||||
objectStore: objectStore,
|
||||
coreService: coreService,
|
||||
}
|
||||
func NewBuilder() *Builder {
|
||||
return &Builder{}
|
||||
}
|
||||
|
||||
func (gr *Builder) Init(a *app.App) (err error) {
|
||||
gr.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
gr.relationService = app.MustComponent[relation.Service](a)
|
||||
gr.objectStore = app.MustComponent[objectstore.ObjectStore](a)
|
||||
gr.coreService = app.MustComponent[core.Service](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
)
|
||||
|
||||
func TestService_DataviewRestrictions(t *testing.T) {
|
||||
rest := New(nil, nil)
|
||||
rest := New()
|
||||
assert.True(t, rest.GetRestrictions(&restrictionHolder{
|
||||
id: bundle.TypeKeyAudio.URL(),
|
||||
tp: model.SmartBlockType_SubObject,
|
||||
|
|
222
core/block/restriction/mock_restriction/mock_Service.go
Normal file
222
core/block/restriction/mock_restriction/mock_Service.go
Normal file
|
@ -0,0 +1,222 @@
|
|||
// Code generated by mockery v2.26.1. DO NOT EDIT.
|
||||
|
||||
package mock_restriction
|
||||
|
||||
import (
|
||||
app "github.com/anyproto/any-sync/app"
|
||||
mock "github.com/stretchr/testify/mock"
|
||||
|
||||
model "github.com/anyproto/anytype-heart/pkg/lib/pb/model"
|
||||
|
||||
restriction "github.com/anyproto/anytype-heart/core/block/restriction"
|
||||
)
|
||||
|
||||
// MockService is an autogenerated mock type for the Service type
|
||||
type MockService struct {
|
||||
mock.Mock
|
||||
}
|
||||
|
||||
type MockService_Expecter struct {
|
||||
mock *mock.Mock
|
||||
}
|
||||
|
||||
func (_m *MockService) EXPECT() *MockService_Expecter {
|
||||
return &MockService_Expecter{mock: &_m.Mock}
|
||||
}
|
||||
|
||||
// CheckRestrictions provides a mock function with given fields: id, cr
|
||||
func (_m *MockService) CheckRestrictions(id string, cr ...model.RestrictionsObjectRestriction) error {
|
||||
_va := make([]interface{}, len(cr))
|
||||
for _i := range cr {
|
||||
_va[_i] = cr[_i]
|
||||
}
|
||||
var _ca []interface{}
|
||||
_ca = append(_ca, id)
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 error
|
||||
if rf, ok := ret.Get(0).(func(string, ...model.RestrictionsObjectRestriction) error); ok {
|
||||
r0 = rf(id, cr...)
|
||||
} else {
|
||||
r0 = ret.Error(0)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockService_CheckRestrictions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CheckRestrictions'
|
||||
type MockService_CheckRestrictions_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// CheckRestrictions is a helper method to define mock.On call
|
||||
// - id string
|
||||
// - cr ...model.RestrictionsObjectRestriction
|
||||
func (_e *MockService_Expecter) CheckRestrictions(id interface{}, cr ...interface{}) *MockService_CheckRestrictions_Call {
|
||||
return &MockService_CheckRestrictions_Call{Call: _e.mock.On("CheckRestrictions",
|
||||
append([]interface{}{id}, cr...)...)}
|
||||
}
|
||||
|
||||
func (_c *MockService_CheckRestrictions_Call) Run(run func(id string, cr ...model.RestrictionsObjectRestriction)) *MockService_CheckRestrictions_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
variadicArgs := make([]model.RestrictionsObjectRestriction, len(args)-1)
|
||||
for i, a := range args[1:] {
|
||||
if a != nil {
|
||||
variadicArgs[i] = a.(model.RestrictionsObjectRestriction)
|
||||
}
|
||||
}
|
||||
run(args[0].(string), variadicArgs...)
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_CheckRestrictions_Call) Return(_a0 error) *MockService_CheckRestrictions_Call {
|
||||
_c.Call.Return(_a0)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_CheckRestrictions_Call) RunAndReturn(run func(string, ...model.RestrictionsObjectRestriction) error) *MockService_CheckRestrictions_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
// GetRestrictions provides a mock function with given fields: _a0
|
||||
func (_m *MockService) GetRestrictions(_a0 restriction.RestrictionHolder) restriction.Restrictions {
|
||||
ret := _m.Called(_a0)
|
||||
|
||||
var r0 restriction.Restrictions
|
||||
if rf, ok := ret.Get(0).(func(restriction.RestrictionHolder) restriction.Restrictions); ok {
|
||||
r0 = rf(_a0)
|
||||
} else {
|
||||
r0 = ret.Get(0).(restriction.Restrictions)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockService_GetRestrictions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetRestrictions'
|
||||
type MockService_GetRestrictions_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// GetRestrictions is a helper method to define mock.On call
|
||||
// - _a0 restriction.RestrictionHolder
|
||||
func (_e *MockService_Expecter) GetRestrictions(_a0 interface{}) *MockService_GetRestrictions_Call {
|
||||
return &MockService_GetRestrictions_Call{Call: _e.mock.On("GetRestrictions", _a0)}
|
||||
}
|
||||
|
||||
func (_c *MockService_GetRestrictions_Call) Run(run func(_a0 restriction.RestrictionHolder)) *MockService_GetRestrictions_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run(args[0].(restriction.RestrictionHolder))
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_GetRestrictions_Call) Return(_a0 restriction.Restrictions) *MockService_GetRestrictions_Call {
|
||||
_c.Call.Return(_a0)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_GetRestrictions_Call) RunAndReturn(run func(restriction.RestrictionHolder) restriction.Restrictions) *MockService_GetRestrictions_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
// Init provides a mock function with given fields: a
|
||||
func (_m *MockService) Init(a *app.App) error {
|
||||
ret := _m.Called(a)
|
||||
|
||||
var r0 error
|
||||
if rf, ok := ret.Get(0).(func(*app.App) error); ok {
|
||||
r0 = rf(a)
|
||||
} else {
|
||||
r0 = ret.Error(0)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockService_Init_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Init'
|
||||
type MockService_Init_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// Init is a helper method to define mock.On call
|
||||
// - a *app.App
|
||||
func (_e *MockService_Expecter) Init(a interface{}) *MockService_Init_Call {
|
||||
return &MockService_Init_Call{Call: _e.mock.On("Init", a)}
|
||||
}
|
||||
|
||||
func (_c *MockService_Init_Call) Run(run func(a *app.App)) *MockService_Init_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run(args[0].(*app.App))
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_Init_Call) Return(err error) *MockService_Init_Call {
|
||||
_c.Call.Return(err)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_Init_Call) RunAndReturn(run func(*app.App) error) *MockService_Init_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
// Name provides a mock function with given fields:
|
||||
func (_m *MockService) Name() string {
|
||||
ret := _m.Called()
|
||||
|
||||
var r0 string
|
||||
if rf, ok := ret.Get(0).(func() string); ok {
|
||||
r0 = rf()
|
||||
} else {
|
||||
r0 = ret.Get(0).(string)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockService_Name_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Name'
|
||||
type MockService_Name_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// Name is a helper method to define mock.On call
|
||||
func (_e *MockService_Expecter) Name() *MockService_Name_Call {
|
||||
return &MockService_Name_Call{Call: _e.mock.On("Name")}
|
||||
}
|
||||
|
||||
func (_c *MockService_Name_Call) Run(run func()) *MockService_Name_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run()
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_Name_Call) Return(name string) *MockService_Name_Call {
|
||||
_c.Call.Return(name)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockService_Name_Call) RunAndReturn(run func() string) *MockService_Name_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
type mockConstructorTestingTNewMockService interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
}
|
||||
|
||||
// NewMockService creates a new instance of MockService. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
func NewMockService(t mockConstructorTestingTNewMockService) *MockService {
|
||||
mock := &MockService{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
t.Cleanup(func() { mock.AssertExpectations(t) })
|
||||
|
||||
return mock
|
||||
}
|
|
@ -216,7 +216,7 @@ func (s *service) getObjectRestrictions(rh RestrictionHolder) (r ObjectRestricti
|
|||
}
|
||||
|
||||
if !errors.Is(r.Check(model.Restrictions_Template), ErrRestricted) {
|
||||
if _, err := s.store.GetObjectType(rh.ObjectType()); err != nil {
|
||||
if _, err := s.objectStore.GetObjectType(rh.ObjectType()); err != nil {
|
||||
r = append(r, model.Restrictions_Template)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,20 +3,44 @@ package restriction
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"go.uber.org/mock/gomock"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/mock_objectstore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
|
||||
"github.com/anyproto/anytype-heart/util/testMock"
|
||||
"github.com/anyproto/anytype-heart/space/typeprovider/mock_typeprovider"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/mock"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
type fixture struct {
|
||||
Service
|
||||
objectStoreMock *mock_objectstore.MockObjectStore
|
||||
}
|
||||
|
||||
func newFixture(t *testing.T) *fixture {
|
||||
objectStore := mock_objectstore.NewMockObjectStore(t)
|
||||
objectStore.EXPECT().Name().Return("objectstore")
|
||||
|
||||
sbtProvider := mock_typeprovider.NewMockSmartBlockTypeProvider(t)
|
||||
sbtProvider.EXPECT().Name().Return("sbtProvider")
|
||||
|
||||
a := &app.App{}
|
||||
a.Register(objectStore)
|
||||
a.Register(sbtProvider)
|
||||
s := New()
|
||||
err := s.Init(a)
|
||||
require.NoError(t, err)
|
||||
return &fixture{
|
||||
Service: s,
|
||||
objectStoreMock: objectStore,
|
||||
}
|
||||
}
|
||||
|
||||
func TestService_ObjectRestrictionsById(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
store := testMock.NewMockObjectStore(ctrl)
|
||||
store.EXPECT().GetObjectType(gomock.Any()).AnyTimes()
|
||||
rest := New(nil, store)
|
||||
rest := newFixture(t)
|
||||
rest.objectStoreMock.EXPECT().GetObjectType(mock.Anything).Return(nil, nil)
|
||||
|
||||
assert.ErrorIs(t, rest.GetRestrictions(&restrictionHolder{
|
||||
id: "",
|
||||
|
@ -110,11 +134,9 @@ func TestService_ObjectRestrictionsById(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestTemplateRestriction(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
store := testMock.NewMockObjectStore(ctrl)
|
||||
store.EXPECT().GetObjectType(bundle.TypeKeyPage.URL()).Return(nil, objectstore.ErrObjectNotFound)
|
||||
store.EXPECT().GetObjectType(bundle.TypeKeyContact.URL()).Return(&model.ObjectType{}, nil)
|
||||
rs := New(nil, store)
|
||||
rs := newFixture(t)
|
||||
rs.objectStoreMock.EXPECT().GetObjectType(bundle.TypeKeyPage.URL()).Return(nil, objectstore.ErrObjectNotFound)
|
||||
rs.objectStoreMock.EXPECT().GetObjectType(bundle.TypeKeyContact.URL()).Return(&model.ObjectType{}, nil)
|
||||
|
||||
assert.ErrorIs(t, rs.GetRestrictions(&restrictionHolder{
|
||||
id: "cannot make template from Template smartblock type",
|
||||
|
|
|
@ -33,17 +33,16 @@ type Service interface {
|
|||
|
||||
type service struct {
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider
|
||||
store objectstore.ObjectStore
|
||||
objectStore objectstore.ObjectStore
|
||||
}
|
||||
|
||||
func New(sbtProvider typeprovider.SmartBlockTypeProvider, objectStore objectstore.ObjectStore) Service {
|
||||
return &service{
|
||||
sbtProvider: sbtProvider,
|
||||
store: objectStore,
|
||||
}
|
||||
func New() Service {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
func (s *service) Init(*app.App) (err error) {
|
||||
func (s *service) Init(a *app.App) (err error) {
|
||||
s.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
s.objectStore = app.MustComponent[objectstore.ObjectStore](a)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -75,7 +74,7 @@ func (s *service) getRestrictionsById(id string) (r Restrictions, err error) {
|
|||
return Restrictions{}, fmt.Errorf("get smartblock type: %w", err)
|
||||
}
|
||||
layout := model.ObjectTypeLayout(noLayout)
|
||||
d, err := s.store.GetDetails(id)
|
||||
d, err := s.objectStore.GetDetails(id)
|
||||
var ot string
|
||||
if err == nil {
|
||||
if pbtypes.HasField(d.GetDetails(), bundle.RelationKeyLayout.String()) {
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func TestService_GetRestrictions(t *testing.T) {
|
||||
s := New(nil, nil)
|
||||
s := New()
|
||||
res := s.GetRestrictions(&restrictionHolder{tp: model.SmartBlockType_BundledObjectType})
|
||||
assert.NotEmpty(t, res.Object)
|
||||
}
|
||||
|
|
|
@ -94,16 +94,9 @@ type SmartblockOpener interface {
|
|||
Open(id string) (sb smartblock.SmartBlock, err error)
|
||||
}
|
||||
|
||||
func New(
|
||||
tempDirProvider *core.TempDirService,
|
||||
sbtProvider typeprovider.SmartBlockTypeProvider,
|
||||
layoutConverter converter.LayoutConverter,
|
||||
) *Service {
|
||||
func New() *Service {
|
||||
return &Service{
|
||||
tempDirProvider: tempDirProvider,
|
||||
sbtProvider: sbtProvider,
|
||||
layoutConverter: layoutConverter,
|
||||
closing: make(chan struct{}),
|
||||
closing: make(chan struct{}),
|
||||
openedObjs: &openedObjects{
|
||||
objects: make(map[string]bool),
|
||||
lock: &sync.Mutex{},
|
||||
|
@ -191,6 +184,11 @@ func (s *Service) Init(a *app.App) (err error) {
|
|||
s.fileStore = app.MustComponent[filestore.FileStore](a)
|
||||
s.fileSync = app.MustComponent[filesync.FileSync](a)
|
||||
s.fileService = app.MustComponent[files.Service](a)
|
||||
|
||||
s.tempDirProvider = app.MustComponent[core.TempDirProvider](a)
|
||||
s.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
s.layoutConverter = app.MustComponent[converter.LayoutConverter](a)
|
||||
|
||||
s.cache = s.createCache()
|
||||
s.app = a
|
||||
return
|
||||
|
|
|
@ -12,15 +12,15 @@ const (
|
|||
<meta name="CocoaVersion" content="1894.1">
|
||||
<style type="text/css">
|
||||
.row > * { display: flex; }
|
||||
.header1 { padding: 23px 0px 1px 0px; font-size: 28px; line-height: 32px; letter-spacing: -0.36px; font-weight: 600; }
|
||||
.header2 { padding: 15px 0px 1px 0px; font-size: 22px; line-height: 28px; letter-spacing: -0.16px; font-weight: 600; }
|
||||
.header3 { padding: 15px 0px 1px 0px; font-size: 17px; line-height: 24px; font-weight: 600; }
|
||||
.quote { padding: 7px 0px 7px 0px; font-size: 18px; line-height: 26px; font-style: italic; }
|
||||
.paragraph { font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word; }
|
||||
.header1 {` + styleHeader1 + `}
|
||||
.header2 {` + styleHeader2 + `}
|
||||
.header3 {` + styleHeader3 + `}
|
||||
.quote {` + styleQuote + `}
|
||||
.paragraph {` + styleParagraph + `}
|
||||
.callout-image { width: 20px; height: 20px; font-size: 16px; line-height: 20px; margin-right: 6px; display: inline-block; }
|
||||
.callout-image img { width: 100%; object-fit: cover; }
|
||||
a { cursor: pointer; }
|
||||
kbd { display: inline; font-family: 'Mono'; line-height: 1.71; background: rgba(247,245,240,0.5); padding: 0px 4px; border-radius: 2px; }
|
||||
kbd {` + styleKbd + `}
|
||||
ul { margin: 0px; }
|
||||
</style>
|
||||
</head>
|
||||
|
@ -74,7 +74,7 @@ var styleTags = map[model.BlockContentTextStyle]styleTag{
|
|||
model.BlockContentText_Title: {OpenTag: `<h1 style="` + styleTitle + `">`, CloseTag: `</h1>`},
|
||||
model.BlockContentText_Checkbox: {OpenTag: `<div style="` + styleCheckbox + `" class="check"><input type="checkbox"/>`, CloseTag: `</div>`},
|
||||
model.BlockContentText_Toggle: {OpenTag: `<div style="` + styleToggle + `" class="toggle">`, CloseTag: `</div>`},
|
||||
defaultStyle: {OpenTag: `<div style="` + styleParagraph + `" class="paragraph" style="` + styleParagraph + `">`, CloseTag: `</div>`},
|
||||
defaultStyle: {OpenTag: `<div style="` + styleParagraph + `" class="paragraph">`, CloseTag: `</div>`},
|
||||
}
|
||||
|
||||
func textColor(color string) string {
|
||||
|
|
|
@ -137,6 +137,9 @@ func (h *HTML) renderText(rs *renderState, b *model.Block) {
|
|||
tags, ok := styleTags[text.Style]
|
||||
if !ok {
|
||||
tags = styleTags[defaultStyle]
|
||||
if text.Text == "" {
|
||||
tags = styleTag{OpenTag: "<p>", CloseTag: "</p>"}
|
||||
}
|
||||
}
|
||||
rs.Close()
|
||||
h.buf.WriteString(tags.OpenTag)
|
||||
|
|
|
@ -366,7 +366,7 @@ func givenTrimmedString(s string) string {
|
|||
}
|
||||
|
||||
const markupExpectation = `
|
||||
<div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph" style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;">
|
||||
<div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph">
|
||||
<b>0
|
||||
<i>1</i>
|
||||
</b>
|
||||
|
@ -435,7 +435,7 @@ const intersectMarksExpectation = `
|
|||
const columnsExpectation = `
|
||||
<div class="row" style="display: flex">
|
||||
<div class="column" >
|
||||
<div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph" style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;">1</div></div><div class="column" ><div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph" style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;">
|
||||
<div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph">1</div></div><div class="column" ><div style="font-size: 15px; line-height: 24px; letter-spacing: -0.08px; font-weight: 400; word-wrap: break-word;" class="paragraph">
|
||||
2
|
||||
</div>
|
||||
</div>
|
||||
|
|
155
core/event/mock_event/mock_Sender.go
Normal file
155
core/event/mock_event/mock_Sender.go
Normal file
|
@ -0,0 +1,155 @@
|
|||
// Code generated by mockery v2.26.1. DO NOT EDIT.
|
||||
|
||||
package mock_event
|
||||
|
||||
import (
|
||||
app "github.com/anyproto/any-sync/app"
|
||||
|
||||
mock "github.com/stretchr/testify/mock"
|
||||
|
||||
pb "github.com/anyproto/anytype-heart/pb"
|
||||
)
|
||||
|
||||
// MockSender is an autogenerated mock type for the Sender type
|
||||
type MockSender struct {
|
||||
mock.Mock
|
||||
}
|
||||
|
||||
type MockSender_Expecter struct {
|
||||
mock *mock.Mock
|
||||
}
|
||||
|
||||
func (_m *MockSender) EXPECT() *MockSender_Expecter {
|
||||
return &MockSender_Expecter{mock: &_m.Mock}
|
||||
}
|
||||
|
||||
// Init provides a mock function with given fields: a
|
||||
func (_m *MockSender) Init(a *app.App) error {
|
||||
ret := _m.Called(a)
|
||||
|
||||
var r0 error
|
||||
if rf, ok := ret.Get(0).(func(*app.App) error); ok {
|
||||
r0 = rf(a)
|
||||
} else {
|
||||
r0 = ret.Error(0)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockSender_Init_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Init'
|
||||
type MockSender_Init_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// Init is a helper method to define mock.On call
|
||||
// - a *app.App
|
||||
func (_e *MockSender_Expecter) Init(a interface{}) *MockSender_Init_Call {
|
||||
return &MockSender_Init_Call{Call: _e.mock.On("Init", a)}
|
||||
}
|
||||
|
||||
func (_c *MockSender_Init_Call) Run(run func(a *app.App)) *MockSender_Init_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run(args[0].(*app.App))
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Init_Call) Return(err error) *MockSender_Init_Call {
|
||||
_c.Call.Return(err)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Init_Call) RunAndReturn(run func(*app.App) error) *MockSender_Init_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
// Name provides a mock function with given fields:
|
||||
func (_m *MockSender) Name() string {
|
||||
ret := _m.Called()
|
||||
|
||||
var r0 string
|
||||
if rf, ok := ret.Get(0).(func() string); ok {
|
||||
r0 = rf()
|
||||
} else {
|
||||
r0 = ret.Get(0).(string)
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// MockSender_Name_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Name'
|
||||
type MockSender_Name_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// Name is a helper method to define mock.On call
|
||||
func (_e *MockSender_Expecter) Name() *MockSender_Name_Call {
|
||||
return &MockSender_Name_Call{Call: _e.mock.On("Name")}
|
||||
}
|
||||
|
||||
func (_c *MockSender_Name_Call) Run(run func()) *MockSender_Name_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run()
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Name_Call) Return(name string) *MockSender_Name_Call {
|
||||
_c.Call.Return(name)
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Name_Call) RunAndReturn(run func() string) *MockSender_Name_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
// Send provides a mock function with given fields: _a0
|
||||
func (_m *MockSender) Send(_a0 *pb.Event) {
|
||||
_m.Called(_a0)
|
||||
}
|
||||
|
||||
// MockSender_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send'
|
||||
type MockSender_Send_Call struct {
|
||||
*mock.Call
|
||||
}
|
||||
|
||||
// Send is a helper method to define mock.On call
|
||||
// - _a0 *pb.Event
|
||||
func (_e *MockSender_Expecter) Send(_a0 interface{}) *MockSender_Send_Call {
|
||||
return &MockSender_Send_Call{Call: _e.mock.On("Send", _a0)}
|
||||
}
|
||||
|
||||
func (_c *MockSender_Send_Call) Run(run func(_a0 *pb.Event)) *MockSender_Send_Call {
|
||||
_c.Call.Run(func(args mock.Arguments) {
|
||||
run(args[0].(*pb.Event))
|
||||
})
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Send_Call) Return() *MockSender_Send_Call {
|
||||
_c.Call.Return()
|
||||
return _c
|
||||
}
|
||||
|
||||
func (_c *MockSender_Send_Call) RunAndReturn(run func(*pb.Event)) *MockSender_Send_Call {
|
||||
_c.Call.Return(run)
|
||||
return _c
|
||||
}
|
||||
|
||||
type mockConstructorTestingTNewMockSender interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
}
|
||||
|
||||
// NewMockSender creates a new instance of MockSender. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
func NewMockSender(t mockConstructorTestingTNewMockSender) *MockSender {
|
||||
mock := &MockSender{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
t.Cleanup(func() { mock.AssertExpectations(t) })
|
||||
|
||||
return mock
|
||||
}
|
|
@ -81,11 +81,8 @@ type service struct {
|
|||
objectStore objectstore.ObjectStore
|
||||
}
|
||||
|
||||
func New(statusWatcher SyncStatusWatcher, objectStore objectstore.ObjectStore) Service {
|
||||
return &service{
|
||||
syncStatusWatcher: statusWatcher,
|
||||
objectStore: objectStore,
|
||||
}
|
||||
func New() Service {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
func (s *service) Init(a *app.App) (err error) {
|
||||
|
@ -95,6 +92,8 @@ func (s *service) Init(a *app.App) (err error) {
|
|||
s.spaceService = a.MustComponent(space.CName).(space.Service)
|
||||
s.dagService = s.commonFile.DAGService()
|
||||
s.fileStorage = app.MustComponent[filestorage.FileStorage](a)
|
||||
s.objectStore = app.MustComponent[objectstore.ObjectStore](a)
|
||||
s.syncStatusWatcher = app.MustComponent[SyncStatusWatcher](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import (
|
|||
"go.uber.org/zap"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/anytype/config"
|
||||
"github.com/anyproto/anytype-heart/core/event"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/rpcstore"
|
||||
"github.com/anyproto/anytype-heart/core/wallet"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
|
@ -32,10 +33,8 @@ const FlatfsDirName = "flatfs"
|
|||
|
||||
var log = logger.NewNamed(CName)
|
||||
|
||||
func New(sendEvent func(event *pb.Event)) FileStorage {
|
||||
return &fileStorage{
|
||||
sendEvent: sendEvent,
|
||||
}
|
||||
func New() FileStorage {
|
||||
return &fileStorage{}
|
||||
}
|
||||
|
||||
type FileStorage interface {
|
||||
|
@ -73,6 +72,7 @@ func (f *fileStorage) Init(a *app.App) (err error) {
|
|||
f.spaceStorage = a.MustComponent(spacestorage.CName).(storage.ClientStorage)
|
||||
f.handler = &rpcHandler{spaceStorage: f.spaceStorage}
|
||||
f.spaceService = a.MustComponent(space.CName).(space.Service)
|
||||
f.sendEvent = app.MustComponent[event.Sender](a).Send
|
||||
if fileCfg.IPFSStorageAddr == "" {
|
||||
f.flatfsPath = filepath.Join(app.MustComponent[wallet.Wallet](a).RepoPath(), FlatfsDirName)
|
||||
} else {
|
||||
|
|
|
@ -14,6 +14,7 @@ import (
|
|||
ipld "github.com/ipfs/go-ipld-format"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/event"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/rpcstore"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/datastore"
|
||||
|
@ -73,9 +74,8 @@ type fileSync struct {
|
|||
spaceStats map[string]SpaceStat
|
||||
}
|
||||
|
||||
func New(sendEvent func(event *pb.Event)) FileSync {
|
||||
func New() FileSync {
|
||||
return &fileSync{
|
||||
sendEvent: sendEvent,
|
||||
spaceStats: map[string]SpaceStat{},
|
||||
}
|
||||
}
|
||||
|
@ -86,6 +86,7 @@ func (f *fileSync) Init(a *app.App) (err error) {
|
|||
f.dagService = a.MustComponent(fileservice.CName).(fileservice.FileService).DAGService()
|
||||
f.fileStore = app.MustComponent[filestore.FileStore](a)
|
||||
f.spaceService = app.MustComponent[space.Service](a)
|
||||
f.sendEvent = app.MustComponent[event.Sender](a).Send
|
||||
f.removePingCh = make(chan struct{})
|
||||
f.uploadPingCh = make(chan struct{})
|
||||
return
|
||||
|
@ -109,20 +110,7 @@ func (f *fileSync) Run(ctx context.Context) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
// TODO multi-spaces: init for each space: GO-1681
|
||||
{
|
||||
spaceID := f.spaceService.AccountId()
|
||||
_, err = f.SpaceStat(ctx, spaceID)
|
||||
if err != nil {
|
||||
// Don't confuse users with 0B limit in case of error, so set default 1GB limit
|
||||
f.setSpaceStats(spaceID, SpaceStat{
|
||||
SpaceId: spaceID,
|
||||
BytesLimit: 1024 * 1024 * 1024, // 1 GB
|
||||
})
|
||||
log.Error("can't init space stats", zap.String("spaceID", f.spaceService.AccountId()), zap.Error(err))
|
||||
err = nil
|
||||
}
|
||||
}
|
||||
go f.precacheSpaceStats()
|
||||
|
||||
f.loopCtx, f.loopCancel = context.WithCancel(context.Background())
|
||||
go f.addLoop()
|
||||
|
@ -130,6 +118,20 @@ func (f *fileSync) Run(ctx context.Context) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func (f *fileSync) precacheSpaceStats() {
|
||||
// TODO multi-spaces: init for each space: GO-1681
|
||||
spaceID := f.spaceService.AccountId()
|
||||
_, err := f.SpaceStat(context.Background(), spaceID)
|
||||
if err != nil {
|
||||
// Don't confuse users with 0B limit in case of error, so set default 1GB limit
|
||||
f.setSpaceStats(spaceID, SpaceStat{
|
||||
SpaceId: spaceID,
|
||||
BytesLimit: 1024 * 1024 * 1024, // 1 GB
|
||||
})
|
||||
log.Error("can't init space stats", zap.String("spaceID", f.spaceService.AccountId()), zap.Error(err))
|
||||
}
|
||||
}
|
||||
|
||||
func (f *fileSync) Close(ctx context.Context) (err error) {
|
||||
if f.loopCancel != nil {
|
||||
f.loopCancel()
|
||||
|
|
|
@ -25,13 +25,14 @@ import (
|
|||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/event/mock_event"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/rpcstore"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/rpcstore/mock_rpcstore"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/datastore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/filestore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/pb/storage"
|
||||
"github.com/anyproto/anytype-heart/space/mock_space"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
var ctx = context.Background()
|
||||
|
@ -83,9 +84,7 @@ func TestFileSync_RemoveFile(t *testing.T) {
|
|||
|
||||
func newFixture(t *testing.T) *fixture {
|
||||
fx := &fixture{
|
||||
FileSync: New(func(event *pb.Event) {
|
||||
fmt.Println(event)
|
||||
}),
|
||||
FileSync: New(),
|
||||
fileService: fileservice.New(),
|
||||
ctrl: gomock.NewController(t),
|
||||
a: new(app.App),
|
||||
|
@ -119,13 +118,19 @@ func newFixture(t *testing.T) *fixture {
|
|||
spaceService.EXPECT().AccountId().Return("space1").AnyTimes()
|
||||
spaceService.EXPECT().Close(gomock.Any()).AnyTimes()
|
||||
|
||||
sender := mock_event.NewMockSender(t)
|
||||
sender.EXPECT().Name().Return("event")
|
||||
sender.EXPECT().Init(mock.Anything).Return(nil)
|
||||
sender.EXPECT().Send(mock.Anything).Return().Maybe()
|
||||
|
||||
fx.a.Register(fx.fileService).
|
||||
Register(&inMemBlockStore{data: map[string]blocks.Block{}}).
|
||||
Register(bp).
|
||||
Register(mockRpcStoreService).
|
||||
Register(fx.FileSync).
|
||||
Register(fileStoreMock).
|
||||
Register(spaceService)
|
||||
Register(spaceService).
|
||||
Register(sender)
|
||||
require.NoError(t, fx.a.Start(ctx))
|
||||
return fx
|
||||
}
|
||||
|
|
|
@ -66,15 +66,8 @@ var (
|
|||
ftIndexForceMinInterval = time.Second * 10
|
||||
)
|
||||
|
||||
func New(
|
||||
picker block.Picker,
|
||||
spaceService space.Service,
|
||||
fileService files.Service,
|
||||
) Indexer {
|
||||
func New() Indexer {
|
||||
return &indexer{
|
||||
picker: picker,
|
||||
spaceService: spaceService,
|
||||
fileService: fileService,
|
||||
indexedFiles: &sync.Map{},
|
||||
}
|
||||
}
|
||||
|
@ -132,6 +125,9 @@ func (i *indexer) Init(a *app.App) (err error) {
|
|||
i.ftsearch = app.MustComponent[ftsearch.FTSearch](a)
|
||||
i.subObjectCreator = app.MustComponent[subObjectCreator](a)
|
||||
i.syncStarter = app.MustComponent[syncStarter](a)
|
||||
i.picker = app.MustComponent[block.Picker](a)
|
||||
i.spaceService = app.MustComponent[space.Service](a)
|
||||
i.fileService = app.MustComponent[files.Service](a)
|
||||
i.quit = make(chan struct{})
|
||||
i.forceFt = make(chan struct{})
|
||||
return
|
||||
|
|
|
@ -21,8 +21,9 @@ import (
|
|||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/ftsearch"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
|
||||
"github.com/anyproto/anytype-heart/space/typeprovider"
|
||||
"github.com/anyproto/anytype-heart/space/typeprovider/mock_typeprovider"
|
||||
"github.com/anyproto/anytype-heart/util/pbtypes"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func Test_GrouperTags(t *testing.T) {
|
||||
|
@ -31,11 +32,14 @@ func Test_GrouperTags(t *testing.T) {
|
|||
|
||||
app := testapp.New()
|
||||
defer app.Close(context.Background())
|
||||
tp := typeprovider.New(nil)
|
||||
tp.Init(nil)
|
||||
ds := objectstore.New(tp)
|
||||
tp := mock_typeprovider.NewMockSmartBlockTypeProvider(t)
|
||||
tp.EXPECT().Name().Return("mock_typeprovider")
|
||||
tp.EXPECT().Init(mock.Anything).Return(nil)
|
||||
tp.EXPECT().Type("rel-tag").Return(smartblock2.SmartBlockTypeSubObject, nil)
|
||||
ds := objectstore.New()
|
||||
kanbanSrv := New()
|
||||
err := app.With(&config.DefaultConfig).
|
||||
With(tp).
|
||||
With(wallet.NewWithRepoDirAndRandomKeys(tmpDir)).
|
||||
With(clientds.New()).
|
||||
With(ftsearch.New()).
|
||||
|
@ -84,10 +88,6 @@ func Test_GrouperTags(t *testing.T) {
|
|||
id2 := bson.NewObjectId().Hex()
|
||||
id3 := bson.NewObjectId().Hex()
|
||||
id4 := bson.NewObjectId().Hex()
|
||||
tp.RegisterStaticType(id1, smartblock2.SmartBlockTypePage)
|
||||
tp.RegisterStaticType(id2, smartblock2.SmartBlockTypePage)
|
||||
tp.RegisterStaticType(id3, smartblock2.SmartBlockTypePage)
|
||||
tp.RegisterStaticType(id4, smartblock2.SmartBlockTypePage)
|
||||
|
||||
require.NoError(t, ds.UpdateObjectDetails(id1, &types.Struct{
|
||||
Fields: map[string]*types.Value{"name": pbtypes.String("one")},
|
||||
|
|
|
@ -39,7 +39,7 @@ func start(t *testing.T, eventSender event.Sender) (setId string, rootPath strin
|
|||
respWalletCreate := mw.WalletCreate(context.Background(), &pb.RpcWalletCreateRequest{RootPath: rootPath})
|
||||
require.Equal(t, 0, int(respWalletCreate.Error.Code), respWalletCreate.Error.Description)
|
||||
|
||||
respAccountCreate := mw.AccountCreate(context.Background(), &pb.RpcAccountCreateRequest{Name: "profile", AlphaInviteCode: "elbrus"})
|
||||
respAccountCreate := mw.AccountCreate(context.Background(), &pb.RpcAccountCreateRequest{Name: "profile"})
|
||||
require.Equal(t, 0, int(respAccountCreate.Error.Code), respAccountCreate.Error.Description)
|
||||
|
||||
resp := mw.ObjectCreateSet(context.Background(), &pb.RpcObjectCreateSetRequest{
|
||||
|
|
|
@ -35,11 +35,8 @@ var log = logging.Logger("anytype-mw-subscription")
|
|||
|
||||
var batchTime = 50 * time.Millisecond
|
||||
|
||||
func New(collectionService CollectionService, sbtProvider typeprovider.SmartBlockTypeProvider) Service {
|
||||
return &service{
|
||||
collectionService: collectionService,
|
||||
sbtProvider: sbtProvider,
|
||||
}
|
||||
func New() Service {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
type Service interface {
|
||||
|
@ -92,6 +89,8 @@ func (s *service) Init(a *app.App) (err error) {
|
|||
s.kanban = a.MustComponent(kanban.CName).(kanban.Service)
|
||||
s.recBatch = mb.New(0)
|
||||
s.sendEvent = a.MustComponent(event.CName).(event.Sender).Send
|
||||
s.collectionService = app.MustComponent[CollectionService](a)
|
||||
s.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
s.ctxBuf = &opCtx{c: s.cache}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -5,18 +5,21 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/gogo/protobuf/types"
|
||||
"go.uber.org/mock/gomock"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/anytype-heart/app/testapp"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/database"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
|
||||
"github.com/anyproto/anytype-heart/space/typeprovider/mock_typeprovider"
|
||||
"github.com/anyproto/anytype-heart/util/pbtypes"
|
||||
"github.com/anyproto/anytype-heart/util/testMock"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestService_Search(t *testing.T) {
|
||||
|
@ -313,13 +316,19 @@ func (c *collectionServiceMock) SubscribeForCollection(collectionID string, subs
|
|||
func (c *collectionServiceMock) UnsubscribeFromCollection(collectionID string, subscriptionID string) {
|
||||
}
|
||||
|
||||
func (c *collectionServiceMock) Name() string {
|
||||
return "collectionService"
|
||||
}
|
||||
|
||||
func (c *collectionServiceMock) Init(a *app.App) error { return nil }
|
||||
|
||||
func newFixture(t *testing.T) *fixture {
|
||||
ctrl := gomock.NewController(t)
|
||||
a := testapp.New()
|
||||
testMock.RegisterMockObjectStore(ctrl, a)
|
||||
testMock.RegisterMockKanban(ctrl, a)
|
||||
fx := &fixture{
|
||||
Service: New(&collectionServiceMock{}, nil),
|
||||
Service: New(),
|
||||
a: a,
|
||||
ctrl: ctrl,
|
||||
store: a.MustComponent(objectstore.CName).(*testMock.MockObjectStore),
|
||||
|
@ -329,6 +338,13 @@ func newFixture(t *testing.T) *fixture {
|
|||
}}
|
||||
a.Register(fx.Service)
|
||||
a.Register(fx.sender)
|
||||
a.Register(&collectionServiceMock{updateCh: make(chan []string, 1)})
|
||||
|
||||
sbtProvider := mock_typeprovider.NewMockSmartBlockTypeProvider(t)
|
||||
sbtProvider.EXPECT().Name().Return("sbtProvider")
|
||||
sbtProvider.EXPECT().Init(mock.Anything).Return(nil)
|
||||
|
||||
a.Register(sbtProvider)
|
||||
|
||||
fx.store.EXPECT().SubscribeForAll(gomock.Any())
|
||||
require.NoError(t, a.Start(context.Background()))
|
||||
|
|
|
@ -11,8 +11,8 @@ import (
|
|||
|
||||
"github.com/anyproto/anytype-heart/core/anytype/config"
|
||||
"github.com/anyproto/anytype-heart/core/block/getblock"
|
||||
"github.com/anyproto/anytype-heart/core/event"
|
||||
"github.com/anyproto/anytype-heart/core/filestorage/filesync"
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/core"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
|
||||
"github.com/anyproto/anytype-heart/pkg/lib/datastore"
|
||||
|
@ -36,8 +36,10 @@ type Service interface {
|
|||
var _ Service = (*service)(nil)
|
||||
|
||||
type service struct {
|
||||
typeProvider typeprovider.SmartBlockTypeProvider
|
||||
spaceService space.Service
|
||||
typeProvider typeprovider.SmartBlockTypeProvider
|
||||
spaceService space.Service
|
||||
fileSyncService filesync.FileSync
|
||||
fileWatcherUpdateInterval time.Duration
|
||||
|
||||
coreService core.Service
|
||||
|
||||
|
@ -48,38 +50,35 @@ type service struct {
|
|||
updateReceiver *updateReceiver
|
||||
}
|
||||
|
||||
func New(
|
||||
typeProvider typeprovider.SmartBlockTypeProvider,
|
||||
dbProvider datastore.Datastore,
|
||||
spaceService space.Service,
|
||||
coreService core.Service,
|
||||
fileSyncService filesync.FileSync,
|
||||
nodeConfService nodeconf.Service,
|
||||
fileStore filestore.FileStore,
|
||||
picker getblock.Picker,
|
||||
cfg *config.Config,
|
||||
sendEvent func(event *pb.Event),
|
||||
fileWatcherUpdateInterval time.Duration,
|
||||
) Service {
|
||||
fileStatusRegistry := newFileStatusRegistry(fileSyncService, fileStore, picker, fileWatcherUpdateInterval)
|
||||
linkedFilesWatcher := newLinkedFilesWatcher(spaceService, fileStatusRegistry)
|
||||
subObjectsWatcher := newSubObjectsWatcher()
|
||||
updateReceiver := newUpdateReceiver(coreService, linkedFilesWatcher, subObjectsWatcher, nodeConfService, cfg, sendEvent)
|
||||
fileWatcher := newFileWatcher(spaceService, dbProvider, fileStatusRegistry, updateReceiver, fileWatcherUpdateInterval)
|
||||
objectWatcher := newObjectWatcher(spaceService, updateReceiver)
|
||||
func New(fileWatcherUpdateInterval time.Duration) Service {
|
||||
return &service{
|
||||
spaceService: spaceService,
|
||||
typeProvider: typeProvider,
|
||||
coreService: coreService,
|
||||
fileWatcher: fileWatcher,
|
||||
objectWatcher: objectWatcher,
|
||||
subObjectsWatcher: subObjectsWatcher,
|
||||
linkedFilesWatcher: linkedFilesWatcher,
|
||||
updateReceiver: updateReceiver,
|
||||
fileWatcherUpdateInterval: fileWatcherUpdateInterval,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *service) Init(a *app.App) (err error) {
|
||||
s.spaceService = app.MustComponent[space.Service](a)
|
||||
s.typeProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
s.coreService = app.MustComponent[core.Service](a)
|
||||
s.fileSyncService = app.MustComponent[filesync.FileSync](a)
|
||||
|
||||
dbProvider := app.MustComponent[datastore.Datastore](a)
|
||||
spaceService := app.MustComponent[space.Service](a)
|
||||
coreService := app.MustComponent[core.Service](a)
|
||||
nodeConfService := app.MustComponent[nodeconf.Service](a)
|
||||
fileStore := app.MustComponent[filestore.FileStore](a)
|
||||
picker := app.MustComponent[getblock.Picker](a)
|
||||
cfg := app.MustComponent[*config.Config](a)
|
||||
sendEvent := app.MustComponent[event.Sender](a).Send
|
||||
|
||||
fileStatusRegistry := newFileStatusRegistry(s.fileSyncService, fileStore, picker, s.fileWatcherUpdateInterval)
|
||||
s.linkedFilesWatcher = newLinkedFilesWatcher(spaceService, fileStatusRegistry)
|
||||
s.subObjectsWatcher = newSubObjectsWatcher()
|
||||
s.updateReceiver = newUpdateReceiver(coreService, s.linkedFilesWatcher, s.subObjectsWatcher, nodeConfService, cfg, sendEvent)
|
||||
s.fileWatcher = newFileWatcher(spaceService, dbProvider, fileStatusRegistry, s.updateReceiver, s.fileWatcherUpdateInterval)
|
||||
s.objectWatcher = newObjectWatcher(spaceService, s.updateReceiver)
|
||||
|
||||
s.fileSyncService.OnUpload(s.OnFileUpload)
|
||||
return s.fileWatcher.init()
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Code generated by mockery v2.30.16. DO NOT EDIT.
|
||||
// Code generated by mockery v2.26.1. DO NOT EDIT.
|
||||
|
||||
package mock_wallet
|
||||
|
||||
|
@ -404,12 +404,13 @@ func (_c *MockWallet_RootPath_Call) RunAndReturn(run func() string) *MockWallet_
|
|||
return _c
|
||||
}
|
||||
|
||||
// NewMockWallet creates a new instance of MockWallet. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
// The first argument is typically a *testing.T value.
|
||||
func NewMockWallet(t interface {
|
||||
type mockConstructorTestingTNewMockWallet interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
}) *MockWallet {
|
||||
}
|
||||
|
||||
// NewMockWallet creates a new instance of MockWallet. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
func NewMockWallet(t mockConstructorTestingTNewMockWallet) *MockWallet {
|
||||
mock := &MockWallet{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
|
1
deps/deps.go
vendored
1
deps/deps.go
vendored
|
@ -2,6 +2,7 @@ package deps
|
|||
|
||||
import (
|
||||
_ "github.com/golang/mock/sample"
|
||||
_ "github.com/pseudomuto/protoc-gen-doc/extensions/google_api_http"
|
||||
_ "github.com/vektra/mockery/v2/cmd"
|
||||
// _ "github.com/ahmetb/govvv" // import govvv so it can be installed with make setup-go
|
||||
_ "golang.org/x/mobile/bind" // import gomobile so it will be installed with make setup-gomobile
|
||||
|
|
|
@ -53,6 +53,10 @@
|
|||
- [Rpc.Account.Delete.Request](#anytype-Rpc-Account-Delete-Request)
|
||||
- [Rpc.Account.Delete.Response](#anytype-Rpc-Account-Delete-Response)
|
||||
- [Rpc.Account.Delete.Response.Error](#anytype-Rpc-Account-Delete-Response-Error)
|
||||
- [Rpc.Account.EnableLocalNetworkSync](#anytype-Rpc-Account-EnableLocalNetworkSync)
|
||||
- [Rpc.Account.EnableLocalNetworkSync.Request](#anytype-Rpc-Account-EnableLocalNetworkSync-Request)
|
||||
- [Rpc.Account.EnableLocalNetworkSync.Response](#anytype-Rpc-Account-EnableLocalNetworkSync-Response)
|
||||
- [Rpc.Account.EnableLocalNetworkSync.Response.Error](#anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error)
|
||||
- [Rpc.Account.GetConfig](#anytype-Rpc-Account-GetConfig)
|
||||
- [Rpc.Account.GetConfig.Get](#anytype-Rpc-Account-GetConfig-Get)
|
||||
- [Rpc.Account.GetConfig.Get.Request](#anytype-Rpc-Account-GetConfig-Get-Request)
|
||||
|
@ -931,6 +935,7 @@
|
|||
- [Rpc.Account.ConfigUpdate.Timezones](#anytype-Rpc-Account-ConfigUpdate-Timezones)
|
||||
- [Rpc.Account.Create.Response.Error.Code](#anytype-Rpc-Account-Create-Response-Error-Code)
|
||||
- [Rpc.Account.Delete.Response.Error.Code](#anytype-Rpc-Account-Delete-Response-Error-Code)
|
||||
- [Rpc.Account.EnableLocalNetworkSync.Response.Error.Code](#anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error-Code)
|
||||
- [Rpc.Account.Move.Response.Error.Code](#anytype-Rpc-Account-Move-Response-Error-Code)
|
||||
- [Rpc.Account.Recover.Response.Error.Code](#anytype-Rpc-Account-Recover-Response-Error-Code)
|
||||
- [Rpc.Account.RecoverFromLegacyExport.Response.Error.Code](#anytype-Rpc-Account-RecoverFromLegacyExport-Response-Error-Code)
|
||||
|
@ -1488,6 +1493,7 @@
|
|||
| AccountCreate | [Rpc.Account.Create.Request](#anytype-Rpc-Account-Create-Request) | [Rpc.Account.Create.Response](#anytype-Rpc-Account-Create-Response) | |
|
||||
| AccountDelete | [Rpc.Account.Delete.Request](#anytype-Rpc-Account-Delete-Request) | [Rpc.Account.Delete.Response](#anytype-Rpc-Account-Delete-Response) | |
|
||||
| AccountSelect | [Rpc.Account.Select.Request](#anytype-Rpc-Account-Select-Request) | [Rpc.Account.Select.Response](#anytype-Rpc-Account-Select-Response) | |
|
||||
| AccountEnableLocalNetworkSync | [Rpc.Account.EnableLocalNetworkSync.Request](#anytype-Rpc-Account-EnableLocalNetworkSync-Request) | [Rpc.Account.EnableLocalNetworkSync.Response](#anytype-Rpc-Account-EnableLocalNetworkSync-Response) | |
|
||||
| AccountStop | [Rpc.Account.Stop.Request](#anytype-Rpc-Account-Stop-Request) | [Rpc.Account.Stop.Response](#anytype-Rpc-Account-Stop-Response) | |
|
||||
| AccountMove | [Rpc.Account.Move.Request](#anytype-Rpc-Account-Move-Request) | [Rpc.Account.Move.Response](#anytype-Rpc-Account-Move-Response) | |
|
||||
| AccountConfigUpdate | [Rpc.Account.ConfigUpdate.Request](#anytype-Rpc-Account-ConfigUpdate-Request) | [Rpc.Account.ConfigUpdate.Response](#anytype-Rpc-Account-ConfigUpdate-Response) | |
|
||||
|
@ -2290,7 +2296,7 @@ Front end to middleware request-to-create-an account
|
|||
| avatarLocalPath | [string](#string) | | Path to an image, that will be used as an avatar of this account |
|
||||
| storePath | [string](#string) | | Path to local storage |
|
||||
| icon | [int64](#int64) | | Option of pre-installed icon |
|
||||
| alphaInviteCode | [string](#string) | | DEPRECATED |
|
||||
| disableLocalNetworkSync | [bool](#bool) | | Disable local network discovery |
|
||||
|
||||
|
||||
|
||||
|
@ -2387,6 +2393,57 @@ Middleware-to-front-end response for an account creation request, that can conta
|
|||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-EnableLocalNetworkSync"></a>
|
||||
|
||||
### Rpc.Account.EnableLocalNetworkSync
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-EnableLocalNetworkSync-Request"></a>
|
||||
|
||||
### Rpc.Account.EnableLocalNetworkSync.Request
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-EnableLocalNetworkSync-Response"></a>
|
||||
|
||||
### Rpc.Account.EnableLocalNetworkSync.Response
|
||||
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| error | [Rpc.Account.EnableLocalNetworkSync.Response.Error](#anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error) | | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error"></a>
|
||||
|
||||
### Rpc.Account.EnableLocalNetworkSync.Response.Error
|
||||
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| code | [Rpc.Account.EnableLocalNetworkSync.Response.Error.Code](#anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error-Code) | | |
|
||||
| description | [string](#string) | | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-GetConfig"></a>
|
||||
|
||||
### Rpc.Account.GetConfig
|
||||
|
@ -2605,6 +2662,7 @@ User can select an account from those, that came with an AccountAdd events
|
|||
| ----- | ---- | ----- | ----------- |
|
||||
| id | [string](#string) | | Id of a selected account |
|
||||
| rootPath | [string](#string) | | Root path is optional, set if this is a first request |
|
||||
| disableLocalNetworkSync | [bool](#bool) | | Disable local network discovery |
|
||||
|
||||
|
||||
|
||||
|
@ -15141,6 +15199,20 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
|
|||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-EnableLocalNetworkSync-Response-Error-Code"></a>
|
||||
|
||||
### Rpc.Account.EnableLocalNetworkSync.Response.Error.Code
|
||||
|
||||
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ----------- |
|
||||
| NULL | 0 | |
|
||||
| UNKNOWN_ERROR | 1 | |
|
||||
| BAD_INPUT | 2 | |
|
||||
| ACCOUNT_IS_NOT_RUNNING | 4 | |
|
||||
|
||||
|
||||
|
||||
<a name="anytype-Rpc-Account-Move-Response-Error-Code"></a>
|
||||
|
||||
### Rpc.Account.Move.Response.Error.Code
|
||||
|
|
24
go.mod
24
go.mod
|
@ -1,20 +1,20 @@
|
|||
module github.com/anyproto/anytype-heart
|
||||
|
||||
go 1.19
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/JohannesKaufmann/html-to-markdown v1.3.7
|
||||
github.com/PuerkitoBio/goquery v1.8.1
|
||||
github.com/VividCortex/ewma v1.2.0
|
||||
github.com/adrium/goheif v0.0.0-20230113233934-ca402e77a786
|
||||
github.com/anyproto/any-sync v0.2.15
|
||||
github.com/anyproto/any-sync v0.2.19
|
||||
github.com/anyproto/go-naturaldate/v2 v2.0.2-0.20230524105841-9829cfd13438
|
||||
github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de
|
||||
github.com/blevesearch/bleve/v2 v2.3.9
|
||||
github.com/chai2010/webp v1.1.1
|
||||
github.com/cheggaaa/mb v1.0.3
|
||||
github.com/cheggaaa/mb/v3 v3.0.1
|
||||
github.com/dave/jennifer v1.6.1
|
||||
github.com/dave/jennifer v1.7.0
|
||||
github.com/davecgh/go-spew v1.1.1
|
||||
github.com/dgraph-io/badger/v3 v3.2103.5
|
||||
github.com/dgraph-io/ristretto v0.1.1
|
||||
|
@ -77,17 +77,17 @@ require (
|
|||
github.com/stretchr/testify v1.8.4
|
||||
github.com/textileio/go-ds-badger3 v0.1.0
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible
|
||||
github.com/vektra/mockery/v2 v2.32.3
|
||||
github.com/vektra/mockery/v2 v2.32.4
|
||||
github.com/yuin/goldmark v1.5.5
|
||||
go.uber.org/mock v0.2.0
|
||||
go.uber.org/multierr v1.11.0
|
||||
go.uber.org/zap v1.25.0
|
||||
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1
|
||||
golang.org/x/image v0.10.0
|
||||
golang.org/x/image v0.11.0
|
||||
golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda
|
||||
golang.org/x/net v0.13.0
|
||||
golang.org/x/oauth2 v0.10.0
|
||||
golang.org/x/text v0.11.0
|
||||
golang.org/x/net v0.14.0
|
||||
golang.org/x/oauth2 v0.11.0
|
||||
golang.org/x/text v0.12.0
|
||||
google.golang.org/grpc v1.57.0
|
||||
gopkg.in/Graylog2/go-gelf.v2 v2.0.0-20180125164251-1832d8546a9f
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
|
@ -236,13 +236,15 @@ require (
|
|||
go.opentelemetry.io/otel v1.14.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.14.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.11.0 // indirect
|
||||
golang.org/x/crypto v0.12.0 // indirect
|
||||
golang.org/x/mod v0.12.0 // indirect
|
||||
golang.org/x/sync v0.3.0 // indirect
|
||||
golang.org/x/sys v0.10.0 // indirect
|
||||
golang.org/x/term v0.10.0 // indirect
|
||||
golang.org/x/sys v0.11.0 // indirect
|
||||
golang.org/x/term v0.11.0 // indirect
|
||||
golang.org/x/tools v0.11.0 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
|
|
85
go.sum
85
go.sum
|
@ -74,8 +74,8 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h
|
|||
github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY=
|
||||
github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c=
|
||||
github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA=
|
||||
github.com/anyproto/any-sync v0.2.15 h1:eaa6duM6FnpTYLVT0NK/2lqKgw4Uns/Dj7lSwbEnHe0=
|
||||
github.com/anyproto/any-sync v0.2.15/go.mod h1:2nJFL7ANRuGdcgddJqHrj85YrX1mFsIakNfolwk6/oM=
|
||||
github.com/anyproto/any-sync v0.2.19 h1:OEMQW1LkI1Pr1Wzl2Vdrsw+jS3yKTjpxrO+8OgDW35w=
|
||||
github.com/anyproto/any-sync v0.2.19/go.mod h1:2nJFL7ANRuGdcgddJqHrj85YrX1mFsIakNfolwk6/oM=
|
||||
github.com/anyproto/go-chash v0.1.0 h1:I9meTPjXFRfXZHRJzjOHC/XF7Q5vzysKkiT/grsogXY=
|
||||
github.com/anyproto/go-chash v0.1.0/go.mod h1:0UjNQi3PDazP0fINpFYu6VKhuna+W/V+1vpXHAfNgLY=
|
||||
github.com/anyproto/go-ds-badger3 v0.3.1-0.20230524095230-434cf6346d9b h1:SMizb43hfILk2bpMgpTd30n6yQQdxW0ZbDti0wqfsBw=
|
||||
|
@ -114,6 +114,7 @@ github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuP
|
|||
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
|
||||
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
|
||||
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
|
@ -192,6 +193,7 @@ github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1
|
|||
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA=
|
||||
github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
|
@ -201,14 +203,16 @@ github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3/go.mod h1:p
|
|||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0=
|
||||
github.com/dave/jennifer v1.6.1 h1:T4T/67t6RAA5AIV6+NP8Uk/BIsXgDoqEowgycdQQLuk=
|
||||
github.com/dave/jennifer v1.6.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
|
||||
github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis=
|
||||
github.com/dave/jennifer v1.7.0 h1:uRbSBH9UTS64yXbh4FrMHfgfY762RD+C7bUPKODpSJE=
|
||||
github.com/dave/jennifer v1.7.0/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU=
|
||||
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U=
|
||||
github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
|
||||
github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
|
||||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I=
|
||||
|
@ -270,13 +274,16 @@ github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byA
|
|||
github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ=
|
||||
github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag=
|
||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
|
||||
github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY=
|
||||
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
|
||||
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
|
||||
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
|
||||
github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||
|
@ -325,6 +332,7 @@ github.com/go-shiori/go-readability v0.0.0-20220215145315-dd6828d2f09b/go.mod h1
|
|||
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
|
||||
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
|
||||
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo=
|
||||
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0=
|
||||
|
@ -417,6 +425,7 @@ github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD
|
|||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
|
||||
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
|
@ -431,6 +440,7 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe
|
|||
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 h1:n6vlPhxsA+BW/XsS5+uqi7GyzaLa5MH7qlSLBZtRdiA=
|
||||
github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
|
@ -442,6 +452,7 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
|
|||
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRidnzC1Oq86fpX1q/iEv2KJdrCtttYjT4=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY=
|
||||
github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c=
|
||||
|
@ -451,6 +462,7 @@ github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY
|
|||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
||||
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gosimple/slug v1.13.1 h1:bQ+kpX9Qa6tHRaK+fZR0A0M2Kd7Pa5eHPPsb1JpHD+Q=
|
||||
github.com/gosimple/slug v1.13.1/go.mod h1:UiRaFH+GEilHstLUmcBgWcI42viBN7mAb818JrYOeFQ=
|
||||
github.com/gosimple/unidecode v1.0.1 h1:hZzFTMMqSswvf0LBJZCZgThIZrpDHFXux9KeGmn6T/o=
|
||||
|
@ -509,6 +521,7 @@ github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk
|
|||
github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo=
|
||||
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
|
||||
github.com/huin/goupnp v1.2.0 h1:uOKW26NG1hsSSbXIZ1IR7XP9Gjd1U8pnLaCMgntmkmY=
|
||||
github.com/huin/goupnp v1.2.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8=
|
||||
github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0=
|
||||
github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
|
@ -540,9 +553,12 @@ github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46U
|
|||
github.com/ipfs/go-ds-flatfs v0.5.1 h1:ZCIO/kQOS/PSh3vcF1H6a8fkRGS7pOfwfPdx4n/KJH4=
|
||||
github.com/ipfs/go-ds-flatfs v0.5.1/go.mod h1:RWTV7oZD/yZYBKdbVIFXTX2fdY2Tbvl94NsWqmoyAX4=
|
||||
github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ=
|
||||
github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk=
|
||||
github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
|
||||
github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ=
|
||||
github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
|
||||
github.com/ipfs/go-ipfs-pq v0.0.3 h1:YpoHVJB+jzK15mr/xsWC574tyDLkezVrDNeaalQBsTE=
|
||||
github.com/ipfs/go-ipfs-pq v0.0.3/go.mod h1:btNw5hsHBpRcSSgZtiNm/SLj5gYIZ18AKtv3kERkRb4=
|
||||
github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8=
|
||||
github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ=
|
||||
github.com/ipfs/go-ipld-format v0.5.0 h1:WyEle9K96MSrvr47zZHKKcDxJ/vlpET6PSiQsAFO+Ds=
|
||||
|
@ -555,11 +571,13 @@ github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JP
|
|||
github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg=
|
||||
github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
|
||||
github.com/ipfs/go-peertaskqueue v0.8.1 h1:YhxAs1+wxb5jk7RvS0LHdyiILpNmRIRnZVztekOF0pg=
|
||||
github.com/ipfs/go-peertaskqueue v0.8.1/go.mod h1:Oxxd3eaK279FxeydSPPVGHzbwVeHjatZ2GA8XD+KbPU=
|
||||
github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
|
||||
github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
|
||||
github.com/ipld/go-ipld-prime v0.20.0 h1:Ud3VwE9ClxpO2LkCYP7vWPc0Fo+dYdYzgxUJZ3uRG4g=
|
||||
github.com/ipld/go-ipld-prime v0.20.0/go.mod h1:PzqZ/ZR981eKbgdr3y2DJYeD/8bgMawdGVlJDE8kK+M=
|
||||
github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
|
||||
github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
|
||||
github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA=
|
||||
github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
|
||||
github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
|
||||
|
@ -607,11 +625,13 @@ github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZY
|
|||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0=
|
||||
github.com/koron/go-ssdp v0.0.4/go.mod h1:oDXq+E5IL5q0U8uSBcoAXzTzInwy5lEgC91HoKtbmZk=
|
||||
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
|
@ -621,15 +641,23 @@ github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgx
|
|||
github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
|
||||
github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
|
||||
github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
|
||||
github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic=
|
||||
github.com/libp2p/go-libp2p v0.29.0 h1:QduJ2XQr/Crg4EnloueWDL0Jj86N3Ezhyyj7XH+XwHI=
|
||||
github.com/libp2p/go-libp2p v0.29.0/go.mod h1:iNKL7mEnZ9wAss+03IjAwM9ZAQXfVUAPUUmOACQfQ/g=
|
||||
github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s=
|
||||
github.com/libp2p/go-libp2p-asn-util v0.3.0/go.mod h1:B1mcOrKUE35Xq/ASTmQ4tN3LNzVVaMNmq2NACuqyB9w=
|
||||
github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0=
|
||||
github.com/libp2p/go-libp2p-record v0.2.0/go.mod h1:I+3zMkvvg5m2OcSdoL0KPljyJyvNDFGKX7QdlpYUcwk=
|
||||
github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA=
|
||||
github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg=
|
||||
github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0=
|
||||
github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM=
|
||||
github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk=
|
||||
github.com/libp2p/go-nat v0.2.0/go.mod h1:3MJr+GRpRkyT65EpVPBstXLvOlAPzUVlG6Pwg9ohLJk=
|
||||
github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU=
|
||||
github.com/libp2p/go-netroute v0.2.1/go.mod h1:hraioZr0fhBjG0ZRXJJ6Zj2IVEVNx6tDTFQfSmcq7mQ=
|
||||
github.com/libp2p/go-yamux/v4 v4.0.1 h1:FfDR4S1wj6Bw2Pqbc8Uz7pCxeRBPbwsBbEdfwiCypkQ=
|
||||
github.com/libp2p/go-yamux/v4 v4.0.1/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4=
|
||||
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
|
||||
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
||||
github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
|
||||
|
@ -706,6 +734,7 @@ github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a
|
|||
github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
|
||||
github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk=
|
||||
github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E=
|
||||
github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo=
|
||||
github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc=
|
||||
github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
|
||||
github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
|
||||
|
@ -735,6 +764,7 @@ github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi
|
|||
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
||||
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
|
||||
github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY=
|
||||
github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
|
||||
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
|
||||
|
@ -744,6 +774,7 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
|
|||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
|
||||
github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU=
|
||||
github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM=
|
||||
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
||||
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
|
||||
|
@ -765,6 +796,7 @@ github.com/otiai10/marmoset v0.4.0/go.mod h1:t2q6dXWZ9YcFdRREDApX4bCmfQnL3isJ2dg
|
|||
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
|
||||
github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
|
||||
github.com/otiai10/mint v1.5.1 h1:XaPLeE+9vGbuyEHem1JNk3bYc7KKqyI/na0/mLd/Kks=
|
||||
github.com/otiai10/mint v1.5.1/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM=
|
||||
github.com/otiai10/opengraph/v2 v2.1.0 h1:rsrq/Krr4E6IPMPUdJ+pit4mc8ijzH9P7eyfEqvlUBI=
|
||||
github.com/otiai10/opengraph/v2 v2.1.0/go.mod h1:gHYa6c2GENKqbB7O6Mkqpq2Ma0Nti31xIM/3QHNcD/M=
|
||||
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
|
||||
|
@ -831,15 +863,21 @@ github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod h1:XpMKYg6zkcpgfpCfQ8GcWBDRtR
|
|||
github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM=
|
||||
github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
|
||||
github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
|
||||
github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
|
||||
github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U=
|
||||
github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI=
|
||||
github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E=
|
||||
github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM=
|
||||
github.com/quic-go/quic-go v0.36.2 h1:ZX/UNQ4gvpCv2RmwdbA6lrRjF6EBm5yZ7TMoT4NQVrA=
|
||||
github.com/quic-go/quic-go v0.36.2/go.mod h1:zPetvwDlILVxt15n3hr3Gf/I3mDf7LpLKPhR4Ez0AZQ=
|
||||
github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU=
|
||||
github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
||||
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
||||
|
@ -957,9 +995,10 @@ github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLY
|
|||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/vektra/mockery/v2 v2.32.3 h1:ugtC6b34me/NenXXNR0Pr8UOKTllYodxyeyq0B/ak98=
|
||||
github.com/vektra/mockery/v2 v2.32.3/go.mod h1:9lREs4VEeQiUS3rizYQx1saxHu2JiIhThP0q9+fDegM=
|
||||
github.com/vektra/mockery/v2 v2.32.4 h1:EHvss3EWCXf8BmKw8YZFBtXFSVVusq5n1TiAQg896bM=
|
||||
github.com/vektra/mockery/v2 v2.32.4/go.mod h1:9lREs4VEeQiUS3rizYQx1saxHu2JiIhThP0q9+fDegM=
|
||||
github.com/warpfork/go-testmark v0.11.0 h1:J6LnV8KpceDvo7spaNU4+DauH2n1x+6RaO2rJrmpQ9U=
|
||||
github.com/warpfork/go-testmark v0.11.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0=
|
||||
github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0 h1:GDDkbFiaK8jsSDJfjId/PEGEShv6ugrt4kYsC5UIDaQ=
|
||||
github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
|
||||
github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E=
|
||||
|
@ -979,6 +1018,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi
|
|||
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
||||
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
|
||||
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
||||
github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg=
|
||||
github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ=
|
||||
github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs=
|
||||
|
@ -1015,6 +1055,7 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0
|
|||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||
go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
|
||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
||||
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
|
||||
go.uber.org/mock v0.2.0 h1:TaP3xedm7JaAgScZO7tlvlKrqT0p7I6OsdGB5YNSMDU=
|
||||
go.uber.org/mock v0.2.0/go.mod h1:J0y0rp9L3xiff1+ZBfKxlC1fz2+aO16tw0tsDOixfuM=
|
||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
|
@ -1045,8 +1086,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
|
|||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
|
||||
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
|
||||
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
|
||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
|
@ -1067,8 +1108,8 @@ golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86h
|
|||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.10.0 h1:gXjUUtwtx5yOE0VKWq1CH4IJAClq4UGgUA3i+rpON9M=
|
||||
golang.org/x/image v0.10.0/go.mod h1:jtrku+n79PfroUbvDdeUWMAI+heR786BofxrbiSF+J0=
|
||||
golang.org/x/image v0.11.0 h1:ds2RoQvBvYTiJkwpSFDwCcDFNX7DqjL2WsUgTNk0Ooo=
|
||||
golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
|
@ -1153,8 +1194,8 @@ golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfS
|
|||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY=
|
||||
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
|
||||
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
|
||||
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
|
@ -1164,8 +1205,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
|
|||
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8=
|
||||
golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
|
||||
golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU=
|
||||
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
@ -1257,14 +1298,15 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
|
||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
|
||||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c=
|
||||
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
|
||||
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
|
||||
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
@ -1275,8 +1317,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
|
||||
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
|
||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
|
@ -1421,6 +1463,10 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D
|
|||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M=
|
||||
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
|
||||
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||
|
@ -1468,6 +1514,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8
|
|||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
|
|
2454
pb/commands.pb.go
2454
pb/commands.pb.go
File diff suppressed because it is too large
Load diff
|
@ -257,8 +257,7 @@ message Rpc {
|
|||
}
|
||||
string storePath = 3; // Path to local storage
|
||||
int64 icon = 4; // Option of pre-installed icon
|
||||
|
||||
string alphaInviteCode = 20; // DEPRECATED
|
||||
bool disableLocalNetworkSync = 5; // Disable local network discovery
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -363,6 +362,7 @@ message Rpc {
|
|||
option (no_auth) = true;
|
||||
string id = 1; // Id of a selected account
|
||||
string rootPath = 2; // Root path is optional, set if this is a first request
|
||||
bool disableLocalNetworkSync = 3; // Disable local network discovery
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -548,6 +548,27 @@ message Rpc {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
message EnableLocalNetworkSync {
|
||||
message Request {
|
||||
}
|
||||
message Response {
|
||||
Error error = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
ACCOUNT_IS_NOT_RUNNING = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
message Workspace {
|
||||
|
|
|
@ -35,6 +35,7 @@ service ClientCommands {
|
|||
rpc AccountCreate (anytype.Rpc.Account.Create.Request) returns (anytype.Rpc.Account.Create.Response);
|
||||
rpc AccountDelete (anytype.Rpc.Account.Delete.Request) returns (anytype.Rpc.Account.Delete.Response);
|
||||
rpc AccountSelect (anytype.Rpc.Account.Select.Request) returns (anytype.Rpc.Account.Select.Response);
|
||||
rpc AccountEnableLocalNetworkSync (anytype.Rpc.Account.EnableLocalNetworkSync.Request) returns (anytype.Rpc.Account.EnableLocalNetworkSync.Response);
|
||||
rpc AccountStop (anytype.Rpc.Account.Stop.Request) returns (anytype.Rpc.Account.Stop.Response);
|
||||
rpc AccountMove (anytype.Rpc.Account.Move.Request) returns (anytype.Rpc.Account.Move.Response);
|
||||
rpc AccountConfigUpdate (anytype.Rpc.Account.ConfigUpdate.Request) returns (anytype.Rpc.Account.ConfigUpdate.Response);
|
||||
|
|
|
@ -26,245 +26,247 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
|
||||
|
||||
var fileDescriptor_93a29dc403579097 = []byte{
|
||||
// 3805 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0x4b, 0x6f, 0x1c, 0xc7,
|
||||
0xb5, 0xc7, 0x3d, 0x9b, 0xeb, 0x7b, 0xdb, 0xd7, 0xbe, 0x37, 0xe3, 0x44, 0x71, 0x14, 0x9b, 0x92,
|
||||
0x65, 0x49, 0xa4, 0x44, 0x72, 0x48, 0x4b, 0xf2, 0x23, 0x0f, 0x20, 0xa0, 0x48, 0x51, 0x22, 0xac,
|
||||
0x57, 0x38, 0x94, 0x04, 0x18, 0x08, 0x90, 0x66, 0x4f, 0x69, 0xd8, 0x61, 0x4f, 0x57, 0xbb, 0xbb,
|
||||
0x86, 0x14, 0x13, 0x24, 0x48, 0x90, 0x20, 0x41, 0x82, 0x04, 0x09, 0xf2, 0x58, 0x65, 0x97, 0x4d,
|
||||
0x90, 0x6f, 0x92, 0xa5, 0x97, 0x59, 0x06, 0xf6, 0x17, 0x09, 0xba, 0xeb, 0x74, 0x3d, 0x4e, 0xd7,
|
||||
0xa9, 0xae, 0xf1, 0x4a, 0xc2, 0x9c, 0xdf, 0x39, 0xff, 0xaa, 0xae, 0xd7, 0xa9, 0xaa, 0x6e, 0x46,
|
||||
0x17, 0x8a, 0xc3, 0x8d, 0xa2, 0xe4, 0x82, 0x57, 0x1b, 0x15, 0x2b, 0x4f, 0xd2, 0x84, 0xb5, 0xff,
|
||||
0x8e, 0x9a, 0x9f, 0x87, 0x2f, 0xc7, 0xf9, 0x99, 0x38, 0x2b, 0xd8, 0xf9, 0x37, 0x34, 0x99, 0xf0,
|
||||
0xd9, 0x2c, 0xce, 0x27, 0x95, 0x44, 0xce, 0x9f, 0xd3, 0x16, 0x76, 0xc2, 0x72, 0x01, 0xbf, 0xdf,
|
||||
0xf8, 0xfb, 0x3f, 0x06, 0xd1, 0x6b, 0xdb, 0x59, 0xca, 0x72, 0xb1, 0x0d, 0x1e, 0xc3, 0x8f, 0xa3,
|
||||
0x57, 0xb7, 0x8a, 0xe2, 0x2e, 0x13, 0x4f, 0x59, 0x59, 0xa5, 0x3c, 0x1f, 0xbe, 0x33, 0x02, 0x81,
|
||||
0xd1, 0x7e, 0x91, 0x8c, 0xb6, 0x8a, 0x62, 0xa4, 0x8d, 0xa3, 0x7d, 0xf6, 0xc9, 0x9c, 0x55, 0xe2,
|
||||
0xfc, 0x65, 0x3f, 0x54, 0x15, 0x3c, 0xaf, 0xd8, 0xf0, 0x79, 0xf4, 0xa5, 0xad, 0xa2, 0x18, 0x33,
|
||||
0xb1, 0xc3, 0xea, 0x0a, 0x8c, 0x45, 0x2c, 0xd8, 0x70, 0xb9, 0xe3, 0x6a, 0x03, 0x4a, 0x63, 0xa5,
|
||||
0x1f, 0x04, 0x9d, 0x83, 0xe8, 0x95, 0x5a, 0xe7, 0x68, 0x2e, 0x26, 0xfc, 0x34, 0x1f, 0xbe, 0xdd,
|
||||
0x75, 0x04, 0x93, 0x8a, 0x7d, 0xc9, 0x87, 0x40, 0xd4, 0x67, 0xd1, 0xff, 0x3e, 0x8b, 0xb3, 0x8c,
|
||||
0x89, 0xed, 0x92, 0xd5, 0x05, 0xb7, 0x7d, 0xa4, 0x69, 0x24, 0x6d, 0x2a, 0xee, 0x3b, 0x5e, 0x06,
|
||||
0x02, 0x7f, 0x1c, 0xbd, 0x2a, 0x2d, 0xfb, 0x2c, 0xe1, 0x27, 0xac, 0x1c, 0x3a, 0xbd, 0xc0, 0x48,
|
||||
0x3c, 0xf2, 0x0e, 0x84, 0x63, 0x6f, 0xf3, 0xfc, 0x84, 0x95, 0xc2, 0x1d, 0x1b, 0x8c, 0xfe, 0xd8,
|
||||
0x1a, 0x82, 0xd8, 0x59, 0xf4, 0xba, 0xf9, 0x40, 0xc6, 0xac, 0x6a, 0x3a, 0xcc, 0x35, 0xba, 0xce,
|
||||
0x80, 0x28, 0x9d, 0xeb, 0x21, 0x28, 0xa8, 0xa5, 0xd1, 0x10, 0xd4, 0x32, 0x5e, 0x29, 0xb1, 0x15,
|
||||
0x67, 0x04, 0x83, 0x50, 0x5a, 0xd7, 0x02, 0x48, 0x90, 0xfa, 0x7e, 0xf4, 0x7f, 0xcf, 0x78, 0x79,
|
||||
0x5c, 0x15, 0x71, 0xc2, 0xa0, 0xb1, 0xaf, 0xd8, 0xde, 0xad, 0x15, 0xb7, 0xf7, 0xd5, 0x3e, 0x0c,
|
||||
0x14, 0x8e, 0xa3, 0xa1, 0x32, 0x3e, 0x3a, 0xfc, 0x01, 0x4b, 0xc4, 0xd6, 0x64, 0x82, 0x9f, 0x9c,
|
||||
0xf2, 0x96, 0xc4, 0x68, 0x6b, 0x32, 0xa1, 0x9e, 0x9c, 0x1b, 0x05, 0xb1, 0xd3, 0xe8, 0x1c, 0x12,
|
||||
0xbb, 0x9f, 0x56, 0x8d, 0xe0, 0xba, 0x3f, 0x0a, 0x60, 0x4a, 0x74, 0x14, 0x8a, 0x83, 0xf0, 0x4f,
|
||||
0x07, 0xd1, 0xd7, 0x1c, 0xca, 0xfb, 0x6c, 0xc6, 0x4f, 0xd8, 0x70, 0xb3, 0x3f, 0x9a, 0x24, 0x95,
|
||||
0xfe, 0xbb, 0x0b, 0x78, 0x38, 0x9a, 0x72, 0xcc, 0x32, 0x96, 0x08, 0xb2, 0x29, 0xa5, 0xb9, 0xb7,
|
||||
0x29, 0x15, 0x66, 0x8c, 0x82, 0xd6, 0x78, 0x97, 0x89, 0xed, 0x79, 0x59, 0xb2, 0x5c, 0x90, 0x6d,
|
||||
0xa9, 0x91, 0xde, 0xb6, 0xb4, 0x50, 0x47, 0x7d, 0xee, 0x32, 0xb1, 0x95, 0x65, 0x64, 0x7d, 0xa4,
|
||||
0xb9, 0xb7, 0x3e, 0x0a, 0x03, 0x85, 0x9f, 0x18, 0x6d, 0x36, 0x66, 0x62, 0xaf, 0xba, 0x97, 0x4e,
|
||||
0x8f, 0xb2, 0x74, 0x7a, 0x24, 0xd8, 0x64, 0xb8, 0x41, 0x3e, 0x14, 0x1b, 0x54, 0xaa, 0x9b, 0xe1,
|
||||
0x0e, 0x8e, 0x1a, 0xde, 0x79, 0x51, 0xf0, 0x92, 0x6e, 0x31, 0x69, 0xee, 0xad, 0xa1, 0xc2, 0x40,
|
||||
0xe1, 0x7b, 0xd1, 0x6b, 0x5b, 0x49, 0xc2, 0xe7, 0xb9, 0x9a, 0x70, 0xd1, 0xf2, 0x25, 0x8d, 0x9d,
|
||||
0x19, 0xf7, 0x4a, 0x0f, 0xa5, 0xa7, 0x5c, 0xb0, 0xc1, 0xdc, 0xf1, 0x8e, 0xd3, 0x0f, 0xcd, 0x1c,
|
||||
0x97, 0xfd, 0x50, 0x27, 0xf6, 0x0e, 0xcb, 0x18, 0x19, 0x5b, 0x1a, 0x7b, 0x62, 0x2b, 0xa8, 0x13,
|
||||
0x1b, 0x06, 0x8a, 0x3b, 0x36, 0x1a, 0x26, 0x97, 0xfd, 0x90, 0xb1, 0x22, 0x43, 0x6c, 0xc1, 0x0b,
|
||||
0xbc, 0x22, 0xb7, 0x4e, 0x82, 0x17, 0xd4, 0x8a, 0x6c, 0x23, 0x9d, 0xa8, 0x0f, 0xea, 0x09, 0xc5,
|
||||
0x1d, 0xf5, 0x81, 0x39, 0x83, 0x5c, 0xf2, 0x21, 0x7a, 0x40, 0xb7, 0xed, 0xc7, 0xf3, 0xe7, 0xe9,
|
||||
0xf4, 0x49, 0x31, 0xa9, 0x5b, 0xf1, 0x9a, 0xbb, 0x81, 0x0c, 0x84, 0x18, 0xd0, 0x04, 0x0a, 0x6a,
|
||||
0xbf, 0x1b, 0x44, 0x4b, 0x76, 0x6f, 0xdc, 0x2d, 0xf9, 0xec, 0x3e, 0x9b, 0xc6, 0xc9, 0x19, 0x74,
|
||||
0xff, 0x5b, 0xbe, 0x7e, 0x87, 0x69, 0x55, 0x88, 0xf7, 0x16, 0xf4, 0x82, 0xf2, 0x7c, 0x37, 0x8a,
|
||||
0xe4, 0x74, 0xfa, 0xa8, 0x60, 0xf9, 0xf0, 0xa2, 0x15, 0x04, 0xe6, 0xd9, 0xda, 0xa2, 0x64, 0xde,
|
||||
0xf6, 0x10, 0xba, 0x99, 0xe4, 0xef, 0xcd, 0x6a, 0x3b, 0x74, 0x7a, 0x34, 0x26, 0xa2, 0x99, 0x10,
|
||||
0x82, 0x0b, 0x3a, 0x3e, 0xe2, 0xa7, 0xee, 0x82, 0xd6, 0x16, 0x7f, 0x41, 0x81, 0xd0, 0x19, 0x1e,
|
||||
0x14, 0xd4, 0x95, 0xe1, 0xb5, 0xc5, 0xf0, 0x65, 0x78, 0x98, 0x81, 0xc0, 0x3c, 0xfa, 0xb2, 0x19,
|
||||
0xf8, 0x36, 0xe7, 0xc7, 0xb3, 0xb8, 0x3c, 0x1e, 0x5e, 0xa7, 0x9d, 0x5b, 0x46, 0x09, 0xad, 0x06,
|
||||
0xb1, 0x7a, 0x12, 0x35, 0x05, 0xc7, 0x0c, 0x4f, 0xa2, 0x96, 0xff, 0x98, 0x51, 0x93, 0xa8, 0x03,
|
||||
0xc3, 0x8d, 0x7a, 0xb7, 0x8c, 0x8b, 0x23, 0x77, 0xa3, 0x36, 0x26, 0x7f, 0xa3, 0xb6, 0x08, 0x6e,
|
||||
0x81, 0x31, 0x8b, 0xcb, 0xe4, 0xc8, 0xdd, 0x02, 0xd2, 0xe6, 0x6f, 0x01, 0xc5, 0x40, 0xe0, 0x32,
|
||||
0xfa, 0x8a, 0x19, 0x78, 0x3c, 0x3f, 0xac, 0x92, 0x32, 0x3d, 0x64, 0xc3, 0x55, 0xda, 0x5b, 0x41,
|
||||
0x4a, 0x6a, 0x2d, 0x0c, 0xd6, 0x19, 0x2b, 0x68, 0xb6, 0xb6, 0xbd, 0x49, 0x85, 0x32, 0xd6, 0x36,
|
||||
0x86, 0x41, 0x10, 0x19, 0xab, 0x9b, 0xc4, 0xd5, 0xbb, 0x5b, 0xf2, 0x79, 0x51, 0xf5, 0x54, 0x0f,
|
||||
0x41, 0xfe, 0xea, 0x75, 0x61, 0xd0, 0x7c, 0x11, 0x7d, 0xd5, 0x7c, 0xa4, 0x4f, 0xf2, 0x4a, 0xa9,
|
||||
0xae, 0xd3, 0xcf, 0xc9, 0xc0, 0x88, 0xbc, 0xd2, 0x83, 0x83, 0x72, 0x12, 0xfd, 0x7f, 0xab, 0x2c,
|
||||
0x76, 0x98, 0x88, 0xd3, 0xac, 0x1a, 0x5e, 0x75, 0xc7, 0x68, 0xed, 0x4a, 0x6b, 0xb9, 0x97, 0xc3,
|
||||
0x43, 0x68, 0x67, 0x5e, 0x64, 0x69, 0xd2, 0xdd, 0x04, 0x80, 0xaf, 0x32, 0xfb, 0x87, 0x90, 0x89,
|
||||
0xe9, 0x85, 0x46, 0x55, 0x43, 0xfe, 0xe7, 0xe0, 0xac, 0xc0, 0x0b, 0x8d, 0x2e, 0xa1, 0x46, 0x88,
|
||||
0x85, 0x86, 0x40, 0x71, 0x7d, 0xc6, 0x4c, 0xdc, 0x8f, 0xcf, 0xf8, 0x9c, 0x98, 0x12, 0x94, 0xd9,
|
||||
0x5f, 0x1f, 0x13, 0x03, 0x85, 0x79, 0x74, 0x4e, 0x29, 0xec, 0xe5, 0x82, 0x95, 0x79, 0x9c, 0xed,
|
||||
0x66, 0xf1, 0xb4, 0x1a, 0x12, 0xe3, 0xc6, 0xa6, 0x94, 0xde, 0x7a, 0x20, 0xed, 0x78, 0x8c, 0x7b,
|
||||
0xd5, 0x6e, 0x7c, 0xc2, 0xcb, 0x54, 0xd0, 0x8f, 0x51, 0x23, 0xbd, 0x8f, 0xd1, 0x42, 0x9d, 0x6a,
|
||||
0x5b, 0x65, 0x72, 0x94, 0x9e, 0xb0, 0x89, 0x47, 0xad, 0x45, 0x02, 0xd4, 0x0c, 0xd4, 0xd1, 0x68,
|
||||
0x63, 0x3e, 0x2f, 0x13, 0x46, 0x36, 0x9a, 0x34, 0xf7, 0x36, 0x9a, 0xc2, 0x40, 0xe1, 0x17, 0x83,
|
||||
0xe8, 0xeb, 0xd2, 0x6a, 0x66, 0xfd, 0x3b, 0x71, 0x75, 0x74, 0xc8, 0xe3, 0x72, 0x32, 0x7c, 0xd7,
|
||||
0x15, 0xc7, 0x89, 0x2a, 0xe9, 0x1b, 0x8b, 0xb8, 0xe0, 0xc7, 0x5a, 0x6f, 0xe2, 0xf4, 0x88, 0x73,
|
||||
0x3e, 0x56, 0x0b, 0xf1, 0x3f, 0x56, 0x8c, 0xe2, 0x09, 0xa4, 0xb1, 0xcb, 0x4c, 0xfa, 0x2a, 0xe9,
|
||||
0x6f, 0x27, 0xd3, 0xcb, 0xbd, 0x1c, 0x9e, 0x1f, 0x6b, 0xa3, 0xdd, 0x5b, 0xd6, 0xa9, 0x18, 0xee,
|
||||
0x1e, 0x33, 0x0a, 0xc5, 0x49, 0x65, 0x35, 0x2a, 0xfc, 0xca, 0x9d, 0x91, 0x31, 0x0a, 0xc5, 0x09,
|
||||
0x65, 0x63, 0x5a, 0xf3, 0x29, 0x3b, 0xa6, 0xb6, 0x51, 0x28, 0x8e, 0x3b, 0xd0, 0x56, 0x51, 0x64,
|
||||
0x67, 0x07, 0x6c, 0x56, 0x64, 0x64, 0x07, 0xb2, 0x10, 0x7f, 0x07, 0xc2, 0x28, 0xce, 0x7e, 0x0e,
|
||||
0x78, 0x9d, 0x5b, 0x39, 0xb3, 0x9f, 0xc6, 0xe4, 0xcf, 0x7e, 0x5a, 0x04, 0x27, 0x0c, 0x07, 0x7c,
|
||||
0x9b, 0x67, 0xf5, 0x0e, 0xaa, 0x7b, 0xc4, 0xa5, 0x3c, 0x35, 0xe1, 0x4f, 0x18, 0x10, 0xa9, 0x8f,
|
||||
0x62, 0xdb, 0xec, 0x39, 0x2e, 0xd9, 0xed, 0xb3, 0xfb, 0x69, 0x7e, 0x3c, 0x74, 0xaf, 0x8d, 0x1a,
|
||||
0x20, 0x8e, 0x62, 0x9d, 0x20, 0xce, 0xd2, 0x9f, 0xe4, 0x13, 0xee, 0xce, 0xd2, 0x6b, 0x8b, 0x3f,
|
||||
0x4b, 0x07, 0x02, 0x87, 0xdc, 0x67, 0x54, 0xc8, 0xda, 0xe2, 0x0f, 0x09, 0x84, 0x6b, 0x3e, 0x80,
|
||||
0x5d, 0x17, 0x39, 0x1f, 0xa0, 0x7d, 0xd6, 0x72, 0x2f, 0x87, 0x7b, 0x68, 0x9b, 0xae, 0xef, 0x32,
|
||||
0x91, 0x1c, 0xb9, 0x7b, 0xa8, 0x85, 0xf8, 0x7b, 0x28, 0x46, 0x71, 0x95, 0x0e, 0xb8, 0xda, 0x6e,
|
||||
0x5c, 0x75, 0xf7, 0x8f, 0xce, 0x56, 0x63, 0xb9, 0x97, 0xc3, 0xe9, 0xfa, 0xde, 0xac, 0x79, 0x66,
|
||||
0xce, 0x4e, 0x2e, 0x6d, 0xfe, 0x74, 0x5d, 0x31, 0xb8, 0xf4, 0xd2, 0x50, 0x3f, 0x4e, 0x77, 0xe9,
|
||||
0xb5, 0xdd, 0x5f, 0x7a, 0x8b, 0x03, 0x91, 0x3f, 0x0f, 0xa2, 0x0b, 0xa6, 0xca, 0x43, 0x5e, 0x8f,
|
||||
0x91, 0xa7, 0x71, 0x96, 0xd6, 0x5b, 0xf4, 0x03, 0x7e, 0xcc, 0xf2, 0xe1, 0x07, 0x9e, 0xd2, 0x4a,
|
||||
0x7e, 0x64, 0x39, 0xa8, 0x52, 0x7c, 0xb8, 0xb8, 0x23, 0xee, 0x27, 0x92, 0x7e, 0x52, 0xb1, 0xed,
|
||||
0xb8, 0x22, 0x66, 0x32, 0x0b, 0xf1, 0xf7, 0x13, 0x8c, 0x62, 0x35, 0x3d, 0x4b, 0x74, 0x8f, 0xa2,
|
||||
0x31, 0xe1, 0x39, 0x8a, 0x26, 0x50, 0x9c, 0x22, 0x6a, 0x00, 0x4e, 0x83, 0xd7, 0xfc, 0x51, 0xd0,
|
||||
0x49, 0xf0, 0x7a, 0x20, 0xdd, 0xd9, 0x7f, 0x2b, 0x66, 0x5c, 0xf7, 0xd7, 0x9e, 0xa2, 0x8f, 0xcd,
|
||||
0x7e, 0xbb, 0x1a, 0xc4, 0xba, 0x37, 0xfc, 0xfb, 0x2c, 0x8b, 0x9b, 0xb9, 0xdc, 0xb3, 0xe1, 0x6f,
|
||||
0x99, 0x90, 0x0d, 0xbf, 0xc1, 0x82, 0xe0, 0xcf, 0x06, 0xd1, 0x79, 0x97, 0xe2, 0xa3, 0xa2, 0xd1,
|
||||
0xdd, 0xec, 0x8f, 0x25, 0x49, 0xe2, 0xac, 0xdd, 0xef, 0x01, 0x65, 0xf8, 0x51, 0xf4, 0x46, 0x6b,
|
||||
0xd2, 0x47, 0xf1, 0x50, 0x00, 0x7b, 0x39, 0x57, 0xe5, 0xc7, 0x9c, 0x92, 0xdf, 0x08, 0xe6, 0x75,
|
||||
0xa6, 0x6c, 0x97, 0xab, 0x42, 0x99, 0xb2, 0x8a, 0x01, 0x66, 0x22, 0x53, 0x76, 0x60, 0x78, 0xc9,
|
||||
0x6c, 0x91, 0x7a, 0x9c, 0xb8, 0x26, 0x1b, 0x15, 0xc2, 0x1c, 0x25, 0x2b, 0xfd, 0x20, 0xee, 0x3b,
|
||||
0xad, 0x19, 0x12, 0xd4, 0xeb, 0xbe, 0x08, 0x28, 0x49, 0x5d, 0x0d, 0x62, 0xf5, 0x89, 0x7f, 0xa7,
|
||||
0x62, 0xbb, 0x2c, 0x16, 0xf3, 0xb2, 0x73, 0xe2, 0xdf, 0x2d, 0x77, 0x0b, 0x12, 0x27, 0xfe, 0x5e,
|
||||
0x07, 0xd0, 0xff, 0xd5, 0x20, 0x7a, 0xd3, 0xe6, 0x64, 0x13, 0xab, 0x32, 0xdc, 0xf0, 0x85, 0xb4,
|
||||
0x59, 0x55, 0x8c, 0x9b, 0x0b, 0xf9, 0x74, 0x36, 0x43, 0x66, 0x47, 0xde, 0x3a, 0x89, 0xd3, 0x2c,
|
||||
0x3e, 0xcc, 0x98, 0x73, 0x33, 0x64, 0xf5, 0x4d, 0x85, 0x7a, 0x37, 0x43, 0xa4, 0x4b, 0x67, 0x96,
|
||||
0x6c, 0xc6, 0x9b, 0x91, 0x44, 0xaf, 0xd1, 0xa3, 0xd2, 0x91, 0x43, 0xaf, 0x07, 0xd2, 0xfa, 0x9e,
|
||||
0x50, 0xff, 0x6c, 0x3e, 0x00, 0x67, 0xee, 0x0e, 0xbe, 0x46, 0x4d, 0xbc, 0xb9, 0xbb, 0x13, 0x07,
|
||||
0x61, 0xd1, 0x9e, 0x5e, 0x99, 0xc2, 0xf5, 0xe8, 0x5a, 0xeb, 0x0d, 0x64, 0x0e, 0xb1, 0xf5, 0x40,
|
||||
0x1a, 0x54, 0x7f, 0x1c, 0xbd, 0xd1, 0x55, 0x85, 0xd5, 0x68, 0xa3, 0x37, 0x14, 0x5a, 0x90, 0x36,
|
||||
0xc3, 0x1d, 0x74, 0xb2, 0x7f, 0x2f, 0xad, 0x04, 0x2f, 0xcf, 0xc6, 0x47, 0xfc, 0xb4, 0x7d, 0xdb,
|
||||
0xc2, 0x9e, 0x26, 0x00, 0x18, 0x19, 0x04, 0x91, 0xec, 0xbb, 0xc9, 0x8e, 0x94, 0x7e, 0x2b, 0xa3,
|
||||
0x22, 0xa4, 0x0c, 0xa2, 0x47, 0xca, 0x26, 0xf5, 0x24, 0xd9, 0xd6, 0x4a, 0xbf, 0x42, 0xb2, 0xec,
|
||||
0x2e, 0x6a, 0xf7, 0x35, 0x92, 0x95, 0x7e, 0x50, 0x6f, 0xc0, 0x76, 0xd3, 0x8c, 0x3d, 0x7a, 0xfe,
|
||||
0x3c, 0xe3, 0xf1, 0x04, 0x6d, 0xc0, 0x6a, 0xcb, 0x08, 0x4c, 0xc4, 0x06, 0x0c, 0x21, 0x7a, 0x11,
|
||||
0xa9, 0x0d, 0x75, 0xef, 0x6c, 0x23, 0x5f, 0xe9, 0xba, 0x19, 0x66, 0x62, 0x11, 0x71, 0x60, 0x7a,
|
||||
0xf3, 0x52, 0x1b, 0x9f, 0x14, 0x4d, 0xf0, 0x8b, 0x5d, 0x2f, 0x69, 0x21, 0x36, 0x2f, 0x36, 0xa1,
|
||||
0x93, 0xf0, 0xfa, 0xf7, 0x1d, 0x7e, 0x9a, 0x37, 0x41, 0x1d, 0x15, 0x6d, 0x6d, 0x44, 0x12, 0x8e,
|
||||
0x19, 0x08, 0xfc, 0x51, 0xf4, 0xdf, 0x4d, 0xe0, 0x92, 0x17, 0xc3, 0x25, 0x87, 0x43, 0x69, 0x5c,
|
||||
0xd7, 0x5d, 0x20, 0xed, 0xfa, 0xd2, 0xb5, 0xfe, 0x75, 0x5c, 0xc4, 0x09, 0x7b, 0x52, 0xc5, 0x53,
|
||||
0x86, 0x2e, 0x5d, 0x1b, 0x17, 0x6d, 0x25, 0x2e, 0x5d, 0xbb, 0x94, 0x3e, 0x00, 0x7f, 0x18, 0x9f,
|
||||
0xa4, 0x53, 0x35, 0x67, 0xc9, 0x21, 0x58, 0xa1, 0x03, 0x70, 0xcd, 0x8c, 0x0c, 0x88, 0x38, 0x00,
|
||||
0x27, 0x61, 0xd0, 0xfc, 0xd3, 0x20, 0xba, 0xa8, 0x99, 0xbb, 0xed, 0xb9, 0xc4, 0x5e, 0xfe, 0x9c,
|
||||
0x3f, 0x4b, 0xc5, 0x51, 0xbd, 0x11, 0xae, 0x86, 0xef, 0x53, 0x21, 0xdd, 0xbc, 0x2a, 0xca, 0x07,
|
||||
0x0b, 0xfb, 0xe9, 0x2c, 0xac, 0x3d, 0xaf, 0x90, 0x53, 0xfd, 0x6e, 0xc9, 0x67, 0xd2, 0x03, 0x65,
|
||||
0x61, 0xea, 0x58, 0x03, 0x73, 0x44, 0x16, 0xe6, 0xe3, 0x8d, 0xa5, 0x9c, 0x52, 0x6f, 0x16, 0xb0,
|
||||
0x1b, 0x61, 0x11, 0xad, 0x65, 0xec, 0xe6, 0x42, 0x3e, 0xfa, 0x36, 0x5b, 0x15, 0x24, 0xe3, 0x39,
|
||||
0xbe, 0x29, 0xd7, 0x51, 0x6a, 0x23, 0x71, 0x9b, 0xdd, 0x81, 0xf4, 0x24, 0xd7, 0x9a, 0xe4, 0x26,
|
||||
0x7f, 0x2b, 0xcb, 0xd0, 0x24, 0xa7, 0x5c, 0x15, 0x40, 0x4c, 0x72, 0x4e, 0x10, 0x74, 0xf6, 0xa3,
|
||||
0x57, 0xea, 0xc6, 0x7d, 0x5c, 0xb2, 0x93, 0x94, 0xe1, 0x3b, 0x4e, 0xc3, 0x42, 0xcc, 0x16, 0x36,
|
||||
0xa1, 0xc7, 0xe1, 0x93, 0xbc, 0x2a, 0xb2, 0xb8, 0x3a, 0x82, 0x3b, 0x36, 0xbb, 0xce, 0xad, 0x11,
|
||||
0xdf, 0xb2, 0x5d, 0xe9, 0xa1, 0xf4, 0xc6, 0xbd, 0xb5, 0xa9, 0x09, 0xe9, 0xaa, 0xdb, 0xb5, 0x33,
|
||||
0x29, 0x2d, 0xf7, 0x72, 0x7a, 0xf2, 0xbf, 0x9d, 0xf1, 0xe4, 0x18, 0x66, 0x51, 0xbb, 0xd6, 0x8d,
|
||||
0x05, 0x4f, 0xa3, 0x97, 0x7c, 0x88, 0x9e, 0x47, 0x1b, 0xc3, 0x3e, 0x2b, 0xb2, 0x38, 0xc1, 0xb7,
|
||||
0xbf, 0xd2, 0x07, 0x6c, 0xc4, 0x3c, 0x8a, 0x19, 0x54, 0x5c, 0xb8, 0x55, 0x76, 0x15, 0x17, 0x5d,
|
||||
0x2a, 0x5f, 0xf2, 0x21, 0x7a, 0x25, 0x69, 0x0c, 0xe3, 0x22, 0x4b, 0x05, 0xea, 0x1b, 0xd2, 0xa3,
|
||||
0xb1, 0x10, 0x7d, 0xc3, 0x26, 0x50, 0xc8, 0x07, 0xac, 0x9c, 0x32, 0x67, 0xc8, 0xc6, 0xe2, 0x0d,
|
||||
0xd9, 0x12, 0x10, 0xf2, 0x61, 0xf4, 0x3f, 0xb2, 0xee, 0xbc, 0x38, 0x1b, 0x5e, 0x70, 0x55, 0x8b,
|
||||
0x17, 0x67, 0x2a, 0xe0, 0x45, 0x1a, 0x40, 0x45, 0x7c, 0x1c, 0x57, 0xc2, 0x5d, 0xc4, 0xc6, 0xe2,
|
||||
0x2d, 0x62, 0x4b, 0xe8, 0x65, 0x4e, 0x16, 0x71, 0x2e, 0xd0, 0x32, 0x07, 0x05, 0x30, 0xae, 0xc2,
|
||||
0x2e, 0x90, 0x76, 0x3d, 0xbc, 0x64, 0xab, 0x30, 0xb1, 0x9b, 0xb2, 0x6c, 0x52, 0xa1, 0xe1, 0x05,
|
||||
0xcf, 0xbd, 0xb5, 0x12, 0xc3, 0xab, 0x4b, 0xa1, 0xae, 0x04, 0x67, 0x94, 0xae, 0xda, 0xa1, 0xe3,
|
||||
0xc9, 0x4b, 0x3e, 0x44, 0xa7, 0x3d, 0x8d, 0xc1, 0xb8, 0x0d, 0x71, 0x95, 0xc7, 0x71, 0x19, 0x72,
|
||||
0xb5, 0x0f, 0x03, 0x85, 0xdf, 0x0c, 0xa2, 0xb7, 0x94, 0xc4, 0x03, 0x7e, 0xc2, 0x0e, 0xf8, 0x9d,
|
||||
0x17, 0x69, 0x25, 0xd2, 0x7c, 0x0a, 0x4b, 0xd3, 0x4d, 0x22, 0x92, 0x0b, 0x56, 0xf2, 0xb7, 0x16,
|
||||
0x73, 0xd2, 0x2b, 0x24, 0x2a, 0xcb, 0x43, 0x76, 0xea, 0x5c, 0x21, 0x71, 0x44, 0xc5, 0x11, 0x2b,
|
||||
0xa4, 0x8f, 0xd7, 0x9b, 0x6d, 0x25, 0x0e, 0x6f, 0xd4, 0x1e, 0xf0, 0x36, 0x59, 0xa1, 0xa2, 0x61,
|
||||
0x90, 0xd8, 0x76, 0x78, 0x1d, 0xf4, 0x5e, 0x40, 0xe9, 0xeb, 0x4e, 0xba, 0x42, 0xc4, 0xe9, 0x76,
|
||||
0xd4, 0x6b, 0x01, 0xa4, 0x43, 0x4a, 0x5f, 0xe9, 0x51, 0x52, 0xdd, 0x1b, 0xbd, 0x6b, 0x01, 0xa4,
|
||||
0xb1, 0x71, 0x37, 0xab, 0x75, 0x3b, 0x4e, 0x8e, 0xa7, 0x25, 0x9f, 0xe7, 0x93, 0x6d, 0x9e, 0xf1,
|
||||
0x12, 0x6d, 0xdc, 0xad, 0x52, 0x23, 0x94, 0xd8, 0xb8, 0xf7, 0xb8, 0xe8, 0xc4, 0xc0, 0x2c, 0xc5,
|
||||
0x56, 0x96, 0x4e, 0xf1, 0xee, 0xc7, 0x0a, 0xd4, 0x00, 0x44, 0x62, 0xe0, 0x04, 0x1d, 0x9d, 0x48,
|
||||
0xee, 0x8e, 0x44, 0x9a, 0xc4, 0x99, 0xd4, 0xdb, 0xa0, 0xc3, 0x58, 0x60, 0x6f, 0x27, 0x72, 0x38,
|
||||
0x38, 0xea, 0x79, 0x30, 0x2f, 0xf3, 0xbd, 0x5c, 0x70, 0xb2, 0x9e, 0x2d, 0xd0, 0x5b, 0x4f, 0x03,
|
||||
0xd4, 0xd9, 0x44, 0x63, 0x3e, 0x60, 0x2f, 0xea, 0xd2, 0xd4, 0xff, 0x0c, 0x1d, 0x53, 0x4e, 0xfd,
|
||||
0xfb, 0x08, 0xec, 0x44, 0x36, 0xe1, 0xe2, 0x50, 0x65, 0x40, 0x44, 0x76, 0x18, 0x8f, 0xb7, 0xdd,
|
||||
0x4d, 0x56, 0xfa, 0x41, 0xb7, 0xce, 0x58, 0x9c, 0x65, 0xcc, 0xa7, 0xd3, 0x00, 0x21, 0x3a, 0x2d,
|
||||
0xa8, 0x4f, 0xf4, 0xad, 0xfa, 0x1c, 0xb1, 0xe4, 0xb8, 0xf3, 0x86, 0x82, 0x5d, 0x50, 0x89, 0x10,
|
||||
0x27, 0xfa, 0x04, 0xea, 0x6e, 0xa2, 0xbd, 0x84, 0xe7, 0xbe, 0x26, 0xaa, 0xed, 0x21, 0x4d, 0x04,
|
||||
0x9c, 0xde, 0xdd, 0x29, 0x2b, 0xf4, 0x4c, 0xd9, 0x4c, 0xab, 0x44, 0x04, 0x13, 0x22, 0x76, 0x77,
|
||||
0x24, 0xac, 0x8f, 0x61, 0xb1, 0xe6, 0x83, 0xee, 0x3b, 0x7b, 0x9d, 0x28, 0x0f, 0xe8, 0x77, 0xf6,
|
||||
0x28, 0x96, 0xae, 0xa4, 0xec, 0x23, 0x3d, 0x51, 0xec, 0x7e, 0xb2, 0x16, 0x06, 0xeb, 0xfb, 0x7a,
|
||||
0x4b, 0x73, 0x3b, 0x63, 0x71, 0x29, 0x55, 0xd7, 0x3d, 0x81, 0x34, 0x46, 0x9c, 0xf9, 0x79, 0x70,
|
||||
0x34, 0x85, 0x59, 0xca, 0xdb, 0x3c, 0x17, 0x2c, 0x17, 0xae, 0x29, 0xcc, 0x0e, 0x06, 0xa0, 0x6f,
|
||||
0x0a, 0xa3, 0x1c, 0x50, 0xbf, 0x6d, 0x0e, 0x25, 0x98, 0x78, 0x18, 0xcf, 0x98, 0xab, 0xdf, 0xca,
|
||||
0x03, 0x07, 0x69, 0xf7, 0xf5, 0x5b, 0xc4, 0xa1, 0x21, 0xbf, 0x37, 0x8b, 0xa7, 0x4a, 0xc5, 0xe1,
|
||||
0xdd, 0xd8, 0x3b, 0x32, 0x2b, 0xfd, 0x20, 0xd2, 0x79, 0x9a, 0x4e, 0x18, 0xf7, 0xe8, 0x34, 0xf6,
|
||||
0x10, 0x1d, 0x0c, 0xa2, 0xcc, 0xa9, 0xae, 0xad, 0xdc, 0x8f, 0x6c, 0xe5, 0x13, 0xd8, 0x85, 0x8d,
|
||||
0x88, 0x87, 0x82, 0x38, 0x5f, 0xe6, 0x44, 0xf0, 0x68, 0x7c, 0xb4, 0x27, 0x74, 0xbe, 0xf1, 0xa1,
|
||||
0x0e, 0xe0, 0x42, 0xc6, 0x87, 0x0b, 0x06, 0xcd, 0x1f, 0xc2, 0xf8, 0xd8, 0x89, 0x45, 0x5c, 0xef,
|
||||
0xa3, 0x9f, 0xa6, 0xec, 0x14, 0xb6, 0x71, 0x8e, 0xfa, 0xb6, 0xd4, 0xa8, 0xc6, 0xf0, 0x9e, 0x6e,
|
||||
0x23, 0x98, 0xf7, 0x68, 0x43, 0x76, 0xde, 0xab, 0x8d, 0xd2, 0xf4, 0x8d, 0x60, 0xde, 0xa3, 0x0d,
|
||||
0xef, 0xc1, 0xf7, 0x6a, 0xa3, 0x97, 0xe1, 0x37, 0x82, 0x79, 0xd0, 0xfe, 0xf9, 0x20, 0x3a, 0xdf,
|
||||
0x11, 0xaf, 0x73, 0xa0, 0x44, 0xa4, 0x27, 0xcc, 0x95, 0xca, 0xd9, 0xf1, 0x14, 0xea, 0x4b, 0xe5,
|
||||
0x68, 0x17, 0x28, 0xc5, 0xaf, 0x07, 0xd1, 0x9b, 0xae, 0x52, 0x3c, 0xe6, 0x55, 0xda, 0xdc, 0x68,
|
||||
0xde, 0x0c, 0x08, 0xda, 0xc2, 0xbe, 0x0d, 0x8b, 0xcf, 0x49, 0xdf, 0x07, 0x59, 0xa8, 0x7e, 0x19,
|
||||
0x70, 0xcd, 0x13, 0xaf, 0xfb, 0x4e, 0xe0, 0x7a, 0x20, 0xad, 0x2f, 0x48, 0x2c, 0xc6, 0xbc, 0x99,
|
||||
0xf1, 0xb5, 0xaa, 0xf3, 0x72, 0x66, 0x33, 0xdc, 0x01, 0xe4, 0x7f, 0xd9, 0xe6, 0xf4, 0x58, 0x1f,
|
||||
0x06, 0xc1, 0x8d, 0x90, 0x88, 0x68, 0x20, 0xdc, 0x5c, 0xc8, 0x07, 0x0a, 0xf2, 0xd7, 0x41, 0x74,
|
||||
0xc9, 0x59, 0x10, 0xfb, 0x72, 0xf0, 0x1b, 0x21, 0xb1, 0xdd, 0x97, 0x84, 0xdf, 0xfc, 0x22, 0xae,
|
||||
0x50, 0xba, 0xdf, 0xb6, 0x5b, 0xeb, 0xd6, 0xa3, 0x79, 0x61, 0xfb, 0x51, 0x39, 0x61, 0x25, 0x8c,
|
||||
0x58, 0x5f, 0xa7, 0xd3, 0x30, 0x1e, 0xb7, 0xef, 0x2d, 0xe8, 0x05, 0xc5, 0xf9, 0xfd, 0x20, 0x5a,
|
||||
0xb2, 0x60, 0xf8, 0x9a, 0xc4, 0x28, 0x8f, 0x2f, 0xb2, 0x41, 0xe3, 0x02, 0xbd, 0xbf, 0xa8, 0x1b,
|
||||
0x35, 0x92, 0x0d, 0xb8, 0xf9, 0x6e, 0xe8, 0x66, 0x60, 0x60, 0xeb, 0x4b, 0xa2, 0x5b, 0x8b, 0x39,
|
||||
0x41, 0x59, 0xfe, 0x36, 0x88, 0xae, 0x58, 0xac, 0x3e, 0xc4, 0x46, 0xe7, 0x21, 0xdf, 0xf2, 0xc4,
|
||||
0xa7, 0x9c, 0x54, 0xe1, 0xbe, 0xfd, 0xc5, 0x9c, 0xf5, 0x3d, 0xb0, 0xe5, 0xb2, 0x9b, 0x66, 0x82,
|
||||
0x95, 0xdd, 0xef, 0x45, 0xed, 0xb8, 0x92, 0x1a, 0xd1, 0xdf, 0x8b, 0x7a, 0x70, 0xe3, 0x7b, 0x51,
|
||||
0x87, 0xb2, 0xf3, 0x7b, 0x51, 0x67, 0x34, 0xef, 0xf7, 0xa2, 0x7e, 0x0f, 0x6a, 0xf1, 0x69, 0x8b,
|
||||
0x20, 0xcf, 0x84, 0x83, 0x22, 0xda, 0x47, 0xc4, 0x37, 0x16, 0x71, 0x21, 0x96, 0x5f, 0xc9, 0x35,
|
||||
0xaf, 0x2c, 0x05, 0x3c, 0x53, 0xeb, 0xb5, 0xa5, 0x8d, 0x60, 0x1e, 0xb4, 0x3f, 0x81, 0x7d, 0x8f,
|
||||
0x5a, 0x6c, 0x78, 0xd9, 0x7c, 0x2b, 0xbc, 0xea, 0x5b, 0x3c, 0xea, 0x08, 0x66, 0xcb, 0xaf, 0x85,
|
||||
0xc1, 0x44, 0x75, 0x6b, 0x02, 0x1a, 0x7d, 0xd4, 0x17, 0x08, 0x35, 0xf9, 0x46, 0x30, 0x4f, 0x2c,
|
||||
0x72, 0x52, 0x5b, 0xb6, 0x76, 0x40, 0x30, 0xbb, 0xad, 0x37, 0xc3, 0x1d, 0xf4, 0xab, 0x0f, 0x1d,
|
||||
0xf9, 0xa6, 0x9d, 0x7b, 0x9f, 0xa0, 0xd5, 0xca, 0xeb, 0x81, 0xb4, 0x2f, 0xb9, 0x31, 0x97, 0xf7,
|
||||
0xbe, 0xe4, 0xc6, 0xb9, 0xc4, 0xdf, 0x5a, 0xcc, 0x09, 0xca, 0xf2, 0xc7, 0x41, 0x74, 0x81, 0x2c,
|
||||
0x0b, 0xf4, 0x82, 0xf7, 0x43, 0x23, 0xa3, 0xde, 0xf0, 0xc1, 0xc2, 0x7e, 0x50, 0xa8, 0xbf, 0x0c,
|
||||
0xa2, 0x8b, 0x9e, 0x42, 0xc9, 0xee, 0xb1, 0x40, 0x74, 0xbb, 0x9b, 0x7c, 0xb8, 0xb8, 0x23, 0xb5,
|
||||
0xd8, 0x9b, 0xf8, 0xb8, 0xfb, 0xb1, 0xa8, 0x27, 0xf6, 0x98, 0xfe, 0x58, 0xb4, 0xdf, 0x0b, 0x1f,
|
||||
0xfe, 0xd4, 0x29, 0x09, 0xec, 0x8b, 0x5c, 0x87, 0x3f, 0x4d, 0xc6, 0x82, 0xf6, 0x43, 0xcb, 0xbd,
|
||||
0x9c, 0x4b, 0xe4, 0xce, 0x8b, 0x22, 0xce, 0x27, 0xb4, 0x88, 0xb4, 0xf7, 0x8b, 0x28, 0x0e, 0x1f,
|
||||
0x9a, 0xd5, 0xd6, 0x7d, 0xde, 0x6e, 0xf2, 0xae, 0x51, 0xfe, 0x0a, 0xf1, 0x1e, 0x9a, 0x75, 0x50,
|
||||
0x42, 0x0d, 0x32, 0x5a, 0x9f, 0x1a, 0x4a, 0x64, 0xaf, 0x87, 0xa0, 0x68, 0xfb, 0xa0, 0xd4, 0xd4,
|
||||
0x59, 0xfc, 0x9a, 0x2f, 0x4a, 0xe7, 0x3c, 0x7e, 0x3d, 0x90, 0x26, 0x64, 0xc7, 0x4c, 0xdc, 0x63,
|
||||
0xf1, 0x84, 0x95, 0x5e, 0x59, 0x45, 0x05, 0xc9, 0x9a, 0xb4, 0x4b, 0x76, 0x9b, 0x67, 0xf3, 0x59,
|
||||
0x0e, 0x8d, 0x49, 0xca, 0x9a, 0x54, 0xbf, 0x2c, 0xa2, 0xf1, 0x71, 0xa1, 0x96, 0x6d, 0x92, 0xcb,
|
||||
0xeb, 0xfe, 0x30, 0x56, 0x4e, 0xb9, 0x1a, 0xc4, 0xd2, 0xf5, 0x84, 0x6e, 0xd4, 0x53, 0x4f, 0xd4,
|
||||
0x93, 0xd6, 0x03, 0x69, 0x7c, 0x6e, 0x67, 0xc8, 0xaa, 0xfe, 0xb4, 0xd1, 0x13, 0xab, 0xd3, 0xa5,
|
||||
0x36, 0xc3, 0x1d, 0xf0, 0x29, 0x29, 0xf4, 0xaa, 0x7a, 0x57, 0xb4, 0x9b, 0x66, 0xd9, 0x70, 0xd5,
|
||||
0xd3, 0x4d, 0x5a, 0xc8, 0x7b, 0x4a, 0xea, 0x80, 0x89, 0x9e, 0xdc, 0x9e, 0x2a, 0xe6, 0xc3, 0xbe,
|
||||
0x38, 0x0d, 0x15, 0xd4, 0x93, 0x4d, 0x1a, 0x9d, 0xb6, 0x19, 0x8f, 0x5a, 0xd5, 0x76, 0xe4, 0x7f,
|
||||
0x70, 0x9d, 0x0a, 0x6f, 0x04, 0xf3, 0xe8, 0x22, 0xbb, 0xa1, 0x9a, 0x95, 0xe5, 0x32, 0x15, 0xc2,
|
||||
0x5a, 0x49, 0xae, 0xf4, 0x50, 0xe8, 0xc4, 0x52, 0x0e, 0xa3, 0x67, 0xe9, 0x64, 0xca, 0x84, 0xf3,
|
||||
0x06, 0xc9, 0x04, 0xbc, 0x37, 0x48, 0x08, 0x44, 0x4d, 0x27, 0x7f, 0x1f, 0x33, 0x71, 0x10, 0x97,
|
||||
0x53, 0x26, 0xf6, 0x26, 0xae, 0xa6, 0x03, 0x67, 0x83, 0xf2, 0x35, 0x9d, 0x93, 0x46, 0xb3, 0x81,
|
||||
0x92, 0x85, 0x2f, 0x6e, 0xaf, 0xfb, 0xc2, 0xa0, 0xcf, 0x6e, 0x57, 0x83, 0x58, 0xb4, 0xa2, 0x68,
|
||||
0xc1, 0x74, 0x96, 0x0a, 0xd7, 0x8a, 0x62, 0xc4, 0xa8, 0x11, 0xdf, 0x8a, 0xd2, 0x45, 0xa9, 0xea,
|
||||
0xd5, 0x39, 0xc2, 0xde, 0xc4, 0x5f, 0x3d, 0xc9, 0x84, 0x55, 0x4f, 0xb1, 0x9d, 0x0b, 0xcf, 0x5c,
|
||||
0x75, 0x19, 0x71, 0x04, 0x5b, 0x65, 0x47, 0xdf, 0x6e, 0x3e, 0x42, 0xc3, 0xa0, 0x6f, 0xd6, 0xa1,
|
||||
0x1c, 0x8c, 0xcf, 0x2b, 0x14, 0xd7, 0xde, 0xc9, 0x16, 0x05, 0x8b, 0xcb, 0x38, 0x4f, 0x9c, 0x5b,
|
||||
0xd3, 0x26, 0x60, 0x87, 0xf4, 0x6d, 0x4d, 0x49, 0x0f, 0x74, 0x9d, 0x6e, 0x7f, 0x3e, 0xe6, 0x18,
|
||||
0x0a, 0xea, 0x3b, 0x2d, 0xfb, 0xeb, 0xb1, 0x6b, 0x01, 0x24, 0xbe, 0x4e, 0x6f, 0x01, 0x75, 0x28,
|
||||
0x2f, 0x45, 0xdf, 0xf5, 0x84, 0xb2, 0x51, 0xdf, 0x36, 0x98, 0x76, 0x41, 0x9d, 0x5a, 0x25, 0xb8,
|
||||
0x4c, 0x7c, 0xc4, 0xce, 0x5c, 0x9d, 0x5a, 0xe7, 0xa7, 0x0d, 0xe2, 0xeb, 0xd4, 0x5d, 0x14, 0xe5,
|
||||
0x99, 0xe6, 0x3e, 0xe8, 0xaa, 0xc7, 0xdf, 0xdc, 0xfa, 0x2c, 0xf7, 0x72, 0x68, 0xe4, 0xec, 0xa4,
|
||||
0x27, 0xd6, 0x1d, 0x86, 0xa3, 0xa0, 0x3b, 0xe9, 0x89, 0xfb, 0x0a, 0x63, 0x35, 0x88, 0xc5, 0x57,
|
||||
0xf5, 0xb1, 0x60, 0x2f, 0xda, 0x3b, 0x74, 0x47, 0x71, 0x1b, 0x7b, 0xe7, 0x12, 0x7d, 0xa5, 0x1f,
|
||||
0xd4, 0xef, 0x5b, 0x3e, 0x2e, 0x79, 0xc2, 0xaa, 0x6a, 0xbb, 0xee, 0xb6, 0x19, 0x7a, 0xdf, 0x12,
|
||||
0x6c, 0x23, 0x69, 0x24, 0xde, 0xb7, 0xec, 0x40, 0x10, 0xfb, 0x5e, 0xf4, 0xf2, 0x7d, 0x3e, 0x1d,
|
||||
0xb3, 0x7c, 0x32, 0x7c, 0xcb, 0x7e, 0xc3, 0x91, 0x4f, 0x47, 0xf5, 0xcf, 0x2a, 0xde, 0x12, 0x65,
|
||||
0xd6, 0xaf, 0xa3, 0xed, 0xb0, 0xc3, 0xf9, 0xf4, 0xa0, 0x64, 0x0c, 0xbd, 0x8e, 0xd6, 0xfc, 0x3e,
|
||||
0xaa, 0x0d, 0xc4, 0xeb, 0x68, 0x16, 0xa0, 0x57, 0x49, 0x15, 0xaf, 0x4e, 0x44, 0xf1, 0xeb, 0x5e,
|
||||
0xda, 0xa7, 0xb1, 0x12, 0xab, 0x64, 0x97, 0xd2, 0x8d, 0xd7, 0xd8, 0x9a, 0x37, 0x9e, 0xc7, 0xf3,
|
||||
0xd9, 0x2c, 0x2e, 0xcf, 0x50, 0xe3, 0x49, 0x5f, 0x13, 0x20, 0x1a, 0xcf, 0x09, 0xea, 0xd7, 0xca,
|
||||
0xa4, 0xce, 0x59, 0x25, 0xd8, 0x0c, 0xbd, 0x56, 0x06, 0x8e, 0x8d, 0x89, 0x78, 0xad, 0x0c, 0x21,
|
||||
0x3a, 0x55, 0x6b, 0x0c, 0xf2, 0x75, 0xb3, 0xfb, 0x3c, 0x89, 0xb3, 0x4a, 0xf0, 0x12, 0x5f, 0xd8,
|
||||
0x49, 0x67, 0x0c, 0x11, 0xa9, 0x1a, 0x09, 0xa3, 0x06, 0x7e, 0x9c, 0xe6, 0x53, 0x67, 0x03, 0xd7,
|
||||
0x06, 0x6f, 0x03, 0x03, 0xa0, 0x27, 0x5d, 0xf9, 0x64, 0xe4, 0x5f, 0x21, 0x81, 0x2f, 0xcb, 0x9c,
|
||||
0x4f, 0xd6, 0x24, 0x88, 0x49, 0xd7, 0x4d, 0x22, 0xa9, 0x47, 0x05, 0xcb, 0xd9, 0xa4, 0x7d, 0x25,
|
||||
0xcc, 0x25, 0x65, 0x11, 0x5e, 0x29, 0x4c, 0xea, 0x59, 0xe8, 0x01, 0x13, 0x65, 0x9a, 0x54, 0x63,
|
||||
0x26, 0x1e, 0xc7, 0x65, 0x3c, 0x63, 0x82, 0x95, 0x15, 0x9a, 0x85, 0x00, 0x19, 0x59, 0x0c, 0x31,
|
||||
0x0b, 0x51, 0x2c, 0x08, 0x7e, 0x27, 0x7a, 0xbd, 0x9e, 0x9e, 0x58, 0x0e, 0x7f, 0x6b, 0xf1, 0x4e,
|
||||
0xf3, 0x67, 0x48, 0x87, 0xe7, 0x54, 0x8c, 0xb1, 0x28, 0x59, 0x3c, 0x6b, 0x63, 0xbf, 0xa6, 0x7e,
|
||||
0x6f, 0xc0, 0xcd, 0xc1, 0xed, 0xb7, 0xff, 0xf9, 0xd9, 0xd2, 0xe0, 0xd3, 0xcf, 0x96, 0x06, 0xff,
|
||||
0xfe, 0x6c, 0x69, 0xf0, 0x87, 0xcf, 0x97, 0x5e, 0xfa, 0xf4, 0xf3, 0xa5, 0x97, 0xfe, 0xf5, 0xf9,
|
||||
0xd2, 0x4b, 0x1f, 0xbf, 0x0c, 0x7f, 0x0e, 0xf5, 0xf0, 0xbf, 0x9a, 0x3f, 0x6a, 0x7a, 0xf3, 0x3f,
|
||||
0x01, 0x00, 0x00, 0xff, 0xff, 0x89, 0xe7, 0x9b, 0xac, 0x32, 0x55, 0x00, 0x00,
|
||||
// 3839 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9c, 0x5b, 0x6f, 0xdd, 0xc6,
|
||||
0xb5, 0xc7, 0xb3, 0x5f, 0x4e, 0xce, 0x61, 0x4e, 0x72, 0x4e, 0x99, 0xd6, 0x4d, 0xdd, 0x44, 0x76,
|
||||
0x1c, 0xdb, 0x92, 0x2d, 0x69, 0x4b, 0xb1, 0x9c, 0x4b, 0x2f, 0x40, 0x21, 0x4b, 0x96, 0x2d, 0xc4,
|
||||
0xb7, 0x6a, 0x4b, 0x36, 0x10, 0xa0, 0x40, 0x29, 0xee, 0xf1, 0x16, 0x2b, 0x6e, 0x0e, 0x43, 0xce,
|
||||
0x96, 0xbc, 0x5b, 0xb4, 0x68, 0xd1, 0xa2, 0x45, 0x8b, 0x16, 0x2d, 0x7a, 0x79, 0xea, 0x5b, 0x1f,
|
||||
0xfb, 0xdc, 0x0f, 0xd1, 0xc7, 0x3c, 0xf6, 0xb1, 0x48, 0xbe, 0x48, 0x41, 0xce, 0xe2, 0x5c, 0x16,
|
||||
0x67, 0x0d, 0xb9, 0xf3, 0x64, 0x63, 0xaf, 0xdf, 0x5a, 0xff, 0x19, 0xce, 0x6d, 0xcd, 0x0c, 0xa9,
|
||||
0xe0, 0x52, 0x7e, 0xbc, 0x91, 0x17, 0x5c, 0xf0, 0x72, 0xa3, 0x64, 0xc5, 0x59, 0x12, 0xb3, 0xe6,
|
||||
0xdf, 0x61, 0xfd, 0x73, 0xf8, 0x72, 0x94, 0xcd, 0xc5, 0x3c, 0x67, 0x17, 0xdf, 0xd0, 0x64, 0xcc,
|
||||
0xa7, 0xd3, 0x28, 0x1b, 0x97, 0x12, 0xb9, 0x78, 0x41, 0x5b, 0xd8, 0x19, 0xcb, 0x04, 0xfc, 0x7e,
|
||||
0xeb, 0x1f, 0x7f, 0x1f, 0x04, 0xaf, 0xed, 0xa4, 0x09, 0xcb, 0xc4, 0x0e, 0x78, 0x84, 0x1f, 0x07,
|
||||
0xaf, 0x6e, 0xe7, 0xf9, 0x3d, 0x26, 0x9e, 0xb2, 0xa2, 0x4c, 0x78, 0x16, 0xbe, 0x33, 0x04, 0x81,
|
||||
0xe1, 0x41, 0x1e, 0x0f, 0xb7, 0xf3, 0x7c, 0xa8, 0x8d, 0xc3, 0x03, 0xf6, 0xc9, 0x8c, 0x95, 0xe2,
|
||||
0xe2, 0x55, 0x3f, 0x54, 0xe6, 0x3c, 0x2b, 0x59, 0xf8, 0x3c, 0xf8, 0xd2, 0x76, 0x9e, 0x8f, 0x98,
|
||||
0xd8, 0x65, 0x55, 0x05, 0x46, 0x22, 0x12, 0x2c, 0x5c, 0x6e, 0xb9, 0xda, 0x80, 0xd2, 0x58, 0xe9,
|
||||
0x06, 0x41, 0xe7, 0x30, 0x78, 0xa5, 0xd2, 0x39, 0x99, 0x89, 0x31, 0x3f, 0xcf, 0xc2, 0xb7, 0xdb,
|
||||
0x8e, 0x60, 0x52, 0xb1, 0xaf, 0xf8, 0x10, 0x88, 0xfa, 0x2c, 0xf8, 0xdf, 0x67, 0x51, 0x9a, 0x32,
|
||||
0xb1, 0x53, 0xb0, 0xaa, 0xe0, 0xb6, 0x8f, 0x34, 0x0d, 0xa5, 0x4d, 0xc5, 0x7d, 0xc7, 0xcb, 0x40,
|
||||
0xe0, 0x8f, 0x83, 0x57, 0xa5, 0xe5, 0x80, 0xc5, 0xfc, 0x8c, 0x15, 0xa1, 0xd3, 0x0b, 0x8c, 0xc4,
|
||||
0x23, 0x6f, 0x41, 0x38, 0xf6, 0x0e, 0xcf, 0xce, 0x58, 0x21, 0xdc, 0xb1, 0xc1, 0xe8, 0x8f, 0xad,
|
||||
0x21, 0x88, 0x9d, 0x06, 0xaf, 0x9b, 0x0f, 0x64, 0xc4, 0xca, 0xba, 0xc3, 0xdc, 0xa0, 0xeb, 0x0c,
|
||||
0x88, 0xd2, 0xb9, 0xd9, 0x07, 0x05, 0xb5, 0x24, 0x08, 0x41, 0x2d, 0xe5, 0xa5, 0x12, 0x5b, 0x71,
|
||||
0x46, 0x30, 0x08, 0xa5, 0x75, 0xa3, 0x07, 0x09, 0x52, 0xdf, 0x0f, 0xfe, 0xef, 0x19, 0x2f, 0x4e,
|
||||
0xcb, 0x3c, 0x8a, 0x19, 0x34, 0xf6, 0x35, 0xdb, 0xbb, 0xb1, 0xe2, 0xf6, 0xbe, 0xde, 0x85, 0x81,
|
||||
0xc2, 0x69, 0x10, 0x2a, 0xe3, 0xe3, 0xe3, 0x1f, 0xb0, 0x58, 0x6c, 0x8f, 0xc7, 0xf8, 0xc9, 0x29,
|
||||
0x6f, 0x49, 0x0c, 0xb7, 0xc7, 0x63, 0xea, 0xc9, 0xb9, 0x51, 0x10, 0x3b, 0x0f, 0x2e, 0x20, 0xb1,
|
||||
0x07, 0x49, 0x59, 0x0b, 0xae, 0xfb, 0xa3, 0x00, 0xa6, 0x44, 0x87, 0x7d, 0x71, 0x10, 0xfe, 0xe9,
|
||||
0x20, 0xf8, 0x9a, 0x43, 0xf9, 0x80, 0x4d, 0xf9, 0x19, 0x0b, 0x37, 0xbb, 0xa3, 0x49, 0x52, 0xe9,
|
||||
0xbf, 0xbb, 0x80, 0x87, 0xa3, 0x29, 0x47, 0x2c, 0x65, 0xb1, 0x20, 0x9b, 0x52, 0x9a, 0x3b, 0x9b,
|
||||
0x52, 0x61, 0xc6, 0x28, 0x68, 0x8c, 0xf7, 0x98, 0xd8, 0x99, 0x15, 0x05, 0xcb, 0x04, 0xd9, 0x96,
|
||||
0x1a, 0xe9, 0x6c, 0x4b, 0x0b, 0x75, 0xd4, 0xe7, 0x1e, 0x13, 0xdb, 0x69, 0x4a, 0xd6, 0x47, 0x9a,
|
||||
0x3b, 0xeb, 0xa3, 0x30, 0x50, 0xf8, 0x89, 0xd1, 0x66, 0x23, 0x26, 0xf6, 0xcb, 0xfb, 0xc9, 0xe4,
|
||||
0x24, 0x4d, 0x26, 0x27, 0x82, 0x8d, 0xc3, 0x0d, 0xf2, 0xa1, 0xd8, 0xa0, 0x52, 0xdd, 0xec, 0xef,
|
||||
0xe0, 0xa8, 0xe1, 0xdd, 0x17, 0x39, 0x2f, 0xe8, 0x16, 0x93, 0xe6, 0xce, 0x1a, 0x2a, 0x0c, 0x14,
|
||||
0xbe, 0x17, 0xbc, 0xb6, 0x1d, 0xc7, 0x7c, 0x96, 0xa9, 0x09, 0x17, 0x2d, 0x5f, 0xd2, 0xd8, 0x9a,
|
||||
0x71, 0xaf, 0x75, 0x50, 0x7a, 0xca, 0x05, 0x1b, 0xcc, 0x1d, 0xef, 0x38, 0xfd, 0xd0, 0xcc, 0x71,
|
||||
0xd5, 0x0f, 0xb5, 0x62, 0xef, 0xb2, 0x94, 0x91, 0xb1, 0xa5, 0xb1, 0x23, 0xb6, 0x82, 0x5a, 0xb1,
|
||||
0x61, 0xa0, 0xb8, 0x63, 0xa3, 0x61, 0x72, 0xd5, 0x0f, 0x41, 0xec, 0xdf, 0x0c, 0x82, 0xb7, 0xc0,
|
||||
0x76, 0x37, 0x8b, 0x8e, 0x53, 0xf6, 0x80, 0xc7, 0x51, 0xfa, 0x88, 0x89, 0x73, 0x5e, 0x9c, 0x8e,
|
||||
0xe6, 0x59, 0x1c, 0x6e, 0x39, 0xe3, 0xb8, 0x61, 0x25, 0x7e, 0x7b, 0x31, 0x27, 0x23, 0x3d, 0x80,
|
||||
0x8a, 0x0a, 0x9e, 0xe3, 0xf4, 0xa0, 0xa9, 0x81, 0xe0, 0x39, 0x95, 0x1e, 0xd8, 0x48, 0x2b, 0xea,
|
||||
0xc3, 0x6a, 0x76, 0x73, 0x47, 0x7d, 0x68, 0x4e, 0x67, 0x57, 0x7c, 0x88, 0x9e, 0x5d, 0x9a, 0xce,
|
||||
0xc4, 0xb3, 0xe7, 0xc9, 0xe4, 0x28, 0x1f, 0x57, 0x5d, 0xea, 0x86, 0xbb, 0xb7, 0x18, 0x08, 0x31,
|
||||
0xbb, 0x10, 0x28, 0xa8, 0xfd, 0x6e, 0x10, 0x2c, 0xd9, 0x43, 0x63, 0xaf, 0xe0, 0xd3, 0x07, 0x6c,
|
||||
0x12, 0xc5, 0x73, 0x18, 0x8b, 0xb7, 0x7d, 0x83, 0x00, 0xd3, 0xaa, 0x10, 0xef, 0x2d, 0xe8, 0x05,
|
||||
0xe5, 0xf9, 0x6e, 0x10, 0xc8, 0xb9, 0xfd, 0x71, 0xce, 0xb2, 0xf0, 0xb2, 0x15, 0x04, 0x26, 0xfd,
|
||||
0xca, 0xa2, 0x64, 0xde, 0xf6, 0x10, 0xba, 0x99, 0xe4, 0xef, 0xf5, 0xd2, 0x1f, 0x3a, 0x3d, 0x6a,
|
||||
0x13, 0xd1, 0x4c, 0x08, 0xc1, 0x05, 0x1d, 0x9d, 0xf0, 0x73, 0x77, 0x41, 0x2b, 0x8b, 0xbf, 0xa0,
|
||||
0x40, 0xe8, 0x74, 0x13, 0x0a, 0xea, 0x4a, 0x37, 0x9b, 0x62, 0xf8, 0xd2, 0x4d, 0xcc, 0x40, 0x60,
|
||||
0x1e, 0x7c, 0xd9, 0x0c, 0x7c, 0x87, 0xf3, 0xd3, 0x69, 0x54, 0x9c, 0x86, 0x37, 0x69, 0xe7, 0x86,
|
||||
0x51, 0x42, 0xab, 0xbd, 0x58, 0x3d, 0xa3, 0x9b, 0x82, 0x23, 0x86, 0x67, 0x74, 0xcb, 0x7f, 0xc4,
|
||||
0xa8, 0x19, 0xdd, 0x81, 0xe1, 0x46, 0xbd, 0x57, 0x44, 0xf9, 0x89, 0xbb, 0x51, 0x6b, 0x93, 0xbf,
|
||||
0x51, 0x1b, 0x04, 0xb7, 0xc0, 0x88, 0x45, 0x45, 0x7c, 0xe2, 0x6e, 0x01, 0x69, 0xf3, 0xb7, 0x80,
|
||||
0x62, 0x20, 0x70, 0x11, 0x7c, 0xc5, 0x0c, 0x3c, 0x9a, 0x1d, 0x97, 0x71, 0x91, 0x1c, 0xb3, 0x70,
|
||||
0x95, 0xf6, 0x56, 0x90, 0x92, 0x5a, 0xeb, 0x07, 0xeb, 0xf4, 0x19, 0x34, 0x1b, 0xdb, 0xfe, 0xb8,
|
||||
0x44, 0xe9, 0x73, 0x13, 0xc3, 0x20, 0x88, 0xf4, 0xd9, 0x4d, 0xe2, 0xea, 0xdd, 0x2b, 0xf8, 0x2c,
|
||||
0x2f, 0x3b, 0xaa, 0x87, 0x20, 0x7f, 0xf5, 0xda, 0x30, 0x68, 0xbe, 0x08, 0xbe, 0x6a, 0x3e, 0xd2,
|
||||
0xa3, 0xac, 0x54, 0xaa, 0xeb, 0xf4, 0x73, 0x32, 0x30, 0x22, 0xc9, 0xf5, 0xe0, 0xa0, 0x1c, 0x07,
|
||||
0xff, 0xdf, 0x28, 0x8b, 0x5d, 0x26, 0xa2, 0x24, 0x2d, 0xc3, 0xeb, 0xee, 0x18, 0x8d, 0x5d, 0x69,
|
||||
0x2d, 0x77, 0x72, 0x78, 0x08, 0xed, 0xce, 0xf2, 0x34, 0x89, 0xdb, 0x3b, 0x12, 0xf0, 0x55, 0x66,
|
||||
0xff, 0x10, 0x32, 0x31, 0xbd, 0xd0, 0xa8, 0x6a, 0xc8, 0xff, 0x1c, 0xce, 0x73, 0xbc, 0xd0, 0xe8,
|
||||
0x12, 0x6a, 0x84, 0x58, 0x68, 0x08, 0x14, 0xd7, 0x67, 0xc4, 0xc4, 0x83, 0x68, 0xce, 0x67, 0xc4,
|
||||
0x94, 0xa0, 0xcc, 0xfe, 0xfa, 0x98, 0x18, 0x28, 0xcc, 0x82, 0x0b, 0x4a, 0x61, 0x3f, 0x13, 0xac,
|
||||
0xc8, 0xa2, 0x74, 0x2f, 0x8d, 0x26, 0x65, 0x48, 0x8c, 0x1b, 0x9b, 0x52, 0x7a, 0xeb, 0x3d, 0x69,
|
||||
0xc7, 0x63, 0xdc, 0x2f, 0xf7, 0xa2, 0x33, 0x5e, 0x24, 0x82, 0x7e, 0x8c, 0x1a, 0xe9, 0x7c, 0x8c,
|
||||
0x16, 0xea, 0x54, 0xdb, 0x2e, 0xe2, 0x93, 0xe4, 0x8c, 0x8d, 0x3d, 0x6a, 0x0d, 0xd2, 0x43, 0xcd,
|
||||
0x40, 0x1d, 0x8d, 0x36, 0xe2, 0xb3, 0x22, 0x66, 0x64, 0xa3, 0x49, 0x73, 0x67, 0xa3, 0x29, 0x0c,
|
||||
0x14, 0x7e, 0x31, 0x08, 0xbe, 0x2e, 0xad, 0xe6, 0x16, 0x64, 0x37, 0x2a, 0x4f, 0x8e, 0x79, 0x54,
|
||||
0x8c, 0xc3, 0x77, 0x5d, 0x71, 0x9c, 0xa8, 0x92, 0xbe, 0xb5, 0x88, 0x0b, 0x7e, 0xac, 0xd5, 0x8e,
|
||||
0x52, 0x8f, 0x38, 0xe7, 0x63, 0xb5, 0x10, 0xff, 0x63, 0xc5, 0x28, 0x9e, 0x40, 0x6a, 0xbb, 0x4c,
|
||||
0xeb, 0xaf, 0x93, 0xfe, 0x76, 0x66, 0xbf, 0xdc, 0xc9, 0xe1, 0xf9, 0xb1, 0x32, 0xda, 0xbd, 0x65,
|
||||
0x9d, 0x8a, 0xe1, 0xee, 0x31, 0xc3, 0xbe, 0x38, 0xa9, 0xac, 0x46, 0x85, 0x5f, 0xb9, 0x35, 0x32,
|
||||
0x86, 0x7d, 0x71, 0x42, 0xd9, 0x98, 0xd6, 0x7c, 0xca, 0x8e, 0xa9, 0x6d, 0xd8, 0x17, 0xc7, 0x1d,
|
||||
0x68, 0x3b, 0xcf, 0xd3, 0xf9, 0x21, 0x9b, 0xe6, 0x29, 0xd9, 0x81, 0x2c, 0xc4, 0xdf, 0x81, 0x30,
|
||||
0x8a, 0xb3, 0x9f, 0x43, 0x5e, 0xe5, 0x56, 0xce, 0xec, 0xa7, 0x36, 0xf9, 0xb3, 0x9f, 0x06, 0xc1,
|
||||
0x09, 0xc3, 0x21, 0xdf, 0xe1, 0x69, 0xb5, 0x9d, 0x6b, 0x9f, 0xb7, 0x29, 0x4f, 0x4d, 0xf8, 0x13,
|
||||
0x06, 0x44, 0xea, 0x73, 0xe1, 0x26, 0x7b, 0x8e, 0x0a, 0x76, 0x67, 0xfe, 0x20, 0xc9, 0x4e, 0x43,
|
||||
0xf7, 0xda, 0xa8, 0x01, 0xe2, 0x5c, 0xd8, 0x09, 0xe2, 0x2c, 0xfd, 0x28, 0x1b, 0x73, 0x77, 0x96,
|
||||
0x5e, 0x59, 0xfc, 0x59, 0x3a, 0x10, 0x38, 0xe4, 0x01, 0xa3, 0x42, 0x56, 0x16, 0x7f, 0x48, 0x20,
|
||||
0x5c, 0xf3, 0x01, 0xec, 0xba, 0xc8, 0xf9, 0x00, 0xed, 0xb3, 0x96, 0x3b, 0x39, 0xdc, 0x43, 0x9b,
|
||||
0x74, 0x7d, 0x8f, 0x89, 0xf8, 0xc4, 0xdd, 0x43, 0x2d, 0xc4, 0xdf, 0x43, 0x31, 0x8a, 0xab, 0x74,
|
||||
0xc8, 0xd5, 0x76, 0xe3, 0xba, 0xbb, 0x7f, 0xb4, 0xb6, 0x1a, 0xcb, 0x9d, 0x1c, 0x4e, 0xd7, 0xf7,
|
||||
0xa7, 0xf5, 0x33, 0x73, 0x76, 0x72, 0x69, 0xf3, 0xa7, 0xeb, 0x8a, 0xc1, 0xa5, 0x97, 0x86, 0xea,
|
||||
0x71, 0xba, 0x4b, 0xaf, 0xed, 0xfe, 0xd2, 0x5b, 0x1c, 0x88, 0xfc, 0x79, 0x10, 0x5c, 0x32, 0x55,
|
||||
0x1e, 0xf1, 0x6a, 0x8c, 0x3c, 0x8d, 0xd2, 0xa4, 0xda, 0xa2, 0x1f, 0xf2, 0x53, 0x96, 0x85, 0x1f,
|
||||
0x78, 0x4a, 0x2b, 0xf9, 0xa1, 0xe5, 0xa0, 0x4a, 0xf1, 0xe1, 0xe2, 0x8e, 0xb8, 0x9f, 0x48, 0xfa,
|
||||
0xa8, 0x64, 0x3b, 0x51, 0x49, 0xcc, 0x64, 0x16, 0xe2, 0xef, 0x27, 0x18, 0xc5, 0x6a, 0x7a, 0x96,
|
||||
0x68, 0x9f, 0x8b, 0x63, 0xc2, 0x73, 0x2e, 0x4e, 0xa0, 0x38, 0x45, 0xd4, 0x00, 0x1c, 0x4d, 0xaf,
|
||||
0xf9, 0xa3, 0xa0, 0x63, 0xe9, 0xf5, 0x9e, 0x74, 0x6b, 0xff, 0xad, 0x98, 0x51, 0xd5, 0x5f, 0x3b,
|
||||
0x8a, 0x3e, 0x32, 0xfb, 0xed, 0x6a, 0x2f, 0xd6, 0xbd, 0xe1, 0x3f, 0x60, 0x69, 0x54, 0xcf, 0xe5,
|
||||
0x9e, 0x0d, 0x7f, 0xc3, 0xf4, 0xd9, 0xf0, 0x1b, 0x2c, 0x08, 0xfe, 0x6c, 0x10, 0x5c, 0x74, 0x29,
|
||||
0x3e, 0xce, 0x6b, 0xdd, 0xcd, 0xee, 0x58, 0x92, 0x24, 0x0e, 0xfe, 0xfd, 0x1e, 0x50, 0x86, 0x1f,
|
||||
0x05, 0x6f, 0x34, 0x26, 0x7d, 0x2f, 0x00, 0x05, 0xb0, 0x97, 0x73, 0x55, 0x7e, 0xcc, 0x29, 0xf9,
|
||||
0x8d, 0xde, 0xbc, 0xce, 0x94, 0xed, 0x72, 0x95, 0x28, 0x53, 0x56, 0x31, 0xc0, 0x4c, 0x64, 0xca,
|
||||
0x0e, 0x0c, 0x2f, 0x99, 0x0d, 0x52, 0x8d, 0x13, 0xd7, 0x64, 0xa3, 0x42, 0x98, 0xa3, 0x64, 0xa5,
|
||||
0x1b, 0xc4, 0x7d, 0xa7, 0x31, 0x43, 0x82, 0x7a, 0xd3, 0x17, 0x01, 0x25, 0xa9, 0xab, 0xbd, 0x58,
|
||||
0x7d, 0xfd, 0xd0, 0xaa, 0xd8, 0x1e, 0x8b, 0xc4, 0xac, 0x68, 0x5d, 0x3f, 0xb4, 0xcb, 0xdd, 0x80,
|
||||
0xc4, 0xf5, 0x83, 0xd7, 0x01, 0xf4, 0x7f, 0x35, 0x08, 0xde, 0xb4, 0x39, 0xd9, 0xc4, 0xaa, 0x0c,
|
||||
0xb7, 0x7c, 0x21, 0x6d, 0x56, 0x15, 0x63, 0x6b, 0x21, 0x9f, 0xd6, 0x66, 0xc8, 0xec, 0xc8, 0xdb,
|
||||
0x67, 0x51, 0x92, 0x46, 0xc7, 0x29, 0x73, 0x6e, 0x86, 0xac, 0xbe, 0xa9, 0x50, 0xef, 0x66, 0x88,
|
||||
0x74, 0x69, 0xcd, 0x92, 0xf5, 0x78, 0x33, 0x92, 0xe8, 0x35, 0x7a, 0x54, 0x3a, 0x72, 0xe8, 0xf5,
|
||||
0x9e, 0xb4, 0xbe, 0xb4, 0xd4, 0x3f, 0x9b, 0x0f, 0xc0, 0x99, 0xbb, 0x83, 0xaf, 0x51, 0x13, 0x6f,
|
||||
0xee, 0xee, 0xc4, 0x41, 0x58, 0x34, 0xa7, 0x57, 0xa6, 0x70, 0x35, 0xba, 0xd6, 0x3a, 0x03, 0x99,
|
||||
0x43, 0x6c, 0xbd, 0x27, 0x0d, 0xaa, 0x3f, 0x0e, 0xde, 0x68, 0xab, 0xc2, 0x6a, 0xb4, 0xd1, 0x19,
|
||||
0x0a, 0x2d, 0x48, 0x9b, 0xfd, 0x1d, 0x74, 0xb2, 0x7f, 0x3f, 0x29, 0x05, 0x2f, 0xe6, 0xa3, 0x13,
|
||||
0x7e, 0xde, 0xbc, 0xfa, 0x61, 0x4f, 0x13, 0x00, 0x0c, 0x0d, 0x82, 0x48, 0xf6, 0xdd, 0x64, 0x4b,
|
||||
0x4a, 0xbf, 0x22, 0x52, 0x12, 0x52, 0x06, 0xd1, 0x21, 0x65, 0x93, 0x7a, 0x92, 0x6c, 0x6a, 0xa5,
|
||||
0xdf, 0x67, 0x59, 0x76, 0x17, 0xb5, 0xfd, 0x4e, 0xcb, 0x4a, 0x37, 0xa8, 0x37, 0x60, 0x7b, 0x49,
|
||||
0xca, 0x1e, 0x3f, 0x7f, 0x9e, 0xf2, 0x68, 0x8c, 0x36, 0x60, 0x95, 0x65, 0x08, 0x26, 0x62, 0x03,
|
||||
0x86, 0x10, 0xbd, 0x88, 0x54, 0x86, 0xaa, 0x77, 0x36, 0x91, 0xaf, 0xb5, 0xdd, 0x0c, 0x33, 0xb1,
|
||||
0x88, 0x38, 0x30, 0xbd, 0x79, 0xa9, 0x8c, 0x47, 0x79, 0x1d, 0xfc, 0x72, 0xdb, 0x4b, 0x5a, 0x88,
|
||||
0xcd, 0x8b, 0x4d, 0xe8, 0x24, 0xbc, 0xfa, 0x7d, 0x97, 0x9f, 0x67, 0x75, 0x50, 0x47, 0x45, 0x1b,
|
||||
0x1b, 0x91, 0x84, 0x63, 0x06, 0x02, 0x7f, 0x14, 0xfc, 0x77, 0x1d, 0xb8, 0xe0, 0x79, 0xb8, 0xe4,
|
||||
0x70, 0x28, 0x8c, 0xeb, 0xba, 0x4b, 0xa4, 0x5d, 0xdf, 0x00, 0x57, 0xbf, 0x8e, 0xf2, 0x28, 0x66,
|
||||
0x47, 0x65, 0x34, 0x61, 0xe8, 0x06, 0xb8, 0x76, 0xd1, 0x56, 0xe2, 0x06, 0xb8, 0x4d, 0xe9, 0x03,
|
||||
0xf0, 0x47, 0xd1, 0x59, 0x32, 0x51, 0x73, 0x96, 0x1c, 0x82, 0x25, 0x3a, 0x00, 0xd7, 0xcc, 0xd0,
|
||||
0x80, 0x88, 0x03, 0x70, 0x12, 0x06, 0xcd, 0x3f, 0x0d, 0x82, 0xcb, 0x9a, 0xb9, 0xd7, 0x9c, 0x4b,
|
||||
0xec, 0x67, 0xcf, 0xf9, 0xb3, 0x44, 0x9c, 0x54, 0x1b, 0xe1, 0x32, 0x7c, 0x9f, 0x0a, 0xe9, 0xe6,
|
||||
0x55, 0x51, 0x3e, 0x58, 0xd8, 0x4f, 0x67, 0x61, 0xcd, 0x79, 0x85, 0x9c, 0xea, 0xf7, 0x0a, 0x3e,
|
||||
0x95, 0x1e, 0x28, 0x0b, 0x53, 0xc7, 0x1a, 0x98, 0x23, 0xb2, 0x30, 0x1f, 0x6f, 0x2c, 0xe5, 0x94,
|
||||
0x7a, 0xbd, 0x80, 0xdd, 0xea, 0x17, 0xd1, 0x5a, 0xc6, 0xb6, 0x16, 0xf2, 0xd1, 0x57, 0xeb, 0xaa,
|
||||
0x20, 0x29, 0xcf, 0xf0, 0xb5, 0xbd, 0x8e, 0x52, 0x19, 0x89, 0xab, 0xf5, 0x16, 0xa4, 0x27, 0xb9,
|
||||
0xc6, 0x24, 0x37, 0xf9, 0xdb, 0x69, 0x8a, 0x26, 0x39, 0xe5, 0xaa, 0x00, 0x62, 0x92, 0x73, 0x82,
|
||||
0xa0, 0x73, 0x10, 0xbc, 0x52, 0x35, 0xee, 0x93, 0x82, 0x9d, 0x25, 0x0c, 0xdf, 0x71, 0x1a, 0x16,
|
||||
0x62, 0xb6, 0xb0, 0x09, 0x3d, 0x0e, 0x8f, 0xb2, 0x32, 0x4f, 0xa3, 0xf2, 0x04, 0xee, 0xd8, 0xec,
|
||||
0x3a, 0x37, 0x46, 0x7c, 0xcb, 0x76, 0xad, 0x83, 0xd2, 0x1b, 0xf7, 0xc6, 0xa6, 0x26, 0xa4, 0xeb,
|
||||
0x6e, 0xd7, 0xd6, 0xa4, 0xb4, 0xdc, 0xc9, 0xe9, 0xc9, 0xff, 0x4e, 0xca, 0xe3, 0x53, 0x98, 0x45,
|
||||
0xed, 0x5a, 0xd7, 0x16, 0x3c, 0x8d, 0x5e, 0xf1, 0x21, 0x7a, 0x1e, 0xad, 0x0d, 0x07, 0x2c, 0x4f,
|
||||
0xa3, 0x18, 0xdf, 0xfe, 0x4a, 0x1f, 0xb0, 0x11, 0xf3, 0x28, 0x66, 0x50, 0x71, 0xe1, 0x56, 0xd9,
|
||||
0x55, 0x5c, 0x74, 0xa9, 0x7c, 0xc5, 0x87, 0xe8, 0x95, 0xa4, 0x36, 0x8c, 0xf2, 0x34, 0x11, 0xa8,
|
||||
0x6f, 0x48, 0x8f, 0xda, 0x42, 0xf4, 0x0d, 0x9b, 0x40, 0x21, 0x1f, 0xb2, 0x62, 0xc2, 0x9c, 0x21,
|
||||
0x6b, 0x8b, 0x37, 0x64, 0x43, 0x40, 0xc8, 0x47, 0xc1, 0xff, 0xc8, 0xba, 0xf3, 0x7c, 0x1e, 0x5e,
|
||||
0x72, 0x55, 0x8b, 0xe7, 0x73, 0x15, 0xf0, 0x32, 0x0d, 0xa0, 0x22, 0x3e, 0x89, 0x4a, 0xe1, 0x2e,
|
||||
0x62, 0x6d, 0xf1, 0x16, 0xb1, 0x21, 0xf4, 0x32, 0x27, 0x8b, 0x38, 0x13, 0x68, 0x99, 0x83, 0x02,
|
||||
0x18, 0x57, 0x61, 0x97, 0x48, 0xbb, 0x1e, 0x5e, 0xb2, 0x55, 0x98, 0xd8, 0x4b, 0x58, 0x3a, 0x2e,
|
||||
0xd1, 0xf0, 0x82, 0xe7, 0xde, 0x58, 0x89, 0xe1, 0xd5, 0xa6, 0x50, 0x57, 0x82, 0x33, 0x4a, 0x57,
|
||||
0xed, 0xd0, 0xf1, 0xe4, 0x15, 0x1f, 0xa2, 0xd3, 0x9e, 0xda, 0x60, 0xdc, 0x86, 0xb8, 0xca, 0xe3,
|
||||
0xb8, 0x0c, 0xb9, 0xde, 0x85, 0x19, 0x2f, 0x23, 0x29, 0x89, 0x87, 0xfc, 0x8c, 0x1d, 0xf2, 0xbb,
|
||||
0x2f, 0x92, 0x52, 0x24, 0xd9, 0x04, 0x96, 0xa6, 0x2d, 0x22, 0x92, 0x0b, 0x26, 0x5e, 0x46, 0xea,
|
||||
0x74, 0xd2, 0x2b, 0x24, 0x2a, 0xcb, 0x23, 0x76, 0xee, 0x5c, 0x21, 0x71, 0x44, 0xc5, 0x11, 0x2b,
|
||||
0xa4, 0x8f, 0xd7, 0x9b, 0x6d, 0x25, 0x0e, 0xaf, 0xf7, 0x1e, 0xf2, 0x26, 0x59, 0xa1, 0xa2, 0x61,
|
||||
0x90, 0xd8, 0x76, 0x78, 0x1d, 0xf4, 0x5e, 0x40, 0xe9, 0xeb, 0x4e, 0xba, 0x42, 0xc4, 0x69, 0x77,
|
||||
0xd4, 0x1b, 0x3d, 0x48, 0x87, 0x94, 0xbe, 0xd2, 0xa3, 0xa4, 0xda, 0x37, 0x7a, 0x37, 0x7a, 0x90,
|
||||
0xc6, 0xc6, 0xdd, 0xac, 0xd6, 0x9d, 0x28, 0x3e, 0x9d, 0x14, 0x7c, 0x96, 0x8d, 0x77, 0x78, 0xca,
|
||||
0x0b, 0xb4, 0x71, 0xb7, 0x4a, 0x8d, 0x50, 0x62, 0xe3, 0xde, 0xe1, 0xa2, 0x13, 0x03, 0xb3, 0x14,
|
||||
0xdb, 0x69, 0x32, 0xc1, 0xbb, 0x1f, 0x2b, 0x50, 0x0d, 0x10, 0x89, 0x81, 0x13, 0x74, 0x74, 0x22,
|
||||
0xb9, 0x3b, 0x12, 0x49, 0x1c, 0xa5, 0x52, 0x6f, 0x83, 0x0e, 0x63, 0x81, 0x9d, 0x9d, 0xc8, 0xe1,
|
||||
0xe0, 0xa8, 0xe7, 0xe1, 0xac, 0xc8, 0xf6, 0x33, 0xc1, 0xc9, 0x7a, 0x36, 0x40, 0x67, 0x3d, 0x0d,
|
||||
0x50, 0x67, 0x13, 0xb5, 0xf9, 0x90, 0xbd, 0xa8, 0x4a, 0x53, 0xfd, 0x13, 0x3a, 0xa6, 0x9c, 0xea,
|
||||
0xf7, 0x21, 0xd8, 0x89, 0x6c, 0xc2, 0xc5, 0xa1, 0xca, 0x80, 0x88, 0xec, 0x30, 0x1e, 0x6f, 0xbb,
|
||||
0x9b, 0xac, 0x74, 0x83, 0x6e, 0x9d, 0x91, 0x98, 0xa7, 0xcc, 0xa7, 0x53, 0x03, 0x7d, 0x74, 0x1a,
|
||||
0x50, 0x9f, 0xe8, 0x5b, 0xf5, 0x39, 0x61, 0xf1, 0x69, 0xeb, 0x0d, 0x05, 0xbb, 0xa0, 0x12, 0x21,
|
||||
0x4e, 0xf4, 0x09, 0xd4, 0xdd, 0x44, 0xfb, 0x31, 0xcf, 0x7c, 0x4d, 0x54, 0xd9, 0xfb, 0x34, 0x11,
|
||||
0x70, 0x7a, 0x77, 0xa7, 0xac, 0xd0, 0x33, 0x65, 0x33, 0xad, 0x12, 0x11, 0x4c, 0x88, 0xd8, 0xdd,
|
||||
0x91, 0xb0, 0x3e, 0x86, 0xc5, 0x9a, 0x0f, 0xdb, 0xef, 0xec, 0xb5, 0xa2, 0x3c, 0xa4, 0xdf, 0xd9,
|
||||
0xa3, 0x58, 0xba, 0x92, 0xb2, 0x8f, 0x74, 0x44, 0xb1, 0xfb, 0xc9, 0x5a, 0x3f, 0x58, 0xdf, 0xd7,
|
||||
0x5b, 0x9a, 0x3b, 0x29, 0x8b, 0x0a, 0xa9, 0xba, 0xee, 0x09, 0xa4, 0x31, 0xe2, 0xcc, 0xcf, 0x83,
|
||||
0xa3, 0x29, 0xcc, 0x52, 0xde, 0xe1, 0x99, 0x60, 0x99, 0x70, 0x4d, 0x61, 0x76, 0x30, 0x00, 0x7d,
|
||||
0x53, 0x18, 0xe5, 0x80, 0xfa, 0x6d, 0x7d, 0x28, 0xc1, 0xc4, 0xa3, 0x68, 0xca, 0x5c, 0xfd, 0x56,
|
||||
0x1e, 0x38, 0x48, 0xbb, 0xaf, 0xdf, 0x22, 0x0e, 0x0d, 0xf9, 0xfd, 0x69, 0x34, 0x51, 0x2a, 0x0e,
|
||||
0xef, 0xda, 0xde, 0x92, 0x59, 0xe9, 0x06, 0x91, 0xce, 0xd3, 0x64, 0xcc, 0xb8, 0x47, 0xa7, 0xb6,
|
||||
0xf7, 0xd1, 0xc1, 0x20, 0xca, 0x9c, 0xaa, 0xda, 0xca, 0xfd, 0xc8, 0x76, 0x36, 0x86, 0x5d, 0xd8,
|
||||
0x90, 0x78, 0x28, 0x88, 0xf3, 0x65, 0x4e, 0x04, 0x8f, 0xc6, 0x47, 0x73, 0x42, 0xe7, 0x1b, 0x1f,
|
||||
0xea, 0x00, 0xae, 0xcf, 0xf8, 0x70, 0xc1, 0xa0, 0xf9, 0x43, 0x18, 0x1f, 0xbb, 0x91, 0x88, 0xaa,
|
||||
0x7d, 0xf4, 0xd3, 0x84, 0x9d, 0xc3, 0x36, 0xce, 0x51, 0xdf, 0x86, 0x1a, 0x56, 0x18, 0xde, 0xd3,
|
||||
0x6d, 0xf4, 0xe6, 0x3d, 0xda, 0x90, 0x9d, 0x77, 0x6a, 0xa3, 0x34, 0x7d, 0xa3, 0x37, 0xef, 0xd1,
|
||||
0x86, 0xf7, 0xe0, 0x3b, 0xb5, 0xd1, 0xcb, 0xf0, 0x1b, 0xbd, 0x79, 0xd0, 0xfe, 0xf9, 0x20, 0xb8,
|
||||
0xd8, 0x12, 0xaf, 0x72, 0xa0, 0x58, 0x24, 0x67, 0xcc, 0x95, 0xca, 0xd9, 0xf1, 0x14, 0xea, 0x4b,
|
||||
0xe5, 0x68, 0x17, 0x28, 0xc5, 0xaf, 0x07, 0xc1, 0x9b, 0xae, 0x52, 0x3c, 0xe1, 0x65, 0x52, 0xdf,
|
||||
0x68, 0x6e, 0xf5, 0x08, 0xda, 0xc0, 0xbe, 0x0d, 0x8b, 0xcf, 0x49, 0xdf, 0x07, 0x59, 0xa8, 0x7e,
|
||||
0x19, 0x70, 0xcd, 0x13, 0xaf, 0xfd, 0x4e, 0xe0, 0x7a, 0x4f, 0x5a, 0x5f, 0x90, 0x58, 0x8c, 0x79,
|
||||
0x33, 0xe3, 0x6b, 0x55, 0xe7, 0xe5, 0xcc, 0x66, 0x7f, 0x07, 0x90, 0xff, 0x65, 0x93, 0xd3, 0x63,
|
||||
0x7d, 0x18, 0x04, 0xb7, 0xfa, 0x44, 0x44, 0x03, 0x61, 0x6b, 0x21, 0x1f, 0x28, 0xc8, 0x5f, 0x07,
|
||||
0xc1, 0x15, 0x67, 0x41, 0xec, 0xcb, 0xc1, 0x6f, 0xf4, 0x89, 0xed, 0xbe, 0x24, 0xfc, 0xe6, 0x17,
|
||||
0x71, 0x85, 0xd2, 0xfd, 0xb6, 0xd9, 0x5a, 0x37, 0x1e, 0xf5, 0x0b, 0xdb, 0x8f, 0x8b, 0x31, 0x2b,
|
||||
0x60, 0xc4, 0xfa, 0x3a, 0x9d, 0x86, 0xf1, 0xb8, 0x7d, 0x6f, 0x41, 0x2f, 0x28, 0xce, 0xef, 0x07,
|
||||
0xc1, 0x92, 0x05, 0xc3, 0xd7, 0x24, 0x46, 0x79, 0x7c, 0x91, 0x0d, 0x1a, 0x17, 0xe8, 0xfd, 0x45,
|
||||
0xdd, 0xa8, 0x91, 0x6c, 0xc0, 0xf5, 0x77, 0x43, 0x5b, 0x3d, 0x03, 0x5b, 0x5f, 0x12, 0xdd, 0x5e,
|
||||
0xcc, 0x09, 0xca, 0xf2, 0xb7, 0x41, 0x70, 0xcd, 0x62, 0xf5, 0x21, 0x36, 0x3a, 0x0f, 0xf9, 0x96,
|
||||
0x27, 0x3e, 0xe5, 0xa4, 0x0a, 0xf7, 0xed, 0x2f, 0xe6, 0xac, 0xef, 0x81, 0x2d, 0x97, 0xbd, 0x24,
|
||||
0x15, 0xac, 0x68, 0x7f, 0xbc, 0x6a, 0xc7, 0x95, 0xd4, 0x90, 0xfe, 0x78, 0xd5, 0x83, 0x1b, 0x1f,
|
||||
0xaf, 0x3a, 0x94, 0x9d, 0x1f, 0xaf, 0x3a, 0xa3, 0x79, 0x3f, 0x5e, 0xf5, 0x7b, 0x50, 0x8b, 0x4f,
|
||||
0x53, 0x04, 0x79, 0x26, 0xdc, 0x2b, 0xa2, 0x7d, 0x44, 0x7c, 0x6b, 0x11, 0x17, 0x62, 0xf9, 0x95,
|
||||
0x5c, 0xfd, 0xca, 0x52, 0x8f, 0x67, 0x6a, 0xbd, 0xb6, 0xb4, 0xd1, 0x9b, 0x07, 0xed, 0x4f, 0x60,
|
||||
0xdf, 0xa3, 0x16, 0x1b, 0x5e, 0xd4, 0x1f, 0x2e, 0xaf, 0xfa, 0x16, 0x8f, 0x2a, 0x82, 0xd9, 0xf2,
|
||||
0x6b, 0xfd, 0x60, 0xa2, 0xba, 0x15, 0x01, 0x8d, 0x3e, 0xec, 0x0a, 0x84, 0x9a, 0x7c, 0xa3, 0x37,
|
||||
0x4f, 0x2c, 0x72, 0x52, 0x5b, 0xb6, 0x76, 0x8f, 0x60, 0x76, 0x5b, 0x6f, 0xf6, 0x77, 0xd0, 0xaf,
|
||||
0x3e, 0xb4, 0xe4, 0xeb, 0x76, 0xee, 0x7c, 0x82, 0x56, 0x2b, 0xaf, 0xf7, 0xa4, 0x7d, 0xc9, 0x8d,
|
||||
0xb9, 0xbc, 0x77, 0x25, 0x37, 0xce, 0x25, 0xfe, 0xf6, 0x62, 0x4e, 0x50, 0x96, 0x3f, 0x0e, 0x82,
|
||||
0x4b, 0x64, 0x59, 0xa0, 0x17, 0xbc, 0xdf, 0x37, 0x32, 0xea, 0x0d, 0x1f, 0x2c, 0xec, 0x07, 0x85,
|
||||
0xfa, 0xcb, 0x20, 0xb8, 0xec, 0x29, 0x94, 0xec, 0x1e, 0x0b, 0x44, 0xb7, 0xbb, 0xc9, 0x87, 0x8b,
|
||||
0x3b, 0x52, 0x8b, 0xbd, 0x89, 0x8f, 0xda, 0x1f, 0x8b, 0x7a, 0x62, 0x8f, 0xe8, 0x8f, 0x45, 0xbb,
|
||||
0xbd, 0xf0, 0xe1, 0x4f, 0x95, 0x92, 0xc0, 0xbe, 0xc8, 0x75, 0xf8, 0x53, 0x67, 0x2c, 0x68, 0x3f,
|
||||
0xb4, 0xdc, 0xc9, 0xb9, 0x44, 0xee, 0xbe, 0xc8, 0xa3, 0x6c, 0x4c, 0x8b, 0x48, 0x7b, 0xb7, 0x88,
|
||||
0xe2, 0xf0, 0xa1, 0x59, 0x65, 0x3d, 0xe0, 0xcd, 0x26, 0xef, 0x06, 0xe5, 0xaf, 0x10, 0xef, 0xa1,
|
||||
0x59, 0x0b, 0x25, 0xd4, 0x20, 0xa3, 0xf5, 0xa9, 0xa1, 0x44, 0xf6, 0x66, 0x1f, 0x14, 0x6d, 0x1f,
|
||||
0x94, 0x9a, 0x3a, 0x8b, 0x5f, 0xf3, 0x45, 0x69, 0x9d, 0xc7, 0xaf, 0xf7, 0xa4, 0x09, 0xd9, 0x11,
|
||||
0x13, 0xf7, 0x59, 0x34, 0x66, 0x85, 0x57, 0x56, 0x51, 0xbd, 0x64, 0x4d, 0xda, 0x25, 0xbb, 0xc3,
|
||||
0xd3, 0xd9, 0x34, 0x83, 0xc6, 0x24, 0x65, 0x4d, 0xaa, 0x5b, 0x16, 0xd1, 0xf8, 0xb8, 0x50, 0xcb,
|
||||
0xd6, 0xc9, 0xe5, 0x4d, 0x7f, 0x18, 0x2b, 0xa7, 0x5c, 0xed, 0xc5, 0xd2, 0xf5, 0x84, 0x6e, 0xd4,
|
||||
0x51, 0x4f, 0xd4, 0x93, 0xd6, 0x7b, 0xd2, 0xf8, 0xdc, 0xce, 0x90, 0x55, 0xfd, 0x69, 0xa3, 0x23,
|
||||
0x56, 0xab, 0x4b, 0x6d, 0xf6, 0x77, 0xc0, 0xa7, 0xa4, 0xd0, 0xab, 0xaa, 0x5d, 0xd1, 0x5e, 0x92,
|
||||
0xa6, 0xe1, 0xaa, 0xa7, 0x9b, 0x34, 0x90, 0xf7, 0x94, 0xd4, 0x01, 0x13, 0x3d, 0xb9, 0x39, 0x55,
|
||||
0xcc, 0xc2, 0xae, 0x38, 0x35, 0xd5, 0xab, 0x27, 0x9b, 0x34, 0x3a, 0x6d, 0x33, 0x1e, 0xb5, 0xaa,
|
||||
0xed, 0xd0, 0xff, 0xe0, 0x5a, 0x15, 0xde, 0xe8, 0xcd, 0xa3, 0x8b, 0xec, 0x9a, 0xaa, 0x57, 0x96,
|
||||
0xab, 0x54, 0x08, 0x6b, 0x25, 0xb9, 0xd6, 0x41, 0xa1, 0x13, 0x4b, 0x39, 0x8c, 0x9e, 0x25, 0xe3,
|
||||
0x09, 0x13, 0xce, 0x1b, 0x24, 0x13, 0xf0, 0xde, 0x20, 0x21, 0x10, 0x35, 0x9d, 0xfc, 0x7d, 0xc4,
|
||||
0xc4, 0x61, 0x54, 0x4c, 0x98, 0xd8, 0x1f, 0xbb, 0x9a, 0x0e, 0x9c, 0x0d, 0xca, 0xd7, 0x74, 0x4e,
|
||||
0x1a, 0xcd, 0x06, 0x4a, 0x16, 0xbe, 0xb8, 0xbd, 0xe9, 0x0b, 0x83, 0x3e, 0xbb, 0x5d, 0xed, 0xc5,
|
||||
0xa2, 0x15, 0x45, 0x0b, 0x26, 0xd3, 0x44, 0xb8, 0x56, 0x14, 0x23, 0x46, 0x85, 0xf8, 0x56, 0x94,
|
||||
0x36, 0x4a, 0x55, 0xaf, 0xca, 0x11, 0xf6, 0xc7, 0xfe, 0xea, 0x49, 0xa6, 0x5f, 0xf5, 0x14, 0xdb,
|
||||
0xba, 0xf0, 0xcc, 0x54, 0x97, 0x11, 0x27, 0xb0, 0x55, 0x76, 0xf4, 0xed, 0xfa, 0x23, 0x34, 0x0c,
|
||||
0xfa, 0x66, 0x1d, 0xca, 0xc1, 0xf8, 0xbc, 0x42, 0x71, 0xcd, 0x9d, 0x6c, 0x9e, 0xb3, 0xa8, 0x88,
|
||||
0xb2, 0xd8, 0xb9, 0x35, 0xad, 0x03, 0xb6, 0x48, 0xdf, 0xd6, 0x94, 0xf4, 0x40, 0xd7, 0xe9, 0xf6,
|
||||
0xe7, 0x63, 0x8e, 0xa1, 0xa0, 0xbe, 0xd3, 0xb2, 0xbf, 0x1e, 0xbb, 0xd1, 0x83, 0xc4, 0xd7, 0xe9,
|
||||
0x0d, 0xa0, 0x0e, 0xe5, 0xa5, 0xe8, 0xbb, 0x9e, 0x50, 0x36, 0xea, 0xdb, 0x06, 0xd3, 0x2e, 0xa8,
|
||||
0x53, 0xab, 0x04, 0x97, 0x89, 0x8f, 0xd8, 0xdc, 0xd5, 0xa9, 0x75, 0x7e, 0x5a, 0x23, 0xbe, 0x4e,
|
||||
0xdd, 0x46, 0x51, 0x9e, 0x69, 0xee, 0x83, 0xae, 0x7b, 0xfc, 0xcd, 0xad, 0xcf, 0x72, 0x27, 0x87,
|
||||
0x46, 0xce, 0x6e, 0x72, 0x66, 0xdd, 0x61, 0x38, 0x0a, 0xba, 0x9b, 0x9c, 0xb9, 0xaf, 0x30, 0x56,
|
||||
0x7b, 0xb1, 0xf8, 0xaa, 0x3e, 0x12, 0xec, 0x45, 0x73, 0x87, 0xee, 0x28, 0x6e, 0x6d, 0x6f, 0x5d,
|
||||
0xa2, 0xaf, 0x74, 0x83, 0xfa, 0x7d, 0xcb, 0x27, 0x05, 0x8f, 0x59, 0x59, 0xee, 0x54, 0xdd, 0x36,
|
||||
0x45, 0xef, 0x5b, 0x82, 0x6d, 0x28, 0x8d, 0xc4, 0xfb, 0x96, 0x2d, 0x08, 0x62, 0xdf, 0x0f, 0x5e,
|
||||
0x7e, 0xc0, 0x27, 0x23, 0x96, 0x8d, 0xc3, 0xb7, 0xec, 0x37, 0x1c, 0xf9, 0x64, 0x58, 0xfd, 0xac,
|
||||
0xe2, 0x2d, 0x51, 0x66, 0xfd, 0x3a, 0xda, 0x2e, 0x3b, 0x9e, 0x4d, 0x0e, 0x0b, 0xc6, 0xd0, 0xeb,
|
||||
0x68, 0xf5, 0xef, 0xc3, 0xca, 0x40, 0xbc, 0x8e, 0x66, 0x01, 0x7a, 0x95, 0x54, 0xf1, 0xaa, 0x44,
|
||||
0x14, 0xbf, 0xee, 0xa5, 0x7d, 0x6a, 0x2b, 0xb1, 0x4a, 0xb6, 0x29, 0xdd, 0x78, 0xb5, 0xad, 0x7e,
|
||||
0xe3, 0x79, 0x34, 0x9b, 0x4e, 0xa3, 0x62, 0x8e, 0x1a, 0x4f, 0xfa, 0x9a, 0x00, 0xd1, 0x78, 0x4e,
|
||||
0x50, 0xbf, 0x56, 0x26, 0x75, 0xe6, 0xa5, 0x60, 0x53, 0xf4, 0x5a, 0x19, 0x38, 0xd6, 0x26, 0xe2,
|
||||
0xb5, 0x32, 0x84, 0xe8, 0x54, 0xad, 0x36, 0xc8, 0xd7, 0xcd, 0xea, 0x3f, 0x0e, 0x55, 0x0a, 0x5e,
|
||||
0xe0, 0x0b, 0x3b, 0xe9, 0x8c, 0x21, 0x22, 0x55, 0x23, 0x61, 0xd4, 0xc0, 0x4f, 0x92, 0x6c, 0xe2,
|
||||
0x6c, 0xe0, 0xca, 0xe0, 0x6d, 0x60, 0x00, 0xf4, 0xa4, 0x2b, 0x9f, 0x8c, 0xfc, 0x2b, 0x24, 0xf0,
|
||||
0x65, 0x99, 0xf3, 0xc9, 0x9a, 0x04, 0x31, 0xe9, 0xba, 0x49, 0x24, 0xf5, 0x38, 0x67, 0x19, 0x1b,
|
||||
0x37, 0xaf, 0x84, 0xb9, 0xa4, 0x2c, 0xc2, 0x2b, 0x85, 0x49, 0x3d, 0x0b, 0x3d, 0x64, 0xa2, 0x48,
|
||||
0xe2, 0x72, 0xc4, 0xc4, 0x93, 0xa8, 0x88, 0xa6, 0x4c, 0xb0, 0xa2, 0x44, 0xb3, 0x10, 0x20, 0x43,
|
||||
0x8b, 0x21, 0x66, 0x21, 0x8a, 0x05, 0xc1, 0xef, 0x04, 0xaf, 0x57, 0xd3, 0x13, 0xcb, 0xe0, 0x0f,
|
||||
0x3f, 0xde, 0xad, 0xff, 0x26, 0x6a, 0x78, 0x41, 0xc5, 0x18, 0x89, 0x82, 0x45, 0xd3, 0x26, 0xf6,
|
||||
0x6b, 0xea, 0xf7, 0x1a, 0xdc, 0x1c, 0xdc, 0x79, 0xfb, 0x9f, 0x9f, 0x2d, 0x0d, 0x3e, 0xfd, 0x6c,
|
||||
0x69, 0xf0, 0xef, 0xcf, 0x96, 0x06, 0x7f, 0xf8, 0x7c, 0xe9, 0xa5, 0x4f, 0x3f, 0x5f, 0x7a, 0xe9,
|
||||
0x5f, 0x9f, 0x2f, 0xbd, 0xf4, 0xf1, 0xcb, 0xf0, 0xb7, 0x59, 0x8f, 0xff, 0xab, 0xfe, 0x0b, 0xab,
|
||||
0x5b, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x4f, 0x61, 0xbe, 0xbf, 0x55, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
@ -306,6 +308,7 @@ type ClientCommandsClient interface {
|
|||
AccountCreate(ctx context.Context, in *pb.RpcAccountCreateRequest, opts ...grpc.CallOption) (*pb.RpcAccountCreateResponse, error)
|
||||
AccountDelete(ctx context.Context, in *pb.RpcAccountDeleteRequest, opts ...grpc.CallOption) (*pb.RpcAccountDeleteResponse, error)
|
||||
AccountSelect(ctx context.Context, in *pb.RpcAccountSelectRequest, opts ...grpc.CallOption) (*pb.RpcAccountSelectResponse, error)
|
||||
AccountEnableLocalNetworkSync(ctx context.Context, in *pb.RpcAccountEnableLocalNetworkSyncRequest, opts ...grpc.CallOption) (*pb.RpcAccountEnableLocalNetworkSyncResponse, error)
|
||||
AccountStop(ctx context.Context, in *pb.RpcAccountStopRequest, opts ...grpc.CallOption) (*pb.RpcAccountStopResponse, error)
|
||||
AccountMove(ctx context.Context, in *pb.RpcAccountMoveRequest, opts ...grpc.CallOption) (*pb.RpcAccountMoveResponse, error)
|
||||
AccountConfigUpdate(ctx context.Context, in *pb.RpcAccountConfigUpdateRequest, opts ...grpc.CallOption) (*pb.RpcAccountConfigUpdateResponse, error)
|
||||
|
@ -714,6 +717,15 @@ func (c *clientCommandsClient) AccountSelect(ctx context.Context, in *pb.RpcAcco
|
|||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clientCommandsClient) AccountEnableLocalNetworkSync(ctx context.Context, in *pb.RpcAccountEnableLocalNetworkSyncRequest, opts ...grpc.CallOption) (*pb.RpcAccountEnableLocalNetworkSyncResponse, error) {
|
||||
out := new(pb.RpcAccountEnableLocalNetworkSyncResponse)
|
||||
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountEnableLocalNetworkSync", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clientCommandsClient) AccountStop(ctx context.Context, in *pb.RpcAccountStopRequest, opts ...grpc.CallOption) (*pb.RpcAccountStopResponse, error) {
|
||||
out := new(pb.RpcAccountStopResponse)
|
||||
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountStop", in, out, opts...)
|
||||
|
@ -2350,6 +2362,7 @@ type ClientCommandsServer interface {
|
|||
AccountCreate(context.Context, *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse
|
||||
AccountDelete(context.Context, *pb.RpcAccountDeleteRequest) *pb.RpcAccountDeleteResponse
|
||||
AccountSelect(context.Context, *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse
|
||||
AccountEnableLocalNetworkSync(context.Context, *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse
|
||||
AccountStop(context.Context, *pb.RpcAccountStopRequest) *pb.RpcAccountStopResponse
|
||||
AccountMove(context.Context, *pb.RpcAccountMoveRequest) *pb.RpcAccountMoveResponse
|
||||
AccountConfigUpdate(context.Context, *pb.RpcAccountConfigUpdateRequest) *pb.RpcAccountConfigUpdateResponse
|
||||
|
@ -2628,6 +2641,9 @@ func (*UnimplementedClientCommandsServer) AccountDelete(ctx context.Context, req
|
|||
func (*UnimplementedClientCommandsServer) AccountSelect(ctx context.Context, req *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse {
|
||||
return nil
|
||||
}
|
||||
func (*UnimplementedClientCommandsServer) AccountEnableLocalNetworkSync(ctx context.Context, req *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse {
|
||||
return nil
|
||||
}
|
||||
func (*UnimplementedClientCommandsServer) AccountStop(ctx context.Context, req *pb.RpcAccountStopRequest) *pb.RpcAccountStopResponse {
|
||||
return nil
|
||||
}
|
||||
|
@ -3539,6 +3555,24 @@ func _ClientCommands_AccountSelect_Handler(srv interface{}, ctx context.Context,
|
|||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ClientCommands_AccountEnableLocalNetworkSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(pb.RpcAccountEnableLocalNetworkSyncRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ClientCommandsServer).AccountEnableLocalNetworkSync(ctx, in), nil
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/anytype.ClientCommands/AccountEnableLocalNetworkSync",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ClientCommandsServer).AccountEnableLocalNetworkSync(ctx, req.(*pb.RpcAccountEnableLocalNetworkSyncRequest)), nil
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ClientCommands_AccountStop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(pb.RpcAccountStopRequest)
|
||||
if err := dec(in); err != nil {
|
||||
|
@ -6799,6 +6833,10 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{
|
|||
MethodName: "AccountSelect",
|
||||
Handler: _ClientCommands_AccountSelect_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AccountEnableLocalNetworkSync",
|
||||
Handler: _ClientCommands_AccountEnableLocalNetworkSync_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AccountStop",
|
||||
Handler: _ClientCommands_AccountStop_Handler,
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"path/filepath"
|
||||
"sync"
|
||||
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/anytype-heart/core/wallet"
|
||||
)
|
||||
|
||||
|
@ -20,10 +21,17 @@ type TempDirService struct {
|
|||
tempDir string
|
||||
}
|
||||
|
||||
func NewTempDirService(wallet wallet.Wallet) *TempDirService {
|
||||
return &TempDirService{
|
||||
wallet: wallet,
|
||||
}
|
||||
func NewTempDirService() *TempDirService {
|
||||
return &TempDirService{}
|
||||
}
|
||||
|
||||
func (s *TempDirService) Init(a *app.App) error {
|
||||
s.wallet = app.MustComponent[wallet.Wallet](a)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *TempDirService) Name() string {
|
||||
return "core.tmpdir"
|
||||
}
|
||||
|
||||
func (s *TempDirService) TempDir() string {
|
||||
|
|
2164
pkg/lib/localstore/objectstore/mock_objectstore/mock_ObjectStore.go
Normal file
2164
pkg/lib/localstore/objectstore/mock_objectstore/mock_ObjectStore.go
Normal file
File diff suppressed because it is too large
Load diff
|
@ -60,10 +60,8 @@ var (
|
|||
_ ObjectStore = (*dsObjectStore)(nil)
|
||||
)
|
||||
|
||||
func New(sbtProvider typeprovider.SmartBlockTypeProvider) ObjectStore {
|
||||
return &dsObjectStore{
|
||||
sbtProvider: sbtProvider,
|
||||
}
|
||||
func New() ObjectStore {
|
||||
return &dsObjectStore{}
|
||||
}
|
||||
|
||||
type SourceDetailsFromID interface {
|
||||
|
@ -71,6 +69,7 @@ type SourceDetailsFromID interface {
|
|||
}
|
||||
|
||||
func (s *dsObjectStore) Init(a *app.App) (err error) {
|
||||
s.sbtProvider = app.MustComponent[typeprovider.SmartBlockTypeProvider](a)
|
||||
src := a.Component("source")
|
||||
if src != nil {
|
||||
s.sourceService = a.MustComponent("source").(SourceDetailsFromID)
|
||||
|
|
|
@ -34,6 +34,7 @@ type Notifier interface {
|
|||
|
||||
type LocalDiscovery interface {
|
||||
SetNotifier(Notifier)
|
||||
Start() error // Start the local discovery. Used when automatic start is disabled.
|
||||
app.ComponentRunnable
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import (
|
|||
"github.com/anyproto/any-sync/accountservice"
|
||||
"github.com/anyproto/any-sync/app"
|
||||
"github.com/anyproto/any-sync/util/periodicsync"
|
||||
"github.com/anyproto/anytype-heart/core/anytype/config"
|
||||
"github.com/libp2p/zeroconf/v2"
|
||||
"go.uber.org/zap"
|
||||
|
||||
|
@ -35,10 +36,12 @@ type localDiscovery struct {
|
|||
periodicCheck periodicsync.PeriodicSync
|
||||
drpcServer clientserver.ClientServer
|
||||
|
||||
ipv4 []string
|
||||
ipv6 []string
|
||||
|
||||
notifier Notifier
|
||||
ipv4 []string
|
||||
ipv6 []string
|
||||
manualStart bool
|
||||
started bool
|
||||
notifier Notifier
|
||||
m sync.Mutex
|
||||
}
|
||||
|
||||
func New() LocalDiscovery {
|
||||
|
@ -50,6 +53,7 @@ func (l *localDiscovery) SetNotifier(notifier Notifier) {
|
|||
}
|
||||
|
||||
func (l *localDiscovery) Init(a *app.App) (err error) {
|
||||
l.manualStart = a.MustComponent(config.CName).(*config.Config).DontStartLocalNetworkSyncAutomatically
|
||||
l.peerId = a.MustComponent(accountservice.CName).(accountservice.Service).Account().PeerId
|
||||
l.periodicCheck = periodicsync.NewPeriodicSync(30, 0, l.checkAddrs, log)
|
||||
l.drpcServer = a.MustComponent(clientserver.CName).(clientserver.ClientServer)
|
||||
|
@ -57,9 +61,25 @@ func (l *localDiscovery) Init(a *app.App) (err error) {
|
|||
}
|
||||
|
||||
func (l *localDiscovery) Run(ctx context.Context) (err error) {
|
||||
if l.manualStart {
|
||||
// let's wait for the explicit command to enable local discovery
|
||||
return
|
||||
}
|
||||
|
||||
return l.Start()
|
||||
}
|
||||
|
||||
func (l *localDiscovery) Start() (err error) {
|
||||
if !l.drpcServer.ServerStarted() {
|
||||
return
|
||||
}
|
||||
l.m.Lock()
|
||||
defer l.m.Unlock()
|
||||
if l.started {
|
||||
return
|
||||
}
|
||||
l.started = true
|
||||
|
||||
l.port = l.drpcServer.Port()
|
||||
l.periodicCheck.Run()
|
||||
return
|
||||
|
@ -73,6 +93,13 @@ func (l *localDiscovery) Close(ctx context.Context) (err error) {
|
|||
if !l.drpcServer.ServerStarted() {
|
||||
return
|
||||
}
|
||||
l.m.Lock()
|
||||
if !l.started {
|
||||
l.m.Unlock()
|
||||
return
|
||||
}
|
||||
l.m.Unlock()
|
||||
|
||||
l.periodicCheck.Close()
|
||||
l.cancel()
|
||||
if l.server != nil {
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
"github.com/anyproto/any-sync/app"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/anyproto/anytype-heart/core/anytype/config"
|
||||
"github.com/anyproto/anytype-heart/net/addrs"
|
||||
"github.com/anyproto/anytype-heart/space/clientserver"
|
||||
)
|
||||
|
@ -39,8 +40,10 @@ type localDiscovery struct {
|
|||
peerId string
|
||||
port int
|
||||
|
||||
notifier Notifier
|
||||
drpcServer clientserver.ClientServer
|
||||
notifier Notifier
|
||||
drpcServer clientserver.ClientServer
|
||||
manualStart bool
|
||||
m sync.Mutex
|
||||
}
|
||||
|
||||
func (l *localDiscovery) PeerDiscovered(peer DiscoveredPeer, own OwnAddresses) {
|
||||
|
@ -79,10 +82,23 @@ func (l *localDiscovery) SetNotifier(notifier Notifier) {
|
|||
func (l *localDiscovery) Init(a *app.App) (err error) {
|
||||
l.peerId = a.MustComponent(accountservice.CName).(accountservice.Service).Account().PeerId
|
||||
l.drpcServer = a.MustComponent(clientserver.CName).(clientserver.ClientServer)
|
||||
l.manualStart = a.MustComponent(config.CName).(*config.Config).DontStartLocalNetworkSyncAutomatically
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (l *localDiscovery) Run(ctx context.Context) (err error) {
|
||||
if l.manualStart {
|
||||
// let's wait for the explicit command to enable local discovery
|
||||
return
|
||||
}
|
||||
|
||||
return l.Start()
|
||||
}
|
||||
|
||||
func (l *localDiscovery) Start() (err error) {
|
||||
l.m.Lock()
|
||||
defer l.m.Unlock()
|
||||
if !l.drpcServer.ServerStarted() {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -11,14 +11,12 @@ import (
|
|||
|
||||
commonspace "github.com/anyproto/any-sync/commonspace"
|
||||
headsync "github.com/anyproto/any-sync/commonspace/headsync"
|
||||
list "github.com/anyproto/any-sync/commonspace/object/acl/list"
|
||||
treechangeproto "github.com/anyproto/any-sync/commonspace/object/tree/treechangeproto"
|
||||
objectsync "github.com/anyproto/any-sync/commonspace/objectsync"
|
||||
objecttreebuilder "github.com/anyproto/any-sync/commonspace/objecttreebuilder"
|
||||
spacestorage "github.com/anyproto/any-sync/commonspace/spacestorage"
|
||||
spacesyncproto "github.com/anyproto/any-sync/commonspace/spacesyncproto"
|
||||
syncstatus "github.com/anyproto/any-sync/commonspace/syncstatus"
|
||||
peer "github.com/anyproto/any-sync/net/peer"
|
||||
gomock "go.uber.org/mock/gomock"
|
||||
)
|
||||
|
||||
|
@ -45,20 +43,6 @@ func (m *MockSpace) EXPECT() *MockSpaceMockRecorder {
|
|||
return m.recorder
|
||||
}
|
||||
|
||||
// Acl mocks base method.
|
||||
func (m *MockSpace) Acl() list.AclList {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Acl")
|
||||
ret0, _ := ret[0].(list.AclList)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Acl indicates an expected call of Acl.
|
||||
func (mr *MockSpaceMockRecorder) Acl() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Acl", reflect.TypeOf((*MockSpace)(nil).Acl))
|
||||
}
|
||||
|
||||
// Close mocks base method.
|
||||
func (m *MockSpace) Close() error {
|
||||
m.ctrl.T.Helper()
|
||||
|
@ -130,21 +114,6 @@ func (mr *MockSpaceMockRecorder) Description() *gomock.Call {
|
|||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Description", reflect.TypeOf((*MockSpace)(nil).Description))
|
||||
}
|
||||
|
||||
// GetNodePeers mocks base method.
|
||||
func (m *MockSpace) GetNodePeers(arg0 context.Context) ([]peer.Peer, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetNodePeers", arg0)
|
||||
ret0, _ := ret[0].([]peer.Peer)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// GetNodePeers indicates an expected call of GetNodePeers.
|
||||
func (mr *MockSpaceMockRecorder) GetNodePeers(arg0 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodePeers", reflect.TypeOf((*MockSpace)(nil).GetNodePeers), arg0)
|
||||
}
|
||||
|
||||
// HandleMessage mocks base method.
|
||||
func (m *MockSpace) HandleMessage(arg0 context.Context, arg1 objectsync.HandleMessage) error {
|
||||
m.ctrl.T.Helper()
|
||||
|
|
|
@ -16,16 +16,6 @@ type rpcHandler struct {
|
|||
s *service
|
||||
}
|
||||
|
||||
// nolint:revive
|
||||
func (r *rpcHandler) AclAddRecord(_ context.Context, _ *spacesyncproto.AclAddRecordRequest) (*spacesyncproto.AclAddRecordResponse, error) {
|
||||
return nil, fmt.Errorf("should not be called")
|
||||
}
|
||||
|
||||
// nolint:revive
|
||||
func (r *rpcHandler) AclGetRecords(_ context.Context, _ *spacesyncproto.AclGetRecordsRequest) (*spacesyncproto.AclGetRecordsResponse, error) {
|
||||
return nil, fmt.Errorf("should not be called")
|
||||
}
|
||||
|
||||
func (r *rpcHandler) ObjectSync(ctx context.Context, req *spacesyncproto.ObjectSyncMessage) (resp *spacesyncproto.ObjectSyncMessage, err error) {
|
||||
sp, err := r.s.GetSpace(ctx, req.SpaceId)
|
||||
if err != nil {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Code generated by mockery v2.30.16. DO NOT EDIT.
|
||||
// Code generated by mockery v2.26.1. DO NOT EDIT.
|
||||
|
||||
package mock_typeprovider
|
||||
|
||||
|
@ -191,12 +191,13 @@ func (_c *MockSmartBlockTypeProvider_Type_Call) RunAndReturn(run func(string) (s
|
|||
return _c
|
||||
}
|
||||
|
||||
// NewMockSmartBlockTypeProvider creates a new instance of MockSmartBlockTypeProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
// The first argument is typically a *testing.T value.
|
||||
func NewMockSmartBlockTypeProvider(t interface {
|
||||
type mockConstructorTestingTNewMockSmartBlockTypeProvider interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
}) *MockSmartBlockTypeProvider {
|
||||
}
|
||||
|
||||
// NewMockSmartBlockTypeProvider creates a new instance of MockSmartBlockTypeProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
func NewMockSmartBlockTypeProvider(t mockConstructorTestingTNewMockSmartBlockTypeProvider) *MockSmartBlockTypeProvider {
|
||||
mock := &MockSmartBlockTypeProvider{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
|
|
|
@ -41,14 +41,13 @@ type provider struct {
|
|||
cache map[string]smartblock.SmartBlockType
|
||||
}
|
||||
|
||||
func New(spaceService space.Service) SmartBlockTypeProvider {
|
||||
return &provider{
|
||||
spaceService: spaceService,
|
||||
}
|
||||
func New() SmartBlockTypeProvider {
|
||||
return &provider{}
|
||||
}
|
||||
|
||||
func (p *provider) Init(a *app.App) (err error) {
|
||||
p.cache = map[string]smartblock.SmartBlockType{}
|
||||
p.spaceService = app.MustComponent[space.Service](a)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -159,9 +159,8 @@ func (s *testSession) accountCreate(t *testing.T) string {
|
|||
cctx, events := s.openClientSession(t, mnemonic)
|
||||
|
||||
acc := call(cctx, s.AccountCreate, &pb.RpcAccountCreateRequest{
|
||||
Name: "John Doe",
|
||||
AlphaInviteCode: "elbrus",
|
||||
StorePath: rootPath,
|
||||
Name: "John Doe",
|
||||
StorePath: rootPath,
|
||||
})
|
||||
|
||||
require.NotNil(t, acc.Account)
|
||||
|
|
|
@ -74,11 +74,11 @@ type builtinObjects struct {
|
|||
coreService core.Service
|
||||
importer importer.Importer
|
||||
store objectstore.ObjectStore
|
||||
tempDirService *core.TempDirService
|
||||
tempDirService core.TempDirProvider
|
||||
}
|
||||
|
||||
func New(tempDirService *core.TempDirService) BuiltinObjects {
|
||||
return &builtinObjects{tempDirService: tempDirService}
|
||||
func New() BuiltinObjects {
|
||||
return &builtinObjects{}
|
||||
}
|
||||
|
||||
func (b *builtinObjects) Init(a *app.App) (err error) {
|
||||
|
@ -86,6 +86,7 @@ func (b *builtinObjects) Init(a *app.App) (err error) {
|
|||
b.coreService = a.MustComponent(core.CName).(core.Service)
|
||||
b.importer = a.MustComponent(importer.CName).(importer.Importer)
|
||||
b.store = app.MustComponent[objectstore.ObjectStore](a)
|
||||
b.tempDirService = app.MustComponent[core.TempDirProvider](a)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -51,8 +51,13 @@ type unsplashService struct {
|
|||
tempDirProvider core.TempDirProvider
|
||||
}
|
||||
|
||||
func (l *unsplashService) Init(app *app.App) (err error) {
|
||||
func New() Unsplash {
|
||||
return &unsplashService{}
|
||||
}
|
||||
|
||||
func (l *unsplashService) Init(a *app.App) (err error) {
|
||||
l.cache = ocache.New(l.search, ocache.WithTTL(cacheTTL), ocache.WithGCPeriod(cacheGCPeriod))
|
||||
l.tempDirProvider = app.MustComponent[core.TempDirProvider](a)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -60,10 +65,6 @@ func (l *unsplashService) Name() (name string) {
|
|||
return CName
|
||||
}
|
||||
|
||||
func New(tempDirProvider core.TempDirProvider) Unsplash {
|
||||
return &unsplashService{tempDirProvider: tempDirProvider}
|
||||
}
|
||||
|
||||
type Result struct {
|
||||
ID string
|
||||
Description string
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue