From ed51272b0921a1814df379d4a969298fed86802b Mon Sep 17 00:00:00 2001
From: shuangkun
Date: Tue, 19 Dec 2023 15:27:19 +0800
Subject: [PATCH] feat: add alibabacloud mns as eventsource
Signed-off-by: shuangkun
---
api/event-source.html | 120 ++
api/event-source.md | 120 ++
api/jsonschema/schema.json | 39 +
api/openapi-spec/swagger.json | 39 +
eventsources/eventing.go | 12 +
eventsources/sources/alibabacloudmns/start.go | 147 ++
.../sources/alibabacloudmns/validate.go | 43 +
.../sources/alibabacloudmns/validate_test.go | 29 +
go.mod | 3 +
go.sum | 7 +
pkg/apis/common/common.go | 1 +
pkg/apis/events/event-data.go | 14 +
pkg/apis/eventsource/v1alpha1/generated.pb.go | 1587 +++++++++++------
pkg/apis/eventsource/v1alpha1/generated.proto | 26 +
.../eventsource/v1alpha1/openapi_generated.go | 74 +-
pkg/apis/eventsource/v1alpha1/types.go | 20 +
.../v1alpha1/zz_generated.deepcopy.go | 38 +
17 files changed, 1812 insertions(+), 507 deletions(-)
create mode 100644 eventsources/sources/alibabacloudmns/start.go
create mode 100644 eventsources/sources/alibabacloudmns/validate.go
create mode 100644 eventsources/sources/alibabacloudmns/validate_test.go
diff --git a/api/event-source.html b/api/event-source.html
index c2ca99c863..faeab92d03 100644
--- a/api/event-source.html
+++ b/api/event-source.html
@@ -2205,6 +2205,19 @@ EventSource
Gerrit event source
+
+
+mns
+
+
+map[string]github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource
+
+
+ |
+
+ MNS event sources
+ |
+
@@ -2242,6 +2255,7 @@ Gerrit event source
+
+
+mns
+
+
+map[string]github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource
+
+
+ |
+
+ MNS event sources
+ |
+
EventSourceStatus
@@ -3992,6 +4019,99 @@ KafkaEventSource
+MNSEventSource
+
+
+(Appears on:
+EventSourceSpec)
+
+
+
MNSEventSource refers to event-source for AlibabaCloud MNS related events
+
+
+
+
+Field |
+Description |
+
+
+
+
+
+accessKey
+
+
+Kubernetes core/v1.SecretKeySelector
+
+
+ |
+
+ AccessKey refers K8s secret containing AlibabaCloud access key
+ |
+
+
+
+secretKey
+
+
+Kubernetes core/v1.SecretKeySelector
+
+
+ |
+
+ SecretKey refers K8s secret containing AlibabaCloud secret key
+ |
+
+
+
+queue
+
+string
+
+ |
+
+ Queue is AlibabaCloud MNS queue to listen to for messages
+ |
+
+
+
+jsonBody
+
+bool
+
+ |
+
+(Optional)
+ |
+
+
+
+endpoint
+
+string
+
+ |
+
+(Optional)
+ Endpoint configures connection to a specific AlibabaCloud MNS endpoint
+ |
+
+
+
+filter
+
+
+EventSourceFilter
+
+
+ |
+
+(Optional)
+ Filter
+ |
+
+
+
MQTTEventSource
diff --git a/api/event-source.md b/api/event-source.md
index 12d7f78751..a14dafe91d 100644
--- a/api/event-source.md
+++ b/api/event-source.md
@@ -2284,6 +2284,19 @@ Gerrit event source
+
+
+mns
+
+map\[string\]github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource
+
+ |
+
+
+MNS event sources
+
+ |
+
@@ -2319,6 +2332,7 @@ EventSourceFilter
GitlabEventSource,
HDFSEventSource,
KafkaEventSource,
+MNSEventSource,
MQTTEventSource,
NATSEventsSource,
NSQEventSource,
@@ -2826,6 +2840,19 @@ Gerrit event source
+
+
+mns
+
+map\[string\]github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource
+
+ |
+
+
+MNS event sources
+
+ |
+
@@ -4075,6 +4102,99 @@ consumer: fetch: min: 1 net: MaxOpenRequests: 5
+
+MNSEventSource
+
+
+(Appears on:
+EventSourceSpec)
+
+
+
+MNSEventSource refers to event-source for AlibabaCloud MNS related
+events
+
+
+
+
+
+
+Field
+ |
+
+Description
+ |
+
+
+
+
+
+accessKey
+
+Kubernetes core/v1.SecretKeySelector
+ |
+
+
+AccessKey refers K8s secret containing AlibabaCloud access key
+
+ |
+
+
+
+secretKey
+
+Kubernetes core/v1.SecretKeySelector
+ |
+
+
+SecretKey refers K8s secret containing AlibabaCloud secret key
+
+ |
+
+
+
+queue string
+ |
+
+
+Queue is AlibabaCloud MNS queue to listen to for messages
+
+ |
+
+
+
+jsonBody bool
+ |
+
+(Optional)
+ |
+
+
+
+endpoint string
+ |
+
+(Optional)
+
+Endpoint configures connection to a specific AlibabaCloud MNS endpoint
+
+ |
+
+
+
+filter
+ EventSourceFilter
+
+ |
+
+(Optional)
+
+Filter
+
+ |
+
+
+
MQTTEventSource
diff --git a/api/jsonschema/schema.json b/api/jsonschema/schema.json
index d8b77f66dc..c9d6cded38 100644
--- a/api/jsonschema/schema.json
+++ b/api/jsonschema/schema.json
@@ -1551,6 +1551,13 @@
"description": "Minio event sources",
"type": "object"
},
+ "mns": {
+ "additionalProperties": {
+ "$ref": "#/definitions/io.argoproj.eventsource.v1alpha1.MNSEventSource"
+ },
+ "description": "MNS event sources",
+ "type": "object"
+ },
"mqtt": {
"additionalProperties": {
"$ref": "#/definitions/io.argoproj.eventsource.v1alpha1.MQTTEventSource"
@@ -2171,6 +2178,38 @@
],
"type": "object"
},
+ "io.argoproj.eventsource.v1alpha1.MNSEventSource": {
+ "description": "MNSEventSource refers to event-source for AlibabaCloud MNS related events",
+ "properties": {
+ "accessKey": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
+ "description": "AccessKey refers K8s secret containing AlibabaCloud access key"
+ },
+ "endpoint": {
+ "description": "Endpoint configures connection to a specific AlibabaCloud MNS endpoint",
+ "type": "string"
+ },
+ "filter": {
+ "$ref": "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter",
+ "description": "Filter"
+ },
+ "jsonBody": {
+ "type": "boolean"
+ },
+ "queue": {
+ "description": "Queue is AlibabaCloud MNS queue to listen to for messages",
+ "type": "string"
+ },
+ "secretKey": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
+ "description": "SecretKey refers K8s secret containing AlibabaCloud secret key"
+ }
+ },
+ "required": [
+ "queue"
+ ],
+ "type": "object"
+ },
"io.argoproj.eventsource.v1alpha1.MQTTEventSource": {
"description": "MQTTEventSource refers to event-source for MQTT related events",
"properties": {
diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index a23375abed..c7c7792ac6 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -1535,6 +1535,13 @@
"$ref": "#/definitions/io.argoproj.common.S3Artifact"
}
},
+ "mns": {
+ "description": "MNS event sources",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/io.argoproj.eventsource.v1alpha1.MNSEventSource"
+ }
+ },
"mqtt": {
"description": "MQTT event sources",
"type": "object",
@@ -2154,6 +2161,38 @@
}
}
},
+ "io.argoproj.eventsource.v1alpha1.MNSEventSource": {
+ "description": "MNSEventSource refers to event-source for AlibabaCloud MNS related events",
+ "type": "object",
+ "required": [
+ "queue"
+ ],
+ "properties": {
+ "accessKey": {
+ "description": "AccessKey refers K8s secret containing AlibabaCloud access key",
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
+ },
+ "endpoint": {
+ "description": "Endpoint configures connection to a specific AlibabaCloud MNS endpoint",
+ "type": "string"
+ },
+ "filter": {
+ "description": "Filter",
+ "$ref": "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
+ },
+ "jsonBody": {
+ "type": "boolean"
+ },
+ "queue": {
+ "description": "Queue is AlibabaCloud MNS queue to listen to for messages",
+ "type": "string"
+ },
+ "secretKey": {
+ "description": "SecretKey refers K8s secret containing AlibabaCloud secret key",
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
+ }
+ }
+ },
"io.argoproj.eventsource.v1alpha1.MQTTEventSource": {
"description": "MQTTEventSource refers to event-source for MQTT related events",
"type": "object",
diff --git a/eventsources/eventing.go b/eventsources/eventing.go
index 149e5e8a4b..04724ff188 100644
--- a/eventsources/eventing.go
+++ b/eventsources/eventing.go
@@ -10,6 +10,8 @@ import (
"sync"
"time"
+ "github.com/argoproj/argo-events/eventsources/sources/alibabacloudmns"
+
cloudevents "github.com/cloudevents/sdk-go/v2"
"github.com/google/uuid"
"go.uber.org/zap"
@@ -315,6 +317,16 @@ func GetEventingServers(eventSource *v1alpha1.EventSource, metrics *eventsourcem
}
result[apicommon.SQSEvent] = servers
}
+ if len(eventSource.Spec.MNS) != 0 {
+ servers := []EventingServer{}
+ for k, v := range eventSource.Spec.MNS {
+ if v.Filter != nil {
+ filters[k] = v.Filter
+ }
+ servers = append(servers, &alibabacloudmns.EventListener{EventSourceName: eventSource.Name, EventName: k, MNSEventSource: v, Metrics: metrics})
+ }
+ result[apicommon.MNSEvent] = servers
+ }
if len(eventSource.Spec.Slack) != 0 {
servers := []EventingServer{}
for k, v := range eventSource.Spec.Slack {
diff --git a/eventsources/sources/alibabacloudmns/start.go b/eventsources/sources/alibabacloudmns/start.go
new file mode 100644
index 0000000000..5f2715b13e
--- /dev/null
+++ b/eventsources/sources/alibabacloudmns/start.go
@@ -0,0 +1,147 @@
+/*
+Copyright 2018 BlackRock, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package alibabacloudmns
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+ "os/signal"
+ "syscall"
+
+ ali_mns "github.com/aliyun/aliyun-mns-go-sdk"
+ "github.com/argoproj/argo-events/common"
+ "github.com/argoproj/argo-events/common/logging"
+ eventsourcecommon "github.com/argoproj/argo-events/eventsources/common"
+ "github.com/argoproj/argo-events/eventsources/sources"
+ metrics "github.com/argoproj/argo-events/metrics"
+ apicommon "github.com/argoproj/argo-events/pkg/apis/common"
+ "github.com/argoproj/argo-events/pkg/apis/events"
+ "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1"
+)
+
+// EventListener implements Eventing for aws sqs event source
+type EventListener struct {
+ EventSourceName string
+ EventName string
+ MNSEventSource v1alpha1.MNSEventSource
+ Metrics *metrics.Metrics
+}
+
+// GetEventSourceName returns name of event source
+func (el *EventListener) GetEventSourceName() string {
+ return el.EventSourceName
+}
+
+// GetEventName returns name of event
+func (el *EventListener) GetEventName() string {
+ return el.EventName
+}
+
+// GetEventSourceType return type of event server
+func (el *EventListener) GetEventSourceType() apicommon.EventSourceType {
+ return apicommon.MNSEvent
+}
+
+// StartListening starts listening events
+func (el *EventListener) StartListening(ctx context.Context, dispatch func([]byte, ...eventsourcecommon.Option) error) error {
+ log := logging.FromContext(ctx).
+ With(logging.LabelEventSourceType, el.GetEventSourceType(), logging.LabelEventName, el.GetEventName())
+ log.Info("started processing the ALI MNS event source...")
+ defer sources.Recover(el.GetEventName())
+ mnsClient, err := el.createMnsClient(ctx)
+ if err != nil {
+ return err
+ }
+ queue := ali_mns.NewMNSQueue(el.MNSEventSource.Queue, *mnsClient, 50)
+ signalChannel := make(chan os.Signal, 1)
+ signal.Notify(signalChannel, syscall.SIGTERM)
+ respChan := make(chan ali_mns.MessageReceiveResponse)
+ errChan := make(chan error)
+ endChan := make(chan int)
+ for {
+ select {
+ case <-ctx.Done():
+ log.Info("exiting MNS event listener...")
+ return nil
+ default:
+ }
+ go func() {
+ sig := <-signalChannel
+ switch sig {
+ case syscall.SIGTERM:
+ log.Info("receieved syscall.SIGTERM...")
+ endChan <- 1
+ return
+ default:
+ }
+ select {
+ case resp := <-respChan:
+ {
+ log.Infof("response: %v \n", resp)
+ eventData := &events.MNSEventData{
+ MessageId: resp.MessageId,
+ Body: resp.MessageBody,
+ }
+ eventBytes, err := json.Marshal(eventData)
+ if err != nil {
+ log.Errorf("failed to marshal the event data, rejecting the event, %w", err)
+ endChan <- 1
+ return
+ }
+ log.Info("dispatching the event on data channel...")
+ if err = dispatch(eventBytes); err != nil {
+ log.Errorf("failed to dispatch ali mns event, %w", err)
+ endChan <- 1
+ return
+ }
+ if e := queue.DeleteMessage(resp.ReceiptHandle); e != nil {
+ log.Errorf("delete err: %v\n", e.Error())
+ }
+ endChan <- 1
+ }
+ case err := <-errChan:
+ {
+ log.Errorf("recieve err: %v\n",err)
+ endChan <- 1
+ }
+ }
+ }()
+ queue.ReceiveMessage(respChan, errChan, 30)
+ <-endChan
+ }
+}
+
+func (el *EventListener) createMnsClient(ctx context.Context) (*ali_mns.MNSClient, error) {
+ log := logging.FromContext(ctx).
+ With(logging.LabelEventSourceType, el.GetEventSourceType(), logging.LabelEventName, el.GetEventName())
+
+ accessKey, err := common.GetSecretFromVolume(el.MNSEventSource.AccessKey)
+ if err != nil {
+ return nil, fmt.Errorf("failed to retrieve the access key name from secret %s, %w", el.MNSEventSource.AccessKey.Name, err)
+ }
+ accessSecret, err := common.GetSecretFromVolume(el.MNSEventSource.SecretKey)
+ if err != nil {
+ return nil, fmt.Errorf("failed to retrieve the access secret name from secret %s, %w", el.MNSEventSource.AccessKey.Name, err)
+ }
+ log.Infof("el.MNSEventSource.Endpoint is: %v", el.MNSEventSource.Endpoint)
+ client := ali_mns.NewAliMNSClient(el.MNSEventSource.Endpoint,
+ accessKey,
+ accessSecret)
+ return &client, nil
+}
diff --git a/eventsources/sources/alibabacloudmns/validate.go b/eventsources/sources/alibabacloudmns/validate.go
new file mode 100644
index 0000000000..246817041d
--- /dev/null
+++ b/eventsources/sources/alibabacloudmns/validate.go
@@ -0,0 +1,43 @@
+/*
+Copyright 2018 BlackRock, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package alibabacloudmns
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/argoproj/argo-events/common"
+ "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1"
+)
+
+// ValidateEventSource validates sqs event source
+func (listener *EventListener) ValidateEventSource(ctx context.Context) error {
+ return validate(&listener.MNSEventSource)
+}
+
+func validate(eventSource *v1alpha1.MNSEventSource) error {
+ if eventSource == nil {
+ return common.ErrNilEventSource
+ }
+ if eventSource.Queue == "" {
+ return fmt.Errorf("must specify queue name")
+ }
+ if eventSource.Endpoint == "" {
+ return fmt.Errorf("must specify a endpoint")
+ }
+ return nil
+}
diff --git a/eventsources/sources/alibabacloudmns/validate_test.go b/eventsources/sources/alibabacloudmns/validate_test.go
new file mode 100644
index 0000000000..7686428066
--- /dev/null
+++ b/eventsources/sources/alibabacloudmns/validate_test.go
@@ -0,0 +1,29 @@
+package alibabacloudmns
+
+import (
+ "context"
+ "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1"
+ "github.com/stretchr/testify/assert"
+ "testing"
+)
+
+func TestValidateEventSource(t *testing.T) {
+ listener := &EventListener{
+ MNSEventSource: v1alpha1.MNSEventSource{
+ Endpoint: "http://123456789.mns.cn-beijing.aliyuncs.com",
+ },
+ }
+
+ err := listener.ValidateEventSource(context.Background())
+ assert.Error(t, err)
+ assert.Equal(t, "must specify queue name", err.Error())
+
+ listener = &EventListener{
+ MNSEventSource: v1alpha1.MNSEventSource{
+ Queue: "test-queue",
+ },
+ }
+ err = listener.ValidateEventSource(context.Background())
+ assert.Error(t, err)
+ assert.Equal(t, "must specify a endpoint", err.Error())
+}
diff --git a/go.mod b/go.mod
index 5df078b450..59c2d0194c 100644
--- a/go.mod
+++ b/go.mod
@@ -18,6 +18,7 @@ require (
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible
github.com/Masterminds/sprig/v3 v3.2.3
github.com/ahmetb/gen-crd-api-reference-docs v0.3.0
+ github.com/aliyun/aliyun-mns-go-sdk v1.0.2
github.com/andygrunwald/go-gerrit v0.0.0-20230325081502-da63a5c62d80
github.com/antonmedv/expr v1.15.5
github.com/apache/openwhisk-client-go v0.0.0-20190915054138-716c6f973eb2
@@ -120,6 +121,8 @@ require (
github.com/go-openapi/spec v0.20.8 // indirect
github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1 // indirect
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
+ github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9 // indirect
+ github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
github.com/google/gnostic v0.5.7-v3refs // indirect
diff --git a/go.sum b/go.sum
index 8bfb3053af..b892da3cf6 100644
--- a/go.sum
+++ b/go.sum
@@ -722,6 +722,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
+github.com/aliyun/aliyun-mns-go-sdk v1.0.2 h1:dq2AwayUe1QrMXVEGTBhaoQ61UI3cHju+p2Lq3Q+HCc=
+github.com/aliyun/aliyun-mns-go-sdk v1.0.2/go.mod h1:eD/mEH7SwtLSwI9p8fP9VTH2cYM3wFSY1WNaxEdLIFU=
github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI=
github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
@@ -917,6 +919,7 @@ github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQL
github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U=
github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64=
+github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A=
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
@@ -1075,6 +1078,10 @@ github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0=
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9 h1:qvGIRaCYFKkyFK9SgRXJCc/lmQCeeg2cl3mwBKQd5W0=
+github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9/go.mod h1:tbRYYYC7g/H7QlCeX0Z2zaThWKowF4QQCFIsGgAsqRo=
+github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8 h1:AuxION6c7in+AsPmFjQTUKT6/o1suT8XEEpfU0pWsHA=
+github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8/go.mod h1:6q1WEv2BiAO4FSdwLQTJbWQYAn1/qDNJHUGJNXCj9kM=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
diff --git a/pkg/apis/common/common.go b/pkg/apis/common/common.go
index 53f288a0b6..47d6a543ca 100644
--- a/pkg/apis/common/common.go
+++ b/pkg/apis/common/common.go
@@ -37,6 +37,7 @@ var (
NATSEvent EventSourceType = "nats"
SNSEvent EventSourceType = "sns"
SQSEvent EventSourceType = "sqs"
+ MNSEvent EventSourceType = "mns"
PubSubEvent EventSourceType = "pubsub"
GerritEvent EventSourceType = "gerrit"
GithubEvent EventSourceType = "github"
diff --git a/pkg/apis/events/event-data.go b/pkg/apis/events/event-data.go
index 19a5d5744f..3579fcd99e 100644
--- a/pkg/apis/events/event-data.go
+++ b/pkg/apis/events/event-data.go
@@ -88,6 +88,20 @@ type SQSEventData struct {
Metadata map[string]string `json:"metadata,omitempty"`
}
+// MNSEventData represents the event data generated by AlibabaCloud MNS eventsource.
+// +k8s:openapi-gen=true
+type MNSEventData struct {
+ // A unique identifier for the message. A MessageId is considered unique across
+ // all AlibabaCloud accounts for an extended period of time.
+ MessageId string `json:"messageId"`
+ // Each message attribute consists of a Name, Type, and Value. For more information,
+ // see AlibabaCloud MNS Message Attributes
+ // (https://help.aliyun.com/zh/mns/developer-reference/basic-concepts-queue?spm=a2c4g.11186623.0.0.49955b99DhT3lH)
+ Body interface{} `json:"body"`
+ // Metadata holds the user defined metadata which will passed along the event payload.
+ Metadata map[string]string `json:"metadata,omitempty"`
+}
+
// AzureEventsHubEventData represents to the event data generated by Azure Events Hub eventsource.
// +k8s:openapi-gen=true
type AzureEventsHubEventData struct {
diff --git a/pkg/apis/eventsource/v1alpha1/generated.pb.go b/pkg/apis/eventsource/v1alpha1/generated.pb.go
index 4b1a0f6027..a0ed4ec1d4 100644
--- a/pkg/apis/eventsource/v1alpha1/generated.pb.go
+++ b/pkg/apis/eventsource/v1alpha1/generated.pb.go
@@ -970,10 +970,38 @@ func (m *KafkaEventSource) XXX_DiscardUnknown() {
var xxx_messageInfo_KafkaEventSource proto.InternalMessageInfo
+func (m *MNSEventSource) Reset() { *m = MNSEventSource{} }
+func (*MNSEventSource) ProtoMessage() {}
+func (*MNSEventSource) Descriptor() ([]byte, []int) {
+ return fileDescriptor_c9ac5d6cd016403b, []int{33}
+}
+func (m *MNSEventSource) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MNSEventSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MNSEventSource) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MNSEventSource.Merge(m, src)
+}
+func (m *MNSEventSource) XXX_Size() int {
+ return m.Size()
+}
+func (m *MNSEventSource) XXX_DiscardUnknown() {
+ xxx_messageInfo_MNSEventSource.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MNSEventSource proto.InternalMessageInfo
+
func (m *MQTTEventSource) Reset() { *m = MQTTEventSource{} }
func (*MQTTEventSource) ProtoMessage() {}
func (*MQTTEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{33}
+ return fileDescriptor_c9ac5d6cd016403b, []int{34}
}
func (m *MQTTEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1001,7 +1029,7 @@ var xxx_messageInfo_MQTTEventSource proto.InternalMessageInfo
func (m *NATSAuth) Reset() { *m = NATSAuth{} }
func (*NATSAuth) ProtoMessage() {}
func (*NATSAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{34}
+ return fileDescriptor_c9ac5d6cd016403b, []int{35}
}
func (m *NATSAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1029,7 +1057,7 @@ var xxx_messageInfo_NATSAuth proto.InternalMessageInfo
func (m *NATSEventsSource) Reset() { *m = NATSEventsSource{} }
func (*NATSEventsSource) ProtoMessage() {}
func (*NATSEventsSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{35}
+ return fileDescriptor_c9ac5d6cd016403b, []int{36}
}
func (m *NATSEventsSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1057,7 +1085,7 @@ var xxx_messageInfo_NATSEventsSource proto.InternalMessageInfo
func (m *NSQEventSource) Reset() { *m = NSQEventSource{} }
func (*NSQEventSource) ProtoMessage() {}
func (*NSQEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{36}
+ return fileDescriptor_c9ac5d6cd016403b, []int{37}
}
func (m *NSQEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1085,7 +1113,7 @@ var xxx_messageInfo_NSQEventSource proto.InternalMessageInfo
func (m *OwnedRepositories) Reset() { *m = OwnedRepositories{} }
func (*OwnedRepositories) ProtoMessage() {}
func (*OwnedRepositories) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{37}
+ return fileDescriptor_c9ac5d6cd016403b, []int{38}
}
func (m *OwnedRepositories) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1113,7 +1141,7 @@ var xxx_messageInfo_OwnedRepositories proto.InternalMessageInfo
func (m *PubSubEventSource) Reset() { *m = PubSubEventSource{} }
func (*PubSubEventSource) ProtoMessage() {}
func (*PubSubEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{38}
+ return fileDescriptor_c9ac5d6cd016403b, []int{39}
}
func (m *PubSubEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1141,7 +1169,7 @@ var xxx_messageInfo_PubSubEventSource proto.InternalMessageInfo
func (m *PulsarEventSource) Reset() { *m = PulsarEventSource{} }
func (*PulsarEventSource) ProtoMessage() {}
func (*PulsarEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{39}
+ return fileDescriptor_c9ac5d6cd016403b, []int{40}
}
func (m *PulsarEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1169,7 +1197,7 @@ var xxx_messageInfo_PulsarEventSource proto.InternalMessageInfo
func (m *RedisEventSource) Reset() { *m = RedisEventSource{} }
func (*RedisEventSource) ProtoMessage() {}
func (*RedisEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{40}
+ return fileDescriptor_c9ac5d6cd016403b, []int{41}
}
func (m *RedisEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1197,7 +1225,7 @@ var xxx_messageInfo_RedisEventSource proto.InternalMessageInfo
func (m *RedisStreamEventSource) Reset() { *m = RedisStreamEventSource{} }
func (*RedisStreamEventSource) ProtoMessage() {}
func (*RedisStreamEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{41}
+ return fileDescriptor_c9ac5d6cd016403b, []int{42}
}
func (m *RedisStreamEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1225,7 +1253,7 @@ var xxx_messageInfo_RedisStreamEventSource proto.InternalMessageInfo
func (m *ResourceEventSource) Reset() { *m = ResourceEventSource{} }
func (*ResourceEventSource) ProtoMessage() {}
func (*ResourceEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{42}
+ return fileDescriptor_c9ac5d6cd016403b, []int{43}
}
func (m *ResourceEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1253,7 +1281,7 @@ var xxx_messageInfo_ResourceEventSource proto.InternalMessageInfo
func (m *ResourceFilter) Reset() { *m = ResourceFilter{} }
func (*ResourceFilter) ProtoMessage() {}
func (*ResourceFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{43}
+ return fileDescriptor_c9ac5d6cd016403b, []int{44}
}
func (m *ResourceFilter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1281,7 +1309,7 @@ var xxx_messageInfo_ResourceFilter proto.InternalMessageInfo
func (m *SFTPEventSource) Reset() { *m = SFTPEventSource{} }
func (*SFTPEventSource) ProtoMessage() {}
func (*SFTPEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{44}
+ return fileDescriptor_c9ac5d6cd016403b, []int{45}
}
func (m *SFTPEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1309,7 +1337,7 @@ var xxx_messageInfo_SFTPEventSource proto.InternalMessageInfo
func (m *SNSEventSource) Reset() { *m = SNSEventSource{} }
func (*SNSEventSource) ProtoMessage() {}
func (*SNSEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{45}
+ return fileDescriptor_c9ac5d6cd016403b, []int{46}
}
func (m *SNSEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1337,7 +1365,7 @@ var xxx_messageInfo_SNSEventSource proto.InternalMessageInfo
func (m *SQSEventSource) Reset() { *m = SQSEventSource{} }
func (*SQSEventSource) ProtoMessage() {}
func (*SQSEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{46}
+ return fileDescriptor_c9ac5d6cd016403b, []int{47}
}
func (m *SQSEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1365,7 +1393,7 @@ var xxx_messageInfo_SQSEventSource proto.InternalMessageInfo
func (m *Selector) Reset() { *m = Selector{} }
func (*Selector) ProtoMessage() {}
func (*Selector) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{47}
+ return fileDescriptor_c9ac5d6cd016403b, []int{48}
}
func (m *Selector) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1393,7 +1421,7 @@ var xxx_messageInfo_Selector proto.InternalMessageInfo
func (m *Service) Reset() { *m = Service{} }
func (*Service) ProtoMessage() {}
func (*Service) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{48}
+ return fileDescriptor_c9ac5d6cd016403b, []int{49}
}
func (m *Service) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1421,7 +1449,7 @@ var xxx_messageInfo_Service proto.InternalMessageInfo
func (m *SlackEventSource) Reset() { *m = SlackEventSource{} }
func (*SlackEventSource) ProtoMessage() {}
func (*SlackEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{49}
+ return fileDescriptor_c9ac5d6cd016403b, []int{50}
}
func (m *SlackEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1449,7 +1477,7 @@ var xxx_messageInfo_SlackEventSource proto.InternalMessageInfo
func (m *StorageGridEventSource) Reset() { *m = StorageGridEventSource{} }
func (*StorageGridEventSource) ProtoMessage() {}
func (*StorageGridEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{50}
+ return fileDescriptor_c9ac5d6cd016403b, []int{51}
}
func (m *StorageGridEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1477,7 +1505,7 @@ var xxx_messageInfo_StorageGridEventSource proto.InternalMessageInfo
func (m *StorageGridFilter) Reset() { *m = StorageGridFilter{} }
func (*StorageGridFilter) ProtoMessage() {}
func (*StorageGridFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{51}
+ return fileDescriptor_c9ac5d6cd016403b, []int{52}
}
func (m *StorageGridFilter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1505,7 +1533,7 @@ var xxx_messageInfo_StorageGridFilter proto.InternalMessageInfo
func (m *StripeEventSource) Reset() { *m = StripeEventSource{} }
func (*StripeEventSource) ProtoMessage() {}
func (*StripeEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{52}
+ return fileDescriptor_c9ac5d6cd016403b, []int{53}
}
func (m *StripeEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1533,7 +1561,7 @@ var xxx_messageInfo_StripeEventSource proto.InternalMessageInfo
func (m *Template) Reset() { *m = Template{} }
func (*Template) ProtoMessage() {}
func (*Template) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{53}
+ return fileDescriptor_c9ac5d6cd016403b, []int{54}
}
func (m *Template) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1561,7 +1589,7 @@ var xxx_messageInfo_Template proto.InternalMessageInfo
func (m *WatchPathConfig) Reset() { *m = WatchPathConfig{} }
func (*WatchPathConfig) ProtoMessage() {}
func (*WatchPathConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{54}
+ return fileDescriptor_c9ac5d6cd016403b, []int{55}
}
func (m *WatchPathConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1589,7 +1617,7 @@ var xxx_messageInfo_WatchPathConfig proto.InternalMessageInfo
func (m *WebhookContext) Reset() { *m = WebhookContext{} }
func (*WebhookContext) ProtoMessage() {}
func (*WebhookContext) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{55}
+ return fileDescriptor_c9ac5d6cd016403b, []int{56}
}
func (m *WebhookContext) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1617,7 +1645,7 @@ var xxx_messageInfo_WebhookContext proto.InternalMessageInfo
func (m *WebhookEventSource) Reset() { *m = WebhookEventSource{} }
func (*WebhookEventSource) ProtoMessage() {}
func (*WebhookEventSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_c9ac5d6cd016403b, []int{56}
+ return fileDescriptor_c9ac5d6cd016403b, []int{57}
}
func (m *WebhookEventSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1690,6 +1718,7 @@ func init() {
proto.RegisterMapType((map[string]HDFSEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.HdfsEntry")
proto.RegisterMapType((map[string]KafkaEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.KafkaEntry")
proto.RegisterMapType((map[string]common.S3Artifact)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.MinioEntry")
+ proto.RegisterMapType((map[string]MNSEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.MnsEntry")
proto.RegisterMapType((map[string]MQTTEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.MqttEntry")
proto.RegisterMapType((map[string]NATSEventsSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.NatsEntry")
proto.RegisterMapType((map[string]NSQEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.EventSourceSpec.NsqEntry")
@@ -1722,6 +1751,7 @@ func init() {
proto.RegisterType((*KafkaConsumerGroup)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.KafkaConsumerGroup")
proto.RegisterType((*KafkaEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.KafkaEventSource")
proto.RegisterMapType((map[string]string)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.KafkaEventSource.MetadataEntry")
+ proto.RegisterType((*MNSEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.MNSEventSource")
proto.RegisterType((*MQTTEventSource)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.MQTTEventSource")
proto.RegisterMapType((map[string]string)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.MQTTEventSource.MetadataEntry")
proto.RegisterType((*NATSAuth)(nil), "github.com.argoproj.argo_events.pkg.apis.eventsource.v1alpha1.NATSAuth")
@@ -1770,458 +1800,463 @@ func init() {
}
var fileDescriptor_c9ac5d6cd016403b = []byte{
- // 7209 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x4d, 0x6c, 0x24, 0xc7,
- 0x75, 0xb0, 0x9a, 0x9c, 0x19, 0xce, 0x3c, 0xfe, 0xd7, 0xae, 0x56, 0x23, 0x5a, 0x5a, 0xee, 0x47,
- 0xc1, 0x8b, 0xd5, 0x17, 0x99, 0x1b, 0x6d, 0xe2, 0x58, 0x96, 0x62, 0x19, 0x43, 0x72, 0xb9, 0x4b,
- 0x2d, 0xc9, 0x1d, 0x56, 0x73, 0xf5, 0x63, 0x59, 0x92, 0x9b, 0x3d, 0xc5, 0x61, 0x9b, 0x3d, 0xdd,
- 0xc3, 0xee, 0x1e, 0x6a, 0xb9, 0x40, 0x6c, 0xc3, 0x80, 0x13, 0x5b, 0x3f, 0xb6, 0x95, 0xc4, 0x49,
- 0x90, 0xc0, 0x07, 0x27, 0x81, 0x2f, 0x09, 0x72, 0x8b, 0x91, 0x6b, 0x90, 0x1c, 0x8c, 0x24, 0x07,
- 0x27, 0xb9, 0x38, 0x36, 0xb0, 0xb0, 0x19, 0xe4, 0x96, 0x4b, 0xe0, 0x53, 0x72, 0x0a, 0xea, 0xa7,
- 0xab, 0xab, 0x7f, 0x86, 0xcb, 0xe1, 0xf4, 0x90, 0xbb, 0x46, 0x4e, 0xe4, 0xd4, 0x7b, 0xf5, 0xde,
- 0xeb, 0xaa, 0xf7, 0x5e, 0xbd, 0x7a, 0xf5, 0x07, 0x6b, 0x4d, 0x2b, 0xd8, 0xe9, 0x6c, 0xcd, 0x9b,
- 0x6e, 0xeb, 0xaa, 0xe1, 0x35, 0xdd, 0xb6, 0xe7, 0x7e, 0x91, 0xfd, 0xf3, 0x09, 0xb2, 0x4f, 0x9c,
- 0xc0, 0xbf, 0xda, 0xde, 0x6d, 0x5e, 0x35, 0xda, 0x96, 0x7f, 0x95, 0xff, 0x76, 0x3b, 0x9e, 0x49,
- 0xae, 0xee, 0x3f, 0x6f, 0xd8, 0xed, 0x1d, 0xe3, 0xf9, 0xab, 0x4d, 0xe2, 0x10, 0xcf, 0x08, 0x48,
- 0x63, 0xbe, 0xed, 0xb9, 0x81, 0x8b, 0x3e, 0x13, 0x91, 0x9b, 0x0f, 0xc9, 0xb1, 0x7f, 0xde, 0xe1,
- 0xd5, 0xe7, 0xdb, 0xbb, 0xcd, 0x79, 0x4a, 0x6e, 0x5e, 0x21, 0x37, 0x1f, 0x92, 0x9b, 0xf9, 0xec,
- 0xb1, 0xa5, 0x31, 0xdd, 0x56, 0xcb, 0x75, 0x92, 0xfc, 0x67, 0x3e, 0xa1, 0x10, 0x68, 0xba, 0x4d,
- 0xf7, 0x2a, 0x2b, 0xde, 0xea, 0x6c, 0xb3, 0x5f, 0xec, 0x07, 0xfb, 0x4f, 0xa0, 0xcf, 0xed, 0xbe,
- 0xe0, 0xcf, 0x5b, 0x2e, 0x25, 0x79, 0xd5, 0x74, 0x3d, 0xfa, 0x61, 0x29, 0x92, 0xbf, 0x1e, 0xe1,
- 0xb4, 0x0c, 0x73, 0xc7, 0x72, 0x88, 0x77, 0x10, 0xc9, 0xd1, 0x22, 0x81, 0x91, 0x55, 0xeb, 0x6a,
- 0xb7, 0x5a, 0x5e, 0xc7, 0x09, 0xac, 0x16, 0x49, 0x55, 0xf8, 0x8d, 0x07, 0x55, 0xf0, 0xcd, 0x1d,
- 0xd2, 0x32, 0x92, 0xf5, 0xe6, 0xfe, 0x5b, 0x83, 0xe9, 0xda, 0xda, 0x46, 0x7d, 0xd1, 0x75, 0xfc,
- 0x4e, 0x8b, 0x2c, 0xba, 0xce, 0xb6, 0xd5, 0x44, 0x9f, 0x84, 0x51, 0x93, 0x17, 0x78, 0x9b, 0x46,
- 0xb3, 0xaa, 0x5d, 0xd2, 0xae, 0x54, 0x16, 0xce, 0xfd, 0xf0, 0xfe, 0xec, 0x63, 0x87, 0xf7, 0x67,
- 0x47, 0x17, 0x23, 0x10, 0x56, 0xf1, 0xd0, 0xb3, 0x30, 0x62, 0x74, 0x02, 0xb7, 0x66, 0xee, 0x56,
- 0x87, 0x2e, 0x69, 0x57, 0xca, 0x0b, 0x93, 0xa2, 0xca, 0x48, 0x8d, 0x17, 0xe3, 0x10, 0x8e, 0xae,
- 0x42, 0x85, 0xdc, 0x35, 0xed, 0x8e, 0x6f, 0xed, 0x93, 0xea, 0x30, 0x43, 0x9e, 0x16, 0xc8, 0x95,
- 0xeb, 0x21, 0x00, 0x47, 0x38, 0x94, 0xb6, 0xe3, 0xae, 0xba, 0xa6, 0x61, 0x57, 0x0b, 0x71, 0xda,
- 0xeb, 0xbc, 0x18, 0x87, 0x70, 0x74, 0x19, 0x4a, 0x8e, 0xfb, 0x9a, 0x61, 0x05, 0xd5, 0x22, 0xc3,
- 0x9c, 0x10, 0x98, 0xa5, 0x75, 0x56, 0x8a, 0x05, 0x74, 0xee, 0x3f, 0x47, 0x61, 0x92, 0x7e, 0xfb,
- 0x75, 0xaa, 0x1c, 0x3a, 0xd3, 0x25, 0xf4, 0x34, 0x0c, 0x77, 0x3c, 0x5b, 0x7c, 0xf1, 0xa8, 0xa8,
- 0x38, 0x7c, 0x07, 0xaf, 0x62, 0x5a, 0x8e, 0x5e, 0x80, 0x31, 0x72, 0xd7, 0xdc, 0x31, 0x9c, 0x26,
- 0x59, 0x37, 0x5a, 0x84, 0x7d, 0x66, 0x65, 0xe1, 0xbc, 0xc0, 0x1b, 0xbb, 0xae, 0xc0, 0x70, 0x0c,
- 0x53, 0xad, 0xb9, 0x79, 0xd0, 0xe6, 0xdf, 0x9c, 0x51, 0x93, 0xc2, 0x70, 0x0c, 0x13, 0x5d, 0x03,
- 0xf0, 0xdc, 0x4e, 0x60, 0x39, 0xcd, 0x5b, 0xe4, 0x80, 0x7d, 0x7c, 0x65, 0x01, 0x89, 0x7a, 0x80,
- 0x25, 0x04, 0x2b, 0x58, 0xe8, 0xb7, 0x60, 0xda, 0x74, 0x1d, 0x87, 0x98, 0x81, 0xe5, 0x3a, 0x0b,
- 0x86, 0xb9, 0xeb, 0x6e, 0x6f, 0xb3, 0xd6, 0x18, 0xbd, 0xf6, 0xc2, 0xfc, 0xb1, 0x8d, 0x8c, 0x5b,
- 0xc9, 0xbc, 0xa8, 0xbf, 0xf0, 0xf8, 0xe1, 0xfd, 0xd9, 0xe9, 0xc5, 0x24, 0x59, 0x9c, 0xe6, 0x84,
- 0x9e, 0x83, 0xf2, 0x17, 0x7d, 0xd7, 0x59, 0x70, 0x1b, 0x07, 0xd5, 0x12, 0xeb, 0x83, 0x29, 0x21,
- 0x70, 0xf9, 0x15, 0xfd, 0xf6, 0x3a, 0x2d, 0xc7, 0x12, 0x03, 0xdd, 0x81, 0xe1, 0xc0, 0xf6, 0xab,
- 0x23, 0x4c, 0xbc, 0x17, 0x7b, 0x16, 0x6f, 0x73, 0x55, 0xe7, 0x6a, 0xbb, 0x30, 0x42, 0xfb, 0x6a,
- 0x73, 0x55, 0xc7, 0x94, 0x1e, 0x7a, 0x4f, 0x83, 0x32, 0xb5, 0xaf, 0x86, 0x11, 0x18, 0xd5, 0xf2,
- 0xa5, 0xe1, 0x2b, 0xa3, 0xd7, 0x3e, 0x3f, 0xdf, 0x97, 0x83, 0x99, 0x4f, 0x68, 0xcb, 0xfc, 0x9a,
- 0x20, 0x7f, 0xdd, 0x09, 0xbc, 0x83, 0xe8, 0x1b, 0xc3, 0x62, 0x2c, 0xf9, 0xa3, 0x3f, 0xd4, 0x60,
- 0x32, 0xec, 0xd5, 0x25, 0x62, 0xda, 0x86, 0x47, 0xaa, 0x15, 0xf6, 0xc1, 0xaf, 0xe7, 0x21, 0x53,
- 0x9c, 0xb2, 0x68, 0x8e, 0x73, 0x87, 0xf7, 0x67, 0x27, 0x13, 0x20, 0x9c, 0x94, 0x02, 0xbd, 0xaf,
- 0xc1, 0xd8, 0x5e, 0x87, 0x74, 0xa4, 0x58, 0xc0, 0xc4, 0xba, 0x93, 0x83, 0x58, 0x1b, 0x0a, 0x59,
- 0x21, 0xd3, 0x14, 0x55, 0x76, 0xb5, 0x1c, 0xc7, 0x98, 0xa3, 0x2f, 0x43, 0x85, 0xfd, 0x5e, 0xb0,
- 0x9c, 0x46, 0x75, 0x94, 0x49, 0x82, 0xf3, 0x92, 0x84, 0xd2, 0x14, 0x62, 0x8c, 0x53, 0x3f, 0x23,
- 0x0b, 0x71, 0xc4, 0x13, 0xbd, 0x0b, 0x23, 0xc2, 0xa5, 0x55, 0xc7, 0x18, 0xfb, 0x7a, 0x0e, 0xec,
- 0x63, 0xde, 0x75, 0x61, 0x94, 0x7a, 0x2d, 0x51, 0x84, 0x43, 0x6e, 0xe8, 0x75, 0x28, 0x18, 0x9d,
- 0x60, 0xa7, 0x3a, 0x7e, 0x42, 0x33, 0x58, 0x30, 0x7c, 0xcb, 0xac, 0x75, 0x82, 0x9d, 0x85, 0xf2,
- 0xe1, 0xfd, 0xd9, 0x02, 0xfd, 0x0f, 0x33, 0x8a, 0x08, 0x43, 0xa5, 0xe3, 0xd9, 0x3a, 0x31, 0x3d,
- 0x12, 0x54, 0x27, 0x18, 0xf9, 0x8f, 0xcf, 0xf3, 0xf1, 0x82, 0x52, 0x98, 0xa7, 0x43, 0xd7, 0xfc,
- 0xfe, 0xf3, 0xf3, 0x1c, 0xe3, 0x16, 0x39, 0xd0, 0x89, 0x4d, 0xcc, 0xc0, 0xf5, 0x78, 0x33, 0xdd,
- 0xc1, 0xab, 0x1c, 0x82, 0x23, 0x32, 0x28, 0x80, 0xd2, 0xb6, 0x65, 0x07, 0xc4, 0xab, 0x4e, 0xe6,
- 0xd2, 0x4a, 0x8a, 0x55, 0x2d, 0x33, 0xba, 0x0b, 0x40, 0x3d, 0x36, 0xff, 0x1f, 0x0b, 0x5e, 0x33,
- 0x2f, 0xc1, 0x78, 0xcc, 0xe4, 0xd0, 0x14, 0x0c, 0xef, 0x92, 0x03, 0xee, 0xae, 0x31, 0xfd, 0x17,
- 0x9d, 0x87, 0xe2, 0xbe, 0x61, 0x77, 0x84, 0x6b, 0xc6, 0xfc, 0xc7, 0x8b, 0x43, 0x2f, 0x68, 0x73,
- 0x3f, 0xd2, 0xe0, 0xc9, 0xae, 0xc6, 0x42, 0xc7, 0x97, 0x46, 0xc7, 0x33, 0xb6, 0x6c, 0xc2, 0xa8,
- 0x29, 0xe3, 0xcb, 0x12, 0x2f, 0xc6, 0x21, 0x9c, 0x3a, 0x64, 0x3a, 0x8c, 0x2d, 0x11, 0x9b, 0x04,
- 0x44, 0x8c, 0x74, 0xd2, 0x21, 0xd7, 0x24, 0x04, 0x2b, 0x58, 0xd4, 0x23, 0x5a, 0x4e, 0x40, 0x3c,
- 0xc7, 0xb0, 0xc5, 0x70, 0x27, 0xbd, 0xc5, 0x8a, 0x28, 0xc7, 0x12, 0x43, 0x19, 0xc1, 0x0a, 0x47,
- 0x8e, 0x60, 0x9f, 0x81, 0x73, 0x19, 0xda, 0xad, 0x54, 0xd7, 0x8e, 0xac, 0xfe, 0x67, 0x43, 0x70,
- 0x21, 0xdb, 0x4e, 0xd1, 0x25, 0x28, 0x38, 0x74, 0x80, 0xe3, 0x03, 0xe1, 0x98, 0x20, 0x50, 0x60,
- 0x03, 0x1b, 0x83, 0xa8, 0x0d, 0x36, 0xd4, 0x53, 0x83, 0x0d, 0x1f, 0xab, 0xc1, 0x62, 0x01, 0x42,
- 0xe1, 0x18, 0x01, 0xc2, 0x31, 0x47, 0x7d, 0x4a, 0xd8, 0xf0, 0x9a, 0x9d, 0x16, 0x55, 0x42, 0x36,
- 0x38, 0x55, 0x22, 0xc2, 0xb5, 0x10, 0x80, 0x23, 0x9c, 0xb9, 0xf7, 0x8a, 0xf0, 0x64, 0xed, 0x5e,
- 0xc7, 0x23, 0x4c, 0x47, 0xfd, 0x9b, 0x9d, 0x2d, 0x35, 0x60, 0xb8, 0x04, 0x85, 0xed, 0xbd, 0x86,
- 0x93, 0x6c, 0xa8, 0xe5, 0x8d, 0xa5, 0x75, 0xcc, 0x20, 0xa8, 0x0d, 0xe7, 0xfc, 0x1d, 0xc3, 0x23,
- 0x8d, 0x9a, 0x69, 0x12, 0xdf, 0xbf, 0x45, 0x0e, 0x64, 0xe8, 0x70, 0x6c, 0x43, 0x7c, 0xe2, 0xf0,
- 0xfe, 0xec, 0x39, 0x3d, 0x4d, 0x05, 0x67, 0x91, 0x46, 0x0d, 0x98, 0x4c, 0x14, 0xb3, 0x46, 0x3f,
- 0x36, 0x37, 0x36, 0x70, 0x24, 0xb8, 0xe1, 0x24, 0x49, 0xaa, 0x00, 0x3b, 0x9d, 0x2d, 0xf6, 0x2d,
- 0x3c, 0x28, 0x91, 0x0a, 0x70, 0x93, 0x17, 0xe3, 0x10, 0x8e, 0x7e, 0x5f, 0x1d, 0x8a, 0x8b, 0x6c,
- 0x28, 0xde, 0xee, 0xd7, 0xad, 0x76, 0xeb, 0x91, 0x1e, 0x06, 0xe5, 0xc8, 0x89, 0x95, 0x1e, 0x15,
- 0x27, 0xf6, 0xd3, 0x22, 0x3c, 0xc5, 0x3e, 0x9d, 0xd9, 0xac, 0x1e, 0xb8, 0x9e, 0xd1, 0x24, 0xaa,
- 0x3e, 0xbe, 0x02, 0xc8, 0xe7, 0xa5, 0x35, 0xd3, 0x74, 0x3b, 0x4e, 0xb0, 0x1e, 0x99, 0xf1, 0x8c,
- 0x68, 0x0b, 0xa4, 0xa7, 0x30, 0x70, 0x46, 0x2d, 0xd4, 0x84, 0xa9, 0x28, 0xb6, 0xd3, 0x03, 0xcf,
- 0x72, 0x9a, 0xbd, 0xa9, 0xed, 0xf9, 0xc3, 0xfb, 0xb3, 0x53, 0x8b, 0x09, 0x12, 0x38, 0x45, 0x94,
- 0xda, 0x24, 0x1b, 0x81, 0x99, 0xac, 0xc3, 0x71, 0x9b, 0xdc, 0x08, 0x01, 0x38, 0xc2, 0x89, 0x05,
- 0x98, 0x85, 0x07, 0x06, 0x98, 0x4f, 0xc3, 0x70, 0xc3, 0xde, 0x13, 0x7e, 0x41, 0x06, 0xf5, 0x4b,
- 0xab, 0x1b, 0x98, 0x96, 0xd3, 0xd8, 0x2c, 0xd2, 0xce, 0x12, 0xd3, 0x4e, 0x2b, 0x0f, 0xed, 0xec,
- 0xd2, 0x45, 0x27, 0x52, 0xd0, 0x91, 0xd3, 0x53, 0x50, 0xf4, 0x12, 0x8c, 0x37, 0x88, 0xe9, 0x36,
- 0xc8, 0x1a, 0xf1, 0x7d, 0xa3, 0x49, 0xaa, 0x65, 0xd6, 0x70, 0x8f, 0x0b, 0x41, 0xc7, 0x97, 0x54,
- 0x20, 0x8e, 0xe3, 0xf6, 0xa7, 0xdd, 0x3f, 0x2e, 0xc1, 0x0c, 0x6b, 0x3a, 0x9d, 0x78, 0xfb, 0x96,
- 0x49, 0x16, 0x3a, 0xbe, 0xaa, 0xdb, 0x59, 0xfa, 0xa8, 0x0d, 0x5c, 0x1f, 0x87, 0x8e, 0xa1, 0x8f,
- 0x57, 0xa1, 0x12, 0xb8, 0x6d, 0xcb, 0xcc, 0x52, 0xe0, 0xcd, 0x10, 0x80, 0x23, 0x1c, 0xb4, 0x04,
- 0x53, 0x7e, 0x67, 0xcb, 0x37, 0x3d, 0xab, 0x4d, 0xf9, 0x2a, 0x5e, 0xb4, 0x2a, 0xea, 0x4d, 0xe9,
- 0x09, 0x38, 0x4e, 0xd5, 0x08, 0x67, 0x4e, 0xc5, 0x9c, 0x67, 0x4e, 0xbd, 0x4d, 0xdf, 0xbe, 0xa3,
- 0x9a, 0xcf, 0x08, 0x33, 0x9f, 0x66, 0x1e, 0xe6, 0x93, 0xa9, 0x03, 0x27, 0x32, 0x9e, 0xf2, 0x29,
- 0x1a, 0xcf, 0x1b, 0xf0, 0xc4, 0x76, 0xc7, 0xb6, 0x0f, 0x36, 0x3a, 0x86, 0x6d, 0x6d, 0x5b, 0xa4,
- 0x41, 0x3b, 0xca, 0x6f, 0x1b, 0x26, 0x9f, 0xef, 0x55, 0x16, 0x66, 0x85, 0xc8, 0x4f, 0x2c, 0x67,
- 0xa3, 0xe1, 0x6e, 0xf5, 0xfb, 0x33, 0xad, 0x9f, 0x68, 0x30, 0xbe, 0x60, 0x05, 0x5b, 0x1d, 0x73,
- 0x97, 0x04, 0x74, 0x72, 0x80, 0x3c, 0x28, 0x6e, 0xd1, 0x39, 0x83, 0x30, 0xa1, 0x8d, 0x3e, 0x9b,
- 0x47, 0x12, 0x8f, 0x26, 0x22, 0x95, 0xc3, 0xfb, 0xb3, 0x45, 0xf6, 0x13, 0x73, 0x56, 0xe8, 0x0e,
- 0x80, 0x4b, 0xe7, 0x24, 0x9b, 0xee, 0x2e, 0x71, 0x7a, 0x1b, 0x4b, 0x26, 0x68, 0xb0, 0x78, 0xbb,
- 0x16, 0x56, 0xc6, 0x0a, 0xa1, 0xb9, 0x1f, 0x68, 0x80, 0xd2, 0xfc, 0xd1, 0x6d, 0x28, 0x77, 0x7c,
- 0x1a, 0x51, 0x8b, 0x11, 0xf0, 0xd8, 0xbc, 0xc6, 0xa8, 0x4a, 0xdd, 0x11, 0x55, 0xb1, 0x24, 0x42,
- 0x09, 0xb6, 0x0d, 0xdf, 0x7f, 0xd7, 0xf5, 0x1a, 0xbd, 0x09, 0xcf, 0x08, 0xd6, 0x45, 0x55, 0x2c,
- 0x89, 0xcc, 0xfd, 0x62, 0x04, 0xce, 0x4b, 0xc1, 0x13, 0xc3, 0x78, 0x83, 0x05, 0xc2, 0x37, 0x5d,
- 0x77, 0xf7, 0xb6, 0xb3, 0x6c, 0x39, 0x96, 0xbf, 0x23, 0xc2, 0x79, 0x39, 0x8c, 0x2f, 0xa5, 0x30,
- 0x70, 0x46, 0x2d, 0xf4, 0x2d, 0xd5, 0x40, 0x87, 0x98, 0x81, 0x1a, 0x79, 0x75, 0xf6, 0x49, 0x4d,
- 0x73, 0xe4, 0x5d, 0xb2, 0xb5, 0xe3, 0xba, 0xbb, 0x22, 0x30, 0x5d, 0xeb, 0x53, 0x9e, 0xd7, 0x38,
- 0xb5, 0x45, 0xd7, 0x09, 0xc8, 0xdd, 0x80, 0xcf, 0xb0, 0x45, 0x19, 0x0e, 0x59, 0xa1, 0x2f, 0x8a,
- 0x19, 0x76, 0x81, 0xb1, 0x5c, 0xcd, 0xab, 0x09, 0x32, 0xe7, 0xdc, 0x73, 0x50, 0xe2, 0xb5, 0x58,
- 0xb8, 0x5b, 0xe1, 0xae, 0x82, 0x87, 0xab, 0x58, 0x40, 0xd0, 0x27, 0xa0, 0xe8, 0xbe, 0xeb, 0x88,
- 0xe8, 0xb3, 0xb2, 0xf0, 0x84, 0x68, 0xb0, 0xc9, 0x25, 0xd2, 0xf6, 0x88, 0x69, 0x04, 0xa4, 0x71,
- 0x9b, 0x82, 0x31, 0xc7, 0x42, 0xbf, 0x09, 0x40, 0x45, 0x24, 0x26, 0xd5, 0x2c, 0x16, 0x10, 0x54,
- 0x16, 0x9e, 0x12, 0x75, 0xce, 0x47, 0x75, 0xea, 0x12, 0x07, 0x2b, 0xf8, 0xe8, 0x26, 0x4c, 0x78,
- 0xa4, 0xed, 0xfa, 0x56, 0xe0, 0x7a, 0x07, 0xba, 0xdd, 0x69, 0x32, 0xaf, 0x58, 0x59, 0xb8, 0x24,
- 0x28, 0x54, 0x23, 0x0a, 0x38, 0x86, 0x87, 0x13, 0xf5, 0xd0, 0x07, 0x1a, 0x8c, 0xc9, 0x22, 0x8b,
- 0xf8, 0xd5, 0x0a, 0x53, 0x29, 0x9c, 0x57, 0x7b, 0x46, 0xec, 0xa3, 0xf4, 0x28, 0x56, 0xf8, 0xe1,
- 0x18, 0x77, 0xc5, 0xcd, 0xc3, 0xa3, 0x12, 0xc4, 0xdf, 0x83, 0x73, 0x19, 0x5f, 0x8b, 0x9e, 0x09,
- 0xf5, 0x81, 0x47, 0xeb, 0xe3, 0xe2, 0xe3, 0x8b, 0x31, 0x2d, 0x78, 0x39, 0xd5, 0x8f, 0x3c, 0x3e,
- 0xb9, 0x20, 0xb0, 0x27, 0x8e, 0xee, 0xbd, 0xb9, 0x7f, 0xad, 0xc0, 0x8c, 0x64, 0x4e, 0x87, 0x58,
- 0xe2, 0xa9, 0x7e, 0x47, 0xb1, 0x4c, 0xed, 0xf4, 0x2c, 0x33, 0xae, 0xda, 0x43, 0x7d, 0xab, 0xf6,
- 0xf0, 0x09, 0x55, 0xfb, 0x77, 0x93, 0xaa, 0x5d, 0x60, 0xaa, 0xfd, 0x7a, 0x5e, 0xaa, 0xcd, 0xdb,
- 0xbb, 0x47, 0x05, 0x3f, 0x8e, 0x2b, 0x79, 0x1d, 0x46, 0x0d, 0x36, 0x31, 0xe7, 0x03, 0x6b, 0xa9,
- 0x97, 0xb1, 0x69, 0xf2, 0xf0, 0xfe, 0xec, 0x68, 0x2d, 0xaa, 0x8d, 0x55, 0x52, 0xe8, 0x6d, 0x18,
- 0x17, 0xbd, 0x24, 0x12, 0x88, 0x23, 0xbd, 0xd0, 0x9e, 0xa6, 0xf3, 0x85, 0xd7, 0xd4, 0xfa, 0x38,
- 0x4e, 0x0e, 0xbd, 0x0a, 0x17, 0xb6, 0xc2, 0xe6, 0xf1, 0x59, 0xf3, 0x2c, 0x18, 0x3e, 0xb9, 0x83,
- 0x57, 0x85, 0x7f, 0xba, 0x28, 0x5a, 0xe8, 0x42, 0xa2, 0x11, 0x05, 0x16, 0xee, 0x52, 0xbb, 0xcb,
- 0x00, 0x5a, 0x39, 0xd1, 0x00, 0x1a, 0x8b, 0x70, 0x21, 0x97, 0x08, 0xb7, 0xbb, 0x09, 0x9e, 0x28,
- 0xc2, 0x1d, 0x3d, 0xc5, 0x08, 0x57, 0x4c, 0x3a, 0xc6, 0xf2, 0x9d, 0x74, 0xf4, 0xe7, 0x51, 0xbf,
- 0xa5, 0xc1, 0x93, 0x5d, 0xad, 0x0c, 0x5d, 0x8b, 0xb9, 0x17, 0x2d, 0xbe, 0x82, 0xd6, 0xc5, 0xa9,
- 0xf4, 0xeb, 0x67, 0xff, 0xbc, 0x08, 0xe7, 0x16, 0x0d, 0x9b, 0x38, 0x0d, 0x23, 0xe6, 0x60, 0x9f,
- 0x83, 0xb2, 0x6f, 0xee, 0x90, 0x46, 0xc7, 0x0e, 0xb3, 0x32, 0xb2, 0x87, 0x75, 0x51, 0x8e, 0x25,
- 0x86, 0x4c, 0x1b, 0xef, 0x1b, 0xb6, 0xe0, 0x1f, 0x4f, 0x1b, 0xef, 0xcb, 0xb4, 0xf1, 0xbe, 0x61,
- 0xa3, 0x17, 0x61, 0x42, 0xe4, 0x43, 0x5d, 0x67, 0xc9, 0x08, 0x88, 0x5f, 0x1d, 0x66, 0x1e, 0x03,
- 0x51, 0x79, 0xaf, 0xc7, 0x20, 0x38, 0x81, 0x49, 0x39, 0x05, 0x56, 0x8b, 0xdc, 0x73, 0x9d, 0x70,
- 0x22, 0x2a, 0x39, 0x6d, 0x8a, 0x72, 0x2c, 0x31, 0xd0, 0x37, 0xd3, 0x09, 0xbd, 0x2f, 0xf4, 0xa9,
- 0x7c, 0x19, 0x8d, 0xd5, 0x83, 0x29, 0x7c, 0x55, 0x83, 0xd1, 0x36, 0xf1, 0x7c, 0xcb, 0x0f, 0x88,
- 0x63, 0x12, 0xe1, 0x01, 0x6f, 0xe7, 0x61, 0x10, 0xf5, 0x88, 0x2c, 0xf7, 0x95, 0x4a, 0x01, 0x56,
- 0x99, 0x9e, 0xcd, 0x8c, 0xb3, 0x3f, 0xc3, 0xb9, 0x0b, 0xe7, 0x17, 0x8d, 0xc0, 0xdc, 0xe9, 0xb4,
- 0xb9, 0x51, 0x76, 0x3c, 0x23, 0xb0, 0x5c, 0x07, 0x3d, 0x0b, 0x23, 0xc4, 0x31, 0xb6, 0x6c, 0xd2,
- 0x48, 0x2e, 0x87, 0x5c, 0xe7, 0xc5, 0x38, 0x84, 0xa3, 0x4f, 0xc2, 0x68, 0xcb, 0xb8, 0xbb, 0x24,
- 0x6a, 0x0a, 0x35, 0x95, 0x9b, 0x05, 0xd6, 0x22, 0x10, 0x56, 0xf1, 0xe6, 0xbe, 0x04, 0xe7, 0x39,
- 0xcb, 0x35, 0xa3, 0xad, 0xb4, 0xe8, 0x31, 0x56, 0x1e, 0x96, 0x60, 0xca, 0xf4, 0x88, 0x11, 0x90,
- 0x95, 0xed, 0x75, 0x37, 0xb8, 0x7e, 0xd7, 0xf2, 0x03, 0xb1, 0x04, 0x21, 0x73, 0x27, 0x8b, 0x09,
- 0x38, 0x4e, 0xd5, 0x98, 0xfb, 0xf6, 0x08, 0xa0, 0xeb, 0x2d, 0x2b, 0x08, 0xe2, 0x01, 0xd0, 0x65,
- 0x28, 0x6d, 0x79, 0xee, 0xae, 0x8c, 0xc2, 0xe4, 0x32, 0xc2, 0x02, 0x2b, 0xc5, 0x02, 0x4a, 0x7d,
- 0x8a, 0xb9, 0x63, 0x38, 0x0e, 0xb1, 0xa3, 0x90, 0x45, 0xfa, 0x94, 0x45, 0x09, 0xc1, 0x0a, 0x16,
- 0xdb, 0x56, 0xc1, 0x7f, 0x29, 0x79, 0xa2, 0x68, 0x5b, 0x45, 0x04, 0xc2, 0x2a, 0x5e, 0x6c, 0x1a,
- 0x5b, 0xc8, 0x7b, 0x1a, 0x5b, 0xcc, 0x61, 0x1a, 0x9b, 0xbd, 0xdd, 0xa0, 0x74, 0x26, 0xdb, 0x0d,
- 0x46, 0x8e, 0xbb, 0xdd, 0xa0, 0x9c, 0x73, 0xd2, 0xec, 0x43, 0xd5, 0x25, 0xf2, 0x29, 0xd1, 0x3b,
- 0xfd, 0xda, 0x7f, 0x4a, 0x3d, 0x4f, 0x14, 0x1c, 0x3c, 0x32, 0xf3, 0xa2, 0x8f, 0x86, 0x60, 0x2a,
- 0xe9, 0x72, 0xd1, 0x3d, 0x18, 0x31, 0xb9, 0x87, 0x12, 0x33, 0x12, 0xbd, 0xef, 0x81, 0x26, 0xed,
- 0xef, 0xc4, 0x9a, 0x3c, 0x87, 0xe0, 0x90, 0x21, 0xfa, 0x8a, 0x06, 0x15, 0x33, 0x74, 0x52, 0x22,
- 0xe3, 0xd3, 0x37, 0xfb, 0x0c, 0xa7, 0xc7, 0x17, 0xda, 0x25, 0x04, 0x47, 0x4c, 0xe7, 0x7e, 0x3a,
- 0x04, 0xa3, 0xaa, 0x7f, 0xfa, 0x82, 0xa2, 0x65, 0xbc, 0x3d, 0x7e, 0x55, 0xb1, 0x5d, 0xb9, 0xf7,
- 0x2b, 0x12, 0x82, 0x62, 0x53, 0x6b, 0xbe, 0xbd, 0x45, 0x43, 0x1b, 0xda, 0x39, 0x91, 0x9f, 0x8a,
- 0xca, 0x14, 0xc5, 0x69, 0x43, 0xc1, 0x6f, 0x13, 0x53, 0x7c, 0xee, 0x7a, 0x7e, 0x6a, 0xa3, 0xb7,
- 0x89, 0x19, 0x39, 0x74, 0xfa, 0x0b, 0x33, 0x4e, 0xe8, 0x2e, 0x94, 0xfc, 0xc0, 0x08, 0x3a, 0xbe,
- 0xc8, 0x06, 0xe5, 0xa8, 0xaa, 0x3a, 0xa3, 0x1b, 0x79, 0x71, 0xfe, 0x1b, 0x0b, 0x7e, 0x73, 0x37,
- 0x60, 0x3a, 0xa5, 0xd7, 0xd4, 0xb5, 0x93, 0xbb, 0x6d, 0x8f, 0xf8, 0x34, 0x3a, 0x4a, 0x86, 0x8b,
- 0xd7, 0x25, 0x04, 0x2b, 0x58, 0x73, 0x3f, 0xd3, 0x60, 0x52, 0xa1, 0xb4, 0x6a, 0xf9, 0x01, 0xfa,
- 0x7c, 0xaa, 0xab, 0xe6, 0x8f, 0xd7, 0x55, 0xb4, 0x36, 0xeb, 0x28, 0x69, 0xdf, 0x61, 0x89, 0xd2,
- 0x4d, 0x2e, 0x14, 0xad, 0x80, 0xb4, 0x7c, 0x91, 0xd1, 0x7b, 0x25, 0xbf, 0x36, 0x8b, 0x32, 0x0f,
- 0x2b, 0x94, 0x01, 0xe6, 0x7c, 0xe6, 0xfe, 0x6e, 0x39, 0xf6, 0x89, 0xb4, 0xff, 0xd8, 0xae, 0x36,
- 0x5a, 0xb4, 0xd0, 0xf1, 0x95, 0x75, 0xc6, 0x68, 0x57, 0x9b, 0x02, 0xc3, 0x31, 0x4c, 0xb4, 0x07,
- 0xe5, 0x80, 0xb4, 0xda, 0xb6, 0x11, 0x84, 0x4b, 0xe1, 0x37, 0xfa, 0xfc, 0x82, 0x4d, 0x41, 0x8e,
- 0x8f, 0x52, 0xe1, 0x2f, 0x2c, 0xd9, 0xa0, 0x16, 0x8c, 0xf8, 0x7c, 0x4d, 0x41, 0xe8, 0xd9, 0x72,
- 0x9f, 0x1c, 0xc3, 0x15, 0x0a, 0xe6, 0x3c, 0xc4, 0x0f, 0x1c, 0xf2, 0x40, 0x5f, 0x82, 0x62, 0xcb,
- 0x72, 0x2c, 0x57, 0x24, 0x11, 0xde, 0xc8, 0xd7, 0x90, 0xe6, 0xd7, 0x28, 0x6d, 0x3e, 0x0c, 0xc8,
- 0xfe, 0x62, 0x65, 0x98, 0xb3, 0x65, 0xfb, 0xdf, 0x4c, 0x11, 0x54, 0x8b, 0x18, 0xfd, 0xf3, 0x39,
- 0xcb, 0x20, 0x63, 0xf6, 0xf8, 0x68, 0x14, 0x16, 0x63, 0xc9, 0x1f, 0xdd, 0x83, 0xc2, 0xb6, 0x65,
- 0x13, 0xb1, 0xbc, 0xfa, 0x7a, 0xce, 0x72, 0x2c, 0x5b, 0x36, 0xe1, 0x32, 0x44, 0x1b, 0x30, 0x2c,
- 0x9b, 0x60, 0xc6, 0x93, 0x35, 0x84, 0x47, 0x38, 0x0d, 0xb1, 0x40, 0x95, 0x77, 0x43, 0x60, 0x41,
- 0x3e, 0xd1, 0x10, 0x61, 0x31, 0x96, 0xfc, 0xd1, 0x6f, 0x6b, 0x51, 0x86, 0x8d, 0x6f, 0x4a, 0x7c,
- 0x33, 0x67, 0x59, 0x44, 0xba, 0x85, 0x8b, 0x22, 0xc3, 0xf6, 0x54, 0xce, 0xed, 0x1e, 0x14, 0x8c,
- 0xd6, 0x5e, 0x5b, 0x84, 0x2a, 0x79, 0xf7, 0x48, 0xad, 0xb5, 0xd7, 0x4e, 0xf4, 0x48, 0x6d, 0x6d,
- 0xa3, 0x8e, 0x19, 0x4f, 0x6a, 0x1a, 0xbb, 0xc6, 0xf6, 0x6e, 0x98, 0x4c, 0xc9, 0xdb, 0x34, 0x6e,
- 0x51, 0xda, 0x09, 0xd3, 0x60, 0x65, 0x98, 0xb3, 0xa5, 0xdf, 0xde, 0xda, 0x0b, 0x82, 0xea, 0xe8,
- 0x40, 0xbe, 0x7d, 0x6d, 0x2f, 0x08, 0x12, 0xdf, 0xbe, 0xb6, 0xb1, 0xb9, 0x89, 0x19, 0x4f, 0xca,
- 0xdb, 0x31, 0x02, 0xbf, 0x3a, 0x36, 0x10, 0xde, 0xeb, 0x46, 0xe0, 0x27, 0x78, 0xaf, 0xd7, 0x36,
- 0x75, 0xcc, 0x78, 0xa2, 0x7d, 0x18, 0xf6, 0x1d, 0xbf, 0x3a, 0xce, 0x58, 0xbf, 0x96, 0x33, 0x6b,
- 0xdd, 0x11, 0x9c, 0xe5, 0x0e, 0x0b, 0x7d, 0x5d, 0xc7, 0x94, 0x21, 0xe3, 0xbb, 0xe7, 0x57, 0x27,
- 0x06, 0xc3, 0x77, 0x2f, 0xc5, 0x77, 0x83, 0xf2, 0xdd, 0xf3, 0xd1, 0x57, 0x35, 0x28, 0xb5, 0x3b,
- 0x5b, 0x7a, 0x67, 0xab, 0x3a, 0xc9, 0x78, 0x7f, 0x2e, 0x67, 0xde, 0x75, 0x46, 0x9c, 0xb3, 0x97,
- 0x31, 0x06, 0x2f, 0xc4, 0x82, 0x33, 0x13, 0x82, 0x73, 0xad, 0x4e, 0x0d, 0x44, 0x88, 0x1b, 0x8c,
- 0x5a, 0x42, 0x08, 0x5e, 0x88, 0x05, 0xe7, 0x50, 0x08, 0xdb, 0xd8, 0xaa, 0x4e, 0x0f, 0x4a, 0x08,
- 0xdb, 0xc8, 0x10, 0xc2, 0x36, 0xb8, 0x10, 0xb6, 0xb1, 0x45, 0x55, 0x7f, 0xa7, 0xb1, 0xed, 0x57,
- 0xd1, 0x40, 0x54, 0xff, 0x66, 0x63, 0x3b, 0xa9, 0xfa, 0x37, 0x97, 0x96, 0x75, 0xcc, 0x78, 0x52,
- 0x97, 0xe3, 0xdb, 0x86, 0xb9, 0x5b, 0x3d, 0x37, 0x10, 0x97, 0xa3, 0x53, 0xda, 0x09, 0x97, 0xc3,
- 0xca, 0x30, 0x67, 0x8b, 0xfe, 0x40, 0x83, 0x51, 0xb1, 0xc5, 0xea, 0x86, 0x67, 0x35, 0xaa, 0xe7,
- 0xf3, 0x99, 0x21, 0x26, 0xc5, 0x88, 0x38, 0x70, 0x61, 0x64, 0x76, 0x41, 0x81, 0x60, 0x55, 0x10,
- 0xf4, 0xa7, 0x1a, 0x4c, 0x18, 0xb1, 0xcd, 0x74, 0xd5, 0xc7, 0x99, 0x6c, 0x5b, 0x79, 0x0f, 0x09,
- 0xf1, 0x1d, 0x7b, 0x4c, 0x3c, 0x99, 0x4d, 0x8d, 0x03, 0x71, 0x42, 0x22, 0xa6, 0xbe, 0x7e, 0xe0,
- 0x59, 0x6d, 0x52, 0xbd, 0x30, 0x10, 0xf5, 0xd5, 0x19, 0xf1, 0x84, 0xfa, 0xf2, 0x42, 0x2c, 0x38,
- 0xb3, 0xa1, 0x9b, 0xf0, 0x29, 0x79, 0xf5, 0x89, 0x81, 0x0c, 0xdd, 0xe1, 0x84, 0x3f, 0x3e, 0x74,
- 0x8b, 0x52, 0x1c, 0x32, 0xa7, 0xba, 0xec, 0x91, 0x86, 0xe5, 0x57, 0xab, 0x03, 0xd1, 0x65, 0x4c,
- 0x69, 0x27, 0x74, 0x99, 0x95, 0x61, 0xce, 0x96, 0xba, 0x73, 0xc7, 0xdf, 0xab, 0x3e, 0x39, 0x10,
- 0x77, 0xbe, 0xee, 0xef, 0x25, 0xdc, 0xf9, 0xba, 0xbe, 0x81, 0x29, 0x43, 0xe1, 0xce, 0x6d, 0xdf,
- 0xf0, 0xaa, 0x33, 0x03, 0x72, 0xe7, 0x94, 0x78, 0xca, 0x9d, 0xd3, 0x42, 0x2c, 0x38, 0x33, 0x2d,
- 0x60, 0xa7, 0xa8, 0x2c, 0xb3, 0xfa, 0xb1, 0x81, 0x68, 0xc1, 0x0d, 0x4e, 0x3d, 0xa1, 0x05, 0xa2,
- 0x14, 0x87, 0xcc, 0xd1, 0x15, 0x1a, 0xd5, 0xb6, 0x6d, 0xcb, 0x34, 0xfc, 0xea, 0x53, 0x97, 0xb4,
- 0x2b, 0x45, 0x3e, 0xf1, 0xc1, 0xa2, 0x0c, 0x4b, 0x28, 0xfa, 0xbe, 0x06, 0x93, 0x89, 0x65, 0xb2,
- 0xea, 0xd3, 0x4c, 0x74, 0x33, 0x67, 0xd1, 0x17, 0xe2, 0x5c, 0xf8, 0x27, 0xc8, 0x8d, 0x0d, 0xc9,
- 0x15, 0x9a, 0xa4, 0x50, 0xe8, 0x9b, 0x1a, 0x54, 0x64, 0x59, 0xf5, 0x22, 0x13, 0xf1, 0xad, 0x41,
- 0x89, 0xc8, 0x85, 0x93, 0xdb, 0xf4, 0xa2, 0x15, 0xf9, 0x48, 0x04, 0xe6, 0xb5, 0x99, 0xce, 0xeb,
- 0x81, 0x47, 0x8c, 0x56, 0x75, 0x76, 0x20, 0x5e, 0x1b, 0x47, 0x1c, 0x12, 0x5e, 0x5b, 0x81, 0x60,
- 0x55, 0x10, 0xd6, 0xa5, 0x46, 0x7c, 0x97, 0x5c, 0xf5, 0xd2, 0x40, 0xba, 0x34, 0xb9, 0x17, 0x2f,
- 0xde, 0xa5, 0x09, 0x28, 0x4e, 0x0a, 0x85, 0xfe, 0x4a, 0x83, 0x69, 0x23, 0xb9, 0x1b, 0xb6, 0xfa,
- 0xff, 0x98, 0xa8, 0x64, 0x10, 0xa2, 0xc6, 0x76, 0xdd, 0x32, 0x61, 0x9f, 0x14, 0xc2, 0x4e, 0xa7,
- 0xe0, 0x38, 0x2d, 0x1a, 0x0d, 0x52, 0xfc, 0xed, 0xa0, 0x5d, 0x9d, 0x1b, 0x48, 0x90, 0xa2, 0x6f,
- 0x07, 0xc9, 0x79, 0x91, 0xbe, 0xbc, 0x59, 0xc7, 0x8c, 0x27, 0x8f, 0xd2, 0x88, 0xe7, 0x59, 0x41,
- 0xf5, 0x99, 0xc1, 0x44, 0x69, 0x8c, 0x78, 0x32, 0x4a, 0x63, 0x85, 0x58, 0x70, 0x9e, 0xe9, 0x00,
- 0x44, 0xb9, 0x85, 0x8c, 0xfc, 0xed, 0x86, 0x9a, 0xbf, 0x1d, 0xbd, 0xf6, 0x52, 0xcf, 0x19, 0x74,
- 0xfd, 0xd7, 0x6a, 0x5e, 0x60, 0x6d, 0x1b, 0x66, 0xa0, 0x24, 0x7f, 0x67, 0xbe, 0xa5, 0xc1, 0x78,
- 0x2c, 0x9f, 0x90, 0xc1, 0x7a, 0x27, 0xce, 0x1a, 0xe7, 0xbf, 0xe4, 0xa8, 0x4a, 0xf4, 0x3b, 0x1a,
- 0x54, 0x64, 0x66, 0x21, 0x43, 0x9a, 0x46, 0x5c, 0x9a, 0x7e, 0x33, 0xa5, 0x8c, 0x55, 0xb6, 0x24,
- 0xb4, 0x6d, 0x62, 0x29, 0x86, 0xc1, 0xb7, 0x8d, 0x64, 0x97, 0x2d, 0xd1, 0x87, 0x1a, 0x8c, 0xa9,
- 0x89, 0x86, 0x0c, 0x81, 0x9a, 0x71, 0x81, 0x36, 0xf2, 0xd9, 0x48, 0x74, 0x44, 0x5f, 0xc9, 0x9c,
- 0xc3, 0xe0, 0xfb, 0x2a, 0x71, 0x10, 0x54, 0x95, 0xe4, 0x1b, 0x1a, 0x40, 0x94, 0x80, 0xc8, 0x10,
- 0x85, 0xc4, 0x45, 0xe9, 0x77, 0x8d, 0x9a, 0xf3, 0xea, 0xde, 0x2a, 0x32, 0x1b, 0x31, 0xf8, 0x56,
- 0x59, 0xdb, 0xd8, 0xdc, 0xec, 0x22, 0xc9, 0xd7, 0x35, 0xa8, 0xc8, 0xdc, 0xc4, 0xe0, 0x1b, 0x65,
- 0xbd, 0xb6, 0xa9, 0xf3, 0xd9, 0x43, 0x5a, 0x94, 0xaf, 0x69, 0x50, 0x0e, 0x73, 0x15, 0x19, 0x92,
- 0x98, 0x71, 0x49, 0xfa, 0xdd, 0xff, 0xa6, 0xaf, 0xeb, 0x5d, 0x9a, 0x84, 0xc9, 0xb1, 0x77, 0x6a,
- 0x72, 0x6c, 0x74, 0x93, 0xe3, 0x7d, 0x0d, 0x46, 0x95, 0x3c, 0x46, 0x86, 0x28, 0xdb, 0x71, 0x51,
- 0xfa, 0x5d, 0x9e, 0x11, 0xcc, 0xba, 0x4b, 0xa3, 0x24, 0x34, 0x06, 0x2f, 0x8d, 0x60, 0x76, 0xa4,
- 0x34, 0x61, 0x66, 0xe3, 0x54, 0xa4, 0xa1, 0xcc, 0xba, 0x9b, 0xb3, 0xcc, 0x72, 0x0c, 0xde, 0x9c,
- 0x6f, 0x2e, 0x2d, 0xeb, 0x47, 0x38, 0xb9, 0x28, 0xe5, 0x31, 0x78, 0x7b, 0xe6, 0xbc, 0xb2, 0x65,
- 0xf9, 0x8e, 0x06, 0x53, 0xc9, 0xbc, 0x47, 0x86, 0x44, 0xbb, 0x71, 0x89, 0xfa, 0x3d, 0xdf, 0xae,
- 0x72, 0xcc, 0x96, 0xeb, 0x4f, 0x34, 0x38, 0x97, 0x91, 0xf3, 0xc8, 0x10, 0xcd, 0x89, 0x8b, 0xf6,
- 0xfa, 0xa0, 0x8e, 0x46, 0x26, 0x35, 0x5b, 0x49, 0x7a, 0x0c, 0x5e, 0xb3, 0x05, 0xb3, 0xee, 0xe1,
- 0x84, 0x9a, 0xfc, 0x18, 0x7c, 0x38, 0x91, 0xde, 0x5b, 0x91, 0xd4, 0xef, 0x28, 0x0d, 0x32, 0x78,
- 0xfd, 0xe6, 0xbc, 0xba, 0x8f, 0x13, 0x61, 0x52, 0x64, 0xf0, 0xe3, 0xc4, 0xba, 0xbe, 0x71, 0xe4,
- 0x38, 0x21, 0x13, 0x24, 0xa7, 0x31, 0x4e, 0x30, 0x66, 0xdd, 0x35, 0x46, 0x4d, 0x94, 0x0c, 0x5e,
- 0x63, 0x42, 0x6e, 0xd9, 0xf2, 0x7c, 0x57, 0x53, 0x4e, 0xf2, 0x28, 0xd9, 0x8f, 0x0c, 0xb9, 0xdc,
- 0xb8, 0x5c, 0x6f, 0x0c, 0x6c, 0x2b, 0xb1, 0x2a, 0xdf, 0x47, 0x1a, 0x4c, 0xc4, 0x53, 0x1f, 0x19,
- 0x92, 0x59, 0x71, 0xc9, 0xf4, 0x01, 0x9c, 0x12, 0x4a, 0x7a, 0xee, 0x64, 0xee, 0x63, 0xf0, 0x9e,
- 0x5b, 0xe5, 0xd8, 0xbd, 0x2f, 0xb3, 0xd2, 0x1e, 0x83, 0xef, 0xcb, 0xee, 0x07, 0x1f, 0x55, 0xf9,
- 0xbe, 0xa7, 0xc1, 0x85, 0xec, 0x5c, 0x47, 0x86, 0x84, 0x7b, 0x71, 0x09, 0xdf, 0x1c, 0xe0, 0xc9,
- 0xe6, 0x64, 0xac, 0x22, 0x93, 0x1d, 0x83, 0x8f, 0x55, 0xf4, 0xe5, 0xcd, 0xfa, 0x51, 0x31, 0x5c,
- 0x94, 0xf7, 0x38, 0x85, 0x18, 0x8e, 0x33, 0xcb, 0x94, 0x66, 0x2e, 0x88, 0xed, 0x38, 0xe2, 0xdb,
- 0x91, 0xd0, 0x3b, 0x72, 0x03, 0x14, 0xdf, 0x27, 0xf4, 0xa9, 0xde, 0x73, 0x2a, 0x47, 0xef, 0x73,
- 0xfa, 0xdb, 0x02, 0x4c, 0x26, 0xf2, 0x0b, 0xec, 0x86, 0x0d, 0xfa, 0x93, 0x5d, 0x47, 0xa5, 0xc5,
- 0xcf, 0x2c, 0x5f, 0x0f, 0x01, 0x38, 0xc2, 0x41, 0x1f, 0x69, 0x30, 0xf9, 0xae, 0x11, 0x98, 0x3b,
- 0x75, 0x23, 0xd8, 0xe1, 0x9b, 0xd5, 0x72, 0xea, 0xbd, 0xd7, 0xe2, 0x54, 0xa3, 0xf4, 0x62, 0x02,
- 0x80, 0x93, 0xfc, 0xd1, 0xb3, 0x30, 0xd2, 0x76, 0x6d, 0xdb, 0x72, 0x9a, 0xe2, 0x5e, 0x11, 0x99,
- 0x2f, 0xaf, 0xf3, 0x62, 0x1c, 0xc2, 0xe3, 0xf7, 0x41, 0x15, 0x72, 0xd9, 0x06, 0x92, 0x68, 0xd2,
- 0x13, 0xed, 0xce, 0x2c, 0x3e, 0x2a, 0xbb, 0x33, 0xff, 0xb9, 0x00, 0x28, 0x3d, 0x06, 0x3e, 0xe8,
- 0xc6, 0xb4, 0xcb, 0x50, 0x32, 0x23, 0x55, 0x51, 0xf6, 0x53, 0x8b, 0x1e, 0x15, 0x50, 0x7e, 0xd2,
- 0xc1, 0x27, 0x66, 0xc7, 0x23, 0xe9, 0x0b, 0x72, 0x78, 0x39, 0x96, 0x18, 0x3d, 0xde, 0xff, 0xf0,
- 0x61, 0xfa, 0xb4, 0xc2, 0x3b, 0xb9, 0x07, 0x03, 0x3d, 0x74, 0xfe, 0x1d, 0x76, 0x1f, 0xce, 0x8e,
- 0x38, 0x50, 0x55, 0xea, 0xf9, 0x14, 0x74, 0x4d, 0x56, 0xc6, 0x0a, 0xa1, 0xb3, 0xb9, 0x2d, 0xa2,
- 0xcf, 0xeb, 0x4c, 0x4a, 0x30, 0x9d, 0x72, 0x97, 0x67, 0x74, 0x08, 0xf1, 0x39, 0x28, 0xd3, 0xbf,
- 0xca, 0x9d, 0x0f, 0xb2, 0x0f, 0x6f, 0x8a, 0x72, 0x2c, 0x31, 0x94, 0x53, 0x79, 0xc3, 0x47, 0x9c,
- 0xca, 0x53, 0x0f, 0x1c, 0xe7, 0x79, 0xa5, 0xd7, 0x4b, 0x30, 0xce, 0xb3, 0xf5, 0xe1, 0x61, 0xb9,
- 0x22, 0x13, 0x58, 0x5e, 0xd1, 0x71, 0x43, 0x05, 0xe2, 0x38, 0x6e, 0x97, 0xa3, 0x71, 0xa5, 0x13,
- 0x1d, 0x8d, 0xfb, 0x20, 0x7d, 0xf9, 0xc3, 0xdb, 0x79, 0x0f, 0x9f, 0x3d, 0x58, 0xd6, 0x15, 0x28,
- 0x8b, 0x33, 0x5c, 0x3e, 0xdb, 0x5d, 0x57, 0x11, 0x47, 0x16, 0x44, 0x19, 0x96, 0x50, 0x3a, 0xfa,
- 0xf9, 0xbe, 0xfd, 0x2a, 0xf1, 0xac, 0xed, 0x03, 0x71, 0x2c, 0x50, 0x8e, 0x7e, 0x7a, 0x08, 0xc0,
- 0x11, 0xce, 0xa3, 0xb8, 0x9f, 0xfe, 0x9f, 0x34, 0x98, 0xe0, 0xe9, 0xad, 0x5a, 0xbb, 0xbd, 0xe8,
- 0x91, 0x86, 0x4f, 0x5d, 0x4f, 0xdb, 0xb3, 0xf6, 0x8d, 0x80, 0x84, 0x47, 0xe1, 0x7a, 0x73, 0x3d,
- 0x75, 0x59, 0x19, 0x2b, 0x84, 0xd0, 0x33, 0x50, 0x34, 0xda, 0xed, 0x95, 0x25, 0x26, 0xc3, 0x70,
- 0xb4, 0x6d, 0xa0, 0x46, 0x0b, 0x31, 0x87, 0xa1, 0x97, 0x61, 0xc2, 0x72, 0xfc, 0xc0, 0xb0, 0x6d,
- 0xb6, 0xe7, 0x7e, 0x65, 0x89, 0x39, 0xfa, 0xe1, 0x68, 0x13, 0xc8, 0x4a, 0x0c, 0x8a, 0x13, 0xd8,
- 0x73, 0x7f, 0x3f, 0x0a, 0xd3, 0xa9, 0x6c, 0x1d, 0x9a, 0x81, 0x21, 0x8b, 0x1f, 0x52, 0x1a, 0x5e,
- 0x00, 0x41, 0x69, 0x68, 0x65, 0x09, 0x0f, 0x59, 0x0d, 0xd5, 0x91, 0x0c, 0x9d, 0x9e, 0x23, 0x91,
- 0xe7, 0xfa, 0x87, 0x8f, 0x7b, 0xae, 0x3f, 0x3a, 0x3b, 0x28, 0xce, 0xde, 0x65, 0x1c, 0x7e, 0x8e,
- 0xce, 0x1b, 0x62, 0x05, 0xff, 0x58, 0xa7, 0x83, 0x6f, 0x43, 0xd9, 0x68, 0x5b, 0x27, 0x38, 0x1a,
- 0xcc, 0x8c, 0xa7, 0x56, 0x5f, 0xe1, 0xe7, 0x82, 0x25, 0x91, 0x81, 0x1f, 0x0a, 0x56, 0x83, 0x81,
- 0xf2, 0x03, 0x83, 0x81, 0xcb, 0x50, 0x32, 0xcc, 0xc0, 0xda, 0x27, 0xc2, 0x8e, 0x65, 0x88, 0x51,
- 0x63, 0xa5, 0x58, 0x40, 0xc5, 0xad, 0xb6, 0x41, 0x18, 0xf2, 0x42, 0xea, 0x56, 0xdb, 0x10, 0x84,
- 0x55, 0x3c, 0xe6, 0x6b, 0x99, 0xd2, 0x84, 0xbe, 0x76, 0x34, 0xe1, 0x6b, 0x55, 0x20, 0x8e, 0xe3,
- 0xa2, 0x1a, 0x4c, 0xf2, 0x82, 0x3b, 0x6d, 0xdb, 0x35, 0x1a, 0xb4, 0xfa, 0x58, 0x5c, 0x2b, 0x6e,
- 0xc4, 0xc1, 0x38, 0x89, 0xdf, 0xc5, 0x5d, 0x8f, 0xf7, 0xef, 0xae, 0x27, 0xf2, 0x71, 0xd7, 0x49,
- 0x8b, 0xec, 0xc1, 0x5d, 0xbf, 0x97, 0x3c, 0x6f, 0xcf, 0x77, 0x69, 0xf6, 0xeb, 0x5a, 0xa9, 0x79,
- 0x35, 0xd4, 0x13, 0xf5, 0xc7, 0x3a, 0x67, 0xff, 0x29, 0x18, 0x77, 0xbd, 0xa6, 0xe1, 0x58, 0xf7,
- 0x98, 0xc3, 0xf1, 0xd9, 0x6e, 0xcd, 0x0a, 0xd7, 0xd6, 0xdb, 0x2a, 0x00, 0xc7, 0xf1, 0xd0, 0x3d,
- 0xa8, 0x34, 0x43, 0x2f, 0x5b, 0x9d, 0xce, 0xc5, 0xcf, 0xc4, 0xbd, 0x36, 0x3f, 0x1e, 0x24, 0xcb,
- 0x70, 0xc4, 0x4e, 0x19, 0x95, 0xd0, 0xa3, 0x32, 0x2a, 0xbd, 0x57, 0x66, 0x6e, 0x3c, 0xbe, 0xcc,
- 0x71, 0x46, 0x31, 0xdf, 0xa7, 0xa1, 0x22, 0x22, 0x02, 0x31, 0x76, 0x55, 0x16, 0x3e, 0x26, 0x54,
- 0xe5, 0x5c, 0xea, 0xde, 0x89, 0x95, 0x25, 0x1c, 0x61, 0x1f, 0x33, 0x00, 0x8c, 0x5d, 0xcb, 0x50,
- 0xc8, 0xef, 0x5a, 0x06, 0x1d, 0x1e, 0xe7, 0xe7, 0x6f, 0x75, 0x7d, 0x95, 0x05, 0x28, 0x96, 0xc9,
- 0x8f, 0xdf, 0xf2, 0x4b, 0xee, 0x9e, 0x16, 0x1f, 0xf1, 0xf8, 0xf5, 0x2c, 0x24, 0x9c, 0x5d, 0x57,
- 0x78, 0x3a, 0xdb, 0x90, 0x9e, 0xae, 0x94, 0xf2, 0x74, 0x11, 0x10, 0xc7, 0x71, 0xbb, 0xb8, 0xa9,
- 0x72, 0xff, 0x6e, 0xaa, 0x92, 0x97, 0x9b, 0x8a, 0x6b, 0xdc, 0x09, 0xa3, 0x4a, 0x38, 0x32, 0xaa,
- 0x7c, 0x1d, 0x46, 0x7d, 0xd6, 0x93, 0xbc, 0xc3, 0x47, 0x7b, 0xee, 0x70, 0x3d, 0xaa, 0x8d, 0x55,
- 0x52, 0x8a, 0xa1, 0x8f, 0x9d, 0xe2, 0x5d, 0x0f, 0x73, 0x50, 0x6a, 0x7a, 0x6e, 0xa7, 0xcd, 0xcf,
- 0x0c, 0x08, 0x25, 0xbf, 0xc1, 0x4a, 0xb0, 0x80, 0xf4, 0xe7, 0x0c, 0xbe, 0x5b, 0x81, 0xc9, 0xc4,
- 0x3a, 0x63, 0x66, 0x9e, 0x49, 0x3b, 0xe3, 0x3c, 0xd3, 0x25, 0x28, 0x04, 0x34, 0x68, 0x18, 0x8a,
- 0x9f, 0x4a, 0x67, 0xd1, 0x02, 0x83, 0x50, 0xe3, 0x31, 0x77, 0x88, 0xb9, 0x1b, 0xde, 0xcb, 0x20,
- 0xa2, 0x3f, 0x69, 0x3c, 0x8b, 0x2a, 0x10, 0xc7, 0x71, 0xd1, 0xaf, 0x40, 0xc5, 0x68, 0x34, 0x3c,
- 0xe2, 0xfb, 0xe2, 0xd2, 0x99, 0x0a, 0xf7, 0xf9, 0xb5, 0xb0, 0x10, 0x47, 0x70, 0x36, 0x51, 0x6d,
- 0x6c, 0xfb, 0x77, 0x7c, 0x91, 0x3d, 0x52, 0x27, 0xaa, 0x4b, 0xcb, 0x3a, 0x2d, 0xc7, 0x12, 0x03,
- 0x35, 0x60, 0x72, 0xd7, 0xdb, 0x5a, 0x5c, 0x34, 0xcc, 0x1d, 0x72, 0x92, 0x8c, 0x03, 0xbb, 0x0c,
- 0xf6, 0x56, 0x9c, 0x02, 0x4e, 0x92, 0x14, 0x5c, 0x6e, 0x91, 0x83, 0xc0, 0xd8, 0x3a, 0x49, 0x4c,
- 0x18, 0x72, 0x51, 0x29, 0xe0, 0x24, 0x49, 0x1a, 0xc1, 0xed, 0x7a, 0x5b, 0xe1, 0x89, 0x76, 0x71,
- 0x43, 0x8c, 0x8c, 0xe0, 0x6e, 0x45, 0x20, 0xac, 0xe2, 0xd1, 0x06, 0xdb, 0xf5, 0xb6, 0x30, 0x31,
- 0xec, 0x96, 0xb8, 0x84, 0x4f, 0x36, 0xd8, 0x2d, 0x51, 0x8e, 0x25, 0x06, 0x6a, 0x03, 0xa2, 0x5f,
- 0xc7, 0xfa, 0x5d, 0x1e, 0xc9, 0x15, 0x93, 0xbe, 0x2b, 0x59, 0x5f, 0x23, 0x91, 0xd4, 0x0f, 0xba,
- 0x40, 0xdd, 0xdd, 0xad, 0x14, 0x1d, 0x9c, 0x41, 0x1b, 0xbd, 0x01, 0x4f, 0xec, 0x7a, 0x5b, 0x22,
- 0xed, 0x5f, 0xf7, 0x2c, 0xc7, 0xb4, 0xda, 0x06, 0xbf, 0x23, 0x60, 0x34, 0x7e, 0x67, 0xe0, 0xad,
- 0x6c, 0x34, 0xdc, 0xad, 0x7e, 0x3c, 0xe9, 0x39, 0x96, 0x4b, 0xd2, 0x33, 0x61, 0xae, 0x27, 0x4a,
- 0x7a, 0x8e, 0x3f, 0x2a, 0xc1, 0xca, 0x0f, 0x34, 0x40, 0x6c, 0x87, 0x55, 0xf8, 0xe8, 0x05, 0x73,
- 0x7e, 0xe8, 0x2a, 0x54, 0x98, 0xf7, 0x53, 0x0e, 0xbd, 0xca, 0xec, 0xc1, 0x8d, 0x10, 0x80, 0x23,
- 0x1c, 0x3a, 0x47, 0x71, 0xed, 0x06, 0x91, 0x37, 0x55, 0xc8, 0x39, 0xca, 0x6d, 0x56, 0x8a, 0x05,
- 0x14, 0xdd, 0x80, 0x69, 0x8f, 0x6c, 0x19, 0xb6, 0xe1, 0x98, 0x44, 0x0f, 0x3c, 0x23, 0x20, 0xcd,
- 0x03, 0xe1, 0x49, 0xe4, 0x36, 0x56, 0x9c, 0x44, 0xc0, 0xe9, 0x3a, 0x73, 0xff, 0x56, 0x86, 0xa9,
- 0xe4, 0xd6, 0xb0, 0x07, 0xe5, 0x6a, 0xaf, 0x42, 0xa5, 0x6d, 0x78, 0x81, 0xa5, 0xdc, 0xe3, 0x21,
- 0xbf, 0xaa, 0x1e, 0x02, 0x70, 0x84, 0x43, 0xa7, 0xfd, 0xec, 0x4a, 0x53, 0x21, 0xa1, 0x9c, 0xf6,
- 0xb3, 0x2b, 0x4f, 0x31, 0x87, 0x65, 0x5f, 0x0e, 0x51, 0x38, 0xb5, 0xcb, 0x21, 0x1e, 0x8a, 0x3b,
- 0x52, 0xdf, 0x4f, 0xa7, 0xc9, 0xde, 0xca, 0x79, 0xdf, 0x5f, 0x6f, 0xd3, 0xae, 0x71, 0x53, 0xd5,
- 0x67, 0x71, 0x19, 0xc6, 0x46, 0x1e, 0x22, 0xc5, 0x0c, 0x85, 0xcf, 0x9e, 0x62, 0x45, 0x38, 0xce,
- 0x1a, 0xd5, 0xe1, 0xbc, 0x6d, 0xb5, 0x44, 0xc2, 0xcf, 0xaf, 0x13, 0x4f, 0x27, 0xa6, 0xeb, 0x34,
- 0x98, 0xa3, 0x1e, 0x8e, 0x12, 0x21, 0xab, 0x19, 0x38, 0x38, 0xb3, 0x26, 0x7a, 0x16, 0x46, 0xf6,
- 0x89, 0xc7, 0x0e, 0xef, 0x43, 0xfc, 0x62, 0xf2, 0x57, 0x79, 0x31, 0x0e, 0xe1, 0xe8, 0x0d, 0x28,
- 0xf8, 0x86, 0x6f, 0x8b, 0x40, 0xed, 0x04, 0x5b, 0x99, 0x6b, 0xfa, 0xaa, 0x50, 0x0f, 0x96, 0xa2,
- 0xa5, 0xbf, 0x31, 0x23, 0x79, 0x46, 0x01, 0x5b, 0xb4, 0xdc, 0x32, 0x7e, 0xd4, 0x72, 0x4b, 0x7f,
- 0x4e, 0xf1, 0x7b, 0x25, 0x98, 0x4c, 0xec, 0xf5, 0x7c, 0x90, 0x6b, 0x91, 0x9e, 0x62, 0xe8, 0x08,
- 0x4f, 0xf1, 0x1c, 0x94, 0x4d, 0xdb, 0x22, 0x4e, 0xb0, 0xd2, 0x10, 0x1e, 0x25, 0x3a, 0x52, 0xce,
- 0xcb, 0x97, 0xb0, 0xc4, 0x38, 0x6b, 0xbf, 0xa2, 0x3a, 0x80, 0xe2, 0x71, 0x2f, 0x9d, 0x29, 0x0d,
- 0xf2, 0x8d, 0x9b, 0x7c, 0x8e, 0xb6, 0x27, 0x3a, 0xf6, 0xa1, 0xbf, 0x70, 0x39, 0x5c, 0x64, 0xa9,
- 0xe4, 0xbd, 0xc8, 0xd2, 0x9f, 0x8d, 0xfc, 0xe3, 0x10, 0x94, 0xd7, 0x6b, 0x9b, 0x3a, 0xbb, 0x88,
- 0xf8, 0xcd, 0xf8, 0x55, 0xcb, 0xfd, 0x08, 0x99, 0xbe, 0x53, 0x79, 0x99, 0x9a, 0x56, 0xcf, 0xd7,
- 0x29, 0x57, 0xb8, 0xf5, 0xd1, 0x79, 0x26, 0xaf, 0x8e, 0x16, 0xa1, 0xe0, 0xec, 0xf6, 0xfa, 0x54,
- 0x04, 0x6b, 0xb3, 0xf5, 0x5b, 0xe4, 0x00, 0xb3, 0xca, 0xe8, 0x0e, 0x80, 0xe9, 0x91, 0x06, 0x71,
- 0x02, 0x4b, 0xbc, 0xd4, 0xd5, 0xdb, 0xfa, 0xc2, 0xa2, 0xac, 0x8c, 0x15, 0x42, 0x73, 0x5f, 0x2f,
- 0xc1, 0x54, 0x72, 0x4f, 0xf7, 0x83, 0x5c, 0xce, 0xb3, 0x30, 0xe2, 0x77, 0xd8, 0x05, 0x37, 0xc2,
- 0xe9, 0xc8, 0x61, 0x40, 0xe7, 0xc5, 0x38, 0x84, 0x67, 0xbb, 0x92, 0xe1, 0x33, 0x71, 0x25, 0x85,
- 0xe3, 0xba, 0x92, 0xbc, 0x03, 0x9a, 0xf7, 0xd3, 0xaf, 0x20, 0xbc, 0x95, 0xf3, 0x2e, 0xfc, 0x1e,
- 0x7c, 0x09, 0x11, 0x56, 0x3d, 0x92, 0xcb, 0xd5, 0x30, 0xa1, 0x21, 0xa6, 0xd6, 0x51, 0x1f, 0xc1,
- 0x1b, 0xfb, 0x7e, 0x52, 0x84, 0x89, 0xf8, 0x26, 0x4d, 0x3a, 0x2d, 0xde, 0x71, 0xfd, 0x40, 0x24,
- 0x0b, 0x92, 0xcf, 0xf5, 0xdd, 0x8c, 0x40, 0x58, 0xc5, 0x3b, 0xde, 0x98, 0xfc, 0x2c, 0x8c, 0x88,
- 0xbb, 0xe8, 0xc4, 0x90, 0x2c, 0xad, 0x48, 0xdc, 0x57, 0x87, 0x43, 0xf8, 0xff, 0x0d, 0xc8, 0xb6,
- 0x8f, 0xbe, 0x91, 0x1e, 0x90, 0xdf, 0xcc, 0x75, 0x47, 0xee, 0xc3, 0x3e, 0x1e, 0xf7, 0xa7, 0xdc,
- 0x6f, 0xc0, 0x74, 0x6a, 0xf1, 0xe6, 0x78, 0xf7, 0x62, 0xcf, 0x42, 0xd1, 0x31, 0x5a, 0x84, 0x5f,
- 0x87, 0x55, 0xe1, 0xc3, 0x1b, 0x7b, 0x3a, 0x01, 0xf3, 0xf2, 0xb9, 0xef, 0x97, 0x60, 0x3a, 0x75,
- 0xf2, 0x84, 0x4d, 0x79, 0xe5, 0x02, 0x40, 0x62, 0x22, 0x9f, 0x99, 0xf6, 0x7f, 0x19, 0x26, 0x98,
- 0x61, 0xd4, 0x13, 0xcb, 0x06, 0x72, 0x11, 0x7b, 0x33, 0x06, 0xc5, 0x09, 0xec, 0xe3, 0x4d, 0x99,
- 0x5f, 0x86, 0x09, 0xf5, 0xad, 0x8f, 0x95, 0x25, 0xb1, 0x2c, 0x2c, 0x99, 0xe8, 0x31, 0x28, 0x4e,
- 0x60, 0xb3, 0x87, 0x52, 0xe4, 0xe0, 0x29, 0xd2, 0x71, 0xc5, 0xde, 0x1f, 0x4a, 0x49, 0x90, 0xc0,
- 0x29, 0xa2, 0x68, 0x0b, 0x66, 0x78, 0xfa, 0x5e, 0x15, 0x28, 0xb1, 0xa5, 0x64, 0x4e, 0x08, 0x3d,
- 0xb3, 0xd4, 0x15, 0x13, 0x1f, 0x41, 0xa5, 0xc7, 0xdb, 0x1d, 0x3f, 0x48, 0xbf, 0xfa, 0xf8, 0x76,
- 0xde, 0xe7, 0x95, 0x4e, 0x64, 0x83, 0x95, 0x47, 0xc5, 0x06, 0xbf, 0x3f, 0x4a, 0x0d, 0x25, 0xb1,
- 0xf5, 0x1e, 0xcd, 0x41, 0x89, 0xe9, 0x26, 0x1d, 0x5e, 0xe4, 0x4a, 0x00, 0x53, 0x5a, 0x1f, 0x0b,
- 0xc8, 0x31, 0x92, 0xe4, 0x22, 0x64, 0x1b, 0xee, 0x12, 0xb2, 0xb5, 0xe1, 0x5c, 0x60, 0xfb, 0x9b,
- 0x5e, 0xc7, 0x0f, 0x16, 0x89, 0x17, 0xf8, 0x42, 0x75, 0x0b, 0x3d, 0x3f, 0x95, 0xb6, 0xb9, 0xaa,
- 0x27, 0xa9, 0xe0, 0x2c, 0xd2, 0x54, 0x81, 0x03, 0xdb, 0xaf, 0xd9, 0xb6, 0xfb, 0x6e, 0xb8, 0xb3,
- 0x20, 0x1a, 0x6c, 0xc4, 0x30, 0x22, 0x15, 0x78, 0x73, 0x55, 0xef, 0x82, 0x89, 0x8f, 0xa0, 0x82,
- 0xd6, 0xd8, 0x57, 0xbd, 0x6a, 0xd8, 0x56, 0xc3, 0x08, 0x08, 0x1d, 0x8e, 0x59, 0xf6, 0x9a, 0x5b,
- 0x87, 0x5c, 0x6e, 0xdc, 0x5c, 0xd5, 0x93, 0x28, 0x38, 0xab, 0xde, 0xa0, 0x9e, 0x4b, 0xcd, 0x1c,
- 0xbd, 0xcb, 0x67, 0x32, 0x7a, 0x57, 0x7a, 0xb3, 0x72, 0xc8, 0xc9, 0xca, 0x13, 0x2a, 0xdf, 0x83,
- 0x95, 0x37, 0x60, 0x52, 0x3e, 0x46, 0x23, 0x74, 0x76, 0xb4, 0xe7, 0xd5, 0x8f, 0x5a, 0x9c, 0x02,
- 0x4e, 0x92, 0x3c, 0xa3, 0x8c, 0xd2, 0x5f, 0x6a, 0x30, 0x45, 0x25, 0xa9, 0x05, 0x3b, 0xc4, 0xb9,
- 0x57, 0x37, 0x3c, 0xa3, 0x15, 0xde, 0x20, 0xb6, 0x9d, 0x7b, 0x93, 0xd7, 0x12, 0x8c, 0x78, 0xd3,
- 0xcb, 0x6b, 0x9d, 0x93, 0x60, 0x9c, 0x92, 0x8c, 0x0e, 0x7d, 0x51, 0xd9, 0x49, 0xde, 0x3c, 0x3d,
- 0x1f, 0x67, 0x14, 0x0e, 0x7d, 0x49, 0xa2, 0x7d, 0xf9, 0xd8, 0x99, 0x45, 0x78, 0x3c, 0xf3, 0x53,
- 0x7b, 0x72, 0xd4, 0x5f, 0x2b, 0x89, 0xe3, 0x33, 0x39, 0xcc, 0x05, 0xf2, 0x7e, 0xd9, 0x88, 0x06,
- 0x56, 0x8e, 0x7c, 0xf9, 0x2a, 0xf1, 0x22, 0x5a, 0xf4, 0xd6, 0x55, 0x84, 0x83, 0x66, 0x60, 0xa8,
- 0xb1, 0xc5, 0x5c, 0x7d, 0x31, 0xda, 0xc7, 0xb7, 0xb4, 0x80, 0x87, 0x1a, 0x5b, 0xe8, 0x0a, 0x94,
- 0xc5, 0x24, 0x23, 0xdc, 0xe6, 0xc6, 0xd8, 0x8a, 0x19, 0x88, 0x8f, 0x25, 0x74, 0x50, 0x61, 0xfd,
- 0x00, 0xf2, 0xf7, 0xc9, 0x9e, 0x7b, 0xe8, 0x13, 0x6d, 0xbd, 0x79, 0xe8, 0xe7, 0x94, 0x4b, 0xcb,
- 0x21, 0x9e, 0xcb, 0x4d, 0xdf, 0x48, 0xde, 0x5f, 0xc0, 0xf2, 0x37, 0x25, 0xb8, 0x90, 0x7d, 0xa8,
- 0xeb, 0xa1, 0xb1, 0x06, 0xae, 0xdc, 0xc3, 0x99, 0xca, 0xfd, 0x71, 0x18, 0xf1, 0x99, 0xe0, 0xe1,
- 0xca, 0x3f, 0xbf, 0x4e, 0x96, 0x17, 0xe1, 0x10, 0x86, 0x5e, 0x01, 0xd4, 0x32, 0xee, 0xae, 0xf9,
- 0xcd, 0x45, 0xb7, 0xc3, 0x6e, 0xc8, 0xc6, 0xc4, 0xe0, 0xd7, 0xb7, 0x17, 0xa3, 0xfd, 0x35, 0x6b,
- 0x29, 0x0c, 0x9c, 0x51, 0x8b, 0xed, 0x55, 0x88, 0xad, 0xff, 0x24, 0x36, 0xfa, 0x1c, 0xb9, 0x60,
- 0x33, 0xa0, 0xf8, 0xe3, 0xa3, 0x74, 0xe0, 0x6e, 0x0e, 0xe4, 0xa4, 0xdf, 0xc3, 0x1e, 0xbd, 0x9f,
- 0xa6, 0xe9, 0xfc, 0xb4, 0x00, 0xe7, 0x32, 0x6e, 0x7a, 0x89, 0x7b, 0x6f, 0xed, 0x18, 0xde, 0x7b,
- 0x4f, 0xb6, 0x54, 0x3e, 0x1b, 0xad, 0x43, 0xa1, 0x8e, 0x68, 0xa6, 0x0f, 0x34, 0x38, 0xcf, 0x16,
- 0xd8, 0xc3, 0x55, 0xbd, 0xf0, 0x8a, 0xdf, 0x61, 0xa1, 0x99, 0xc7, 0xba, 0x6b, 0xfb, 0x46, 0x06,
- 0x85, 0x68, 0xd5, 0x31, 0x0b, 0x8a, 0x33, 0xb9, 0xa2, 0x45, 0x00, 0x79, 0x54, 0x2e, 0xb4, 0xe4,
- 0x67, 0xd8, 0x8d, 0xe1, 0xb2, 0xf4, 0x7f, 0xd8, 0xe2, 0xbd, 0xd2, 0xda, 0x6c, 0x66, 0xa4, 0x54,
- 0x1b, 0xc4, 0xbb, 0x2a, 0x19, 0xdd, 0x7b, 0x7c, 0x0b, 0xe8, 0x4f, 0xbb, 0xfe, 0x62, 0x18, 0x26,
- 0xe2, 0x1d, 0x89, 0x2e, 0x43, 0xa9, 0xed, 0x91, 0x6d, 0xeb, 0x6e, 0xf2, 0x79, 0x8d, 0x3a, 0x2b,
- 0xc5, 0x02, 0x8a, 0x5c, 0x28, 0xd9, 0xc6, 0x16, 0x1d, 0xef, 0xf9, 0xf5, 0xe6, 0x37, 0xfa, 0xbe,
- 0xaa, 0x3b, 0x5c, 0x65, 0x08, 0x19, 0xae, 0x32, 0xf2, 0x58, 0xb0, 0xa1, 0x0c, 0xb7, 0x2d, 0x62,
- 0x37, 0xf8, 0x76, 0xce, 0x41, 0x30, 0x5c, 0x66, 0xe4, 0xb1, 0x60, 0x83, 0xde, 0x84, 0x0a, 0x7f,
- 0x93, 0xa4, 0xb1, 0x70, 0x20, 0x66, 0xb8, 0xff, 0xff, 0x78, 0x2a, 0xbb, 0x69, 0xb5, 0x48, 0x64,
- 0x8e, 0x8b, 0x21, 0x11, 0x1c, 0xd1, 0x63, 0x2f, 0xae, 0x6f, 0x07, 0xc4, 0xd3, 0x03, 0xc3, 0x0b,
- 0x1f, 0x44, 0x8f, 0x5e, 0x5c, 0x97, 0x10, 0xac, 0x60, 0xcd, 0xfd, 0xf5, 0x08, 0x4c, 0x26, 0x8e,
- 0xd1, 0xfe, 0x72, 0x9c, 0x11, 0x55, 0xdf, 0x4f, 0x19, 0xce, 0xfb, 0xfd, 0x94, 0x42, 0x1e, 0xe1,
- 0xc1, 0x9b, 0x30, 0xe6, 0xfb, 0x3b, 0x0c, 0xb3, 0xf7, 0x5c, 0xdd, 0xd4, 0xe1, 0xfd, 0xd9, 0x31,
- 0x5d, 0xbf, 0x29, 0xab, 0xe3, 0x18, 0x31, 0xb4, 0x0a, 0x23, 0x62, 0xef, 0x60, 0x6f, 0x1b, 0xff,
- 0x58, 0x18, 0x12, 0x86, 0x47, 0x21, 0x89, 0x41, 0xac, 0x38, 0x27, 0x94, 0xee, 0xa1, 0x0f, 0x84,
- 0xeb, 0x70, 0xbe, 0xed, 0xda, 0x76, 0xb8, 0x79, 0x53, 0xbe, 0x7c, 0x54, 0x89, 0x1f, 0xdd, 0xa9,
- 0x67, 0xe0, 0xe0, 0xcc, 0x9a, 0xfd, 0x79, 0xd9, 0xff, 0x28, 0xc1, 0x44, 0xfc, 0x96, 0xa9, 0xb3,
- 0x3b, 0x40, 0xc9, 0x12, 0x81, 0x35, 0xcf, 0x49, 0x1e, 0xa0, 0xdc, 0x14, 0xe5, 0x58, 0x62, 0x20,
- 0x0c, 0x15, 0xbe, 0xa1, 0xfd, 0x56, 0xaf, 0x6b, 0xce, 0x7c, 0x67, 0x6c, 0x58, 0x17, 0x47, 0x64,
- 0x28, 0x4d, 0x3f, 0x44, 0xef, 0xcd, 0x32, 0x19, 0x4d, 0x59, 0x8c, 0x23, 0x32, 0x74, 0xc4, 0xf2,
- 0x48, 0x33, 0xcc, 0x06, 0x2a, 0x23, 0x16, 0x66, 0xa5, 0x58, 0x40, 0xd1, 0xb3, 0x30, 0xe2, 0xb9,
- 0x36, 0xa9, 0xe1, 0x75, 0x11, 0x4d, 0xcb, 0x85, 0x32, 0xcc, 0x8b, 0x71, 0x08, 0x1f, 0xc4, 0x22,
- 0x51, 0x5c, 0x01, 0x7a, 0x30, 0xa1, 0x1b, 0x30, 0xbd, 0x2f, 0x32, 0x8c, 0xba, 0xd5, 0x74, 0x8c,
- 0x20, 0x3a, 0x73, 0x25, 0x37, 0x1c, 0xbe, 0x9a, 0x44, 0xc0, 0xe9, 0x3a, 0x67, 0x17, 0x2b, 0x13,
- 0xa7, 0xd1, 0x76, 0x2d, 0x27, 0x48, 0xc6, 0xca, 0xd7, 0x45, 0x39, 0x96, 0x18, 0xfd, 0xd9, 0xd9,
- 0x3f, 0x8c, 0xc0, 0x44, 0xfc, 0x16, 0xb5, 0xb8, 0x0e, 0x6b, 0x03, 0xd0, 0xe1, 0xa1, 0xbc, 0x75,
- 0x78, 0xf8, 0x48, 0x1d, 0x7e, 0x06, 0x8a, 0xec, 0x4d, 0x7b, 0xb1, 0xdc, 0x24, 0x17, 0xa7, 0xd8,
- 0x7d, 0x1f, 0x98, 0xc3, 0x50, 0x8d, 0x8e, 0xf0, 0x56, 0x40, 0xa3, 0x10, 0xbe, 0xe1, 0x8e, 0xef,
- 0x45, 0x18, 0x56, 0x47, 0xe4, 0x18, 0x18, 0x27, 0xf1, 0x7b, 0xb1, 0x95, 0xde, 0x56, 0x7f, 0x5e,
- 0x86, 0x09, 0x26, 0x64, 0xcd, 0x34, 0xe9, 0x7c, 0x77, 0xa5, 0x21, 0xf6, 0x88, 0xcb, 0x85, 0xb3,
- 0x0d, 0x15, 0xba, 0x84, 0x13, 0xd8, 0x71, 0xcb, 0xac, 0xe4, 0x63, 0x99, 0x1b, 0x27, 0xb4, 0xcc,
- 0xa7, 0x61, 0xb8, 0x61, 0xef, 0x31, 0xad, 0x2e, 0x47, 0x6b, 0x25, 0x4b, 0xab, 0x1b, 0x98, 0x96,
- 0x9f, 0xd1, 0xe3, 0x9f, 0xaa, 0xbd, 0x8d, 0x3d, 0xc8, 0xde, 0x58, 0x5c, 0xc3, 0x1f, 0x48, 0xe2,
- 0xe7, 0x61, 0xc6, 0x7b, 0x8f, 0x6b, 0x94, 0xea, 0x38, 0x46, 0xac, 0x3f, 0x63, 0xfe, 0x32, 0x94,
- 0x43, 0x46, 0xb4, 0xa1, 0x65, 0xbd, 0xa8, 0xa1, 0xa9, 0x09, 0x31, 0x22, 0x57, 0xa1, 0xe2, 0xb6,
- 0x49, 0xec, 0x75, 0x43, 0x19, 0x03, 0xdf, 0x0e, 0x01, 0x38, 0xc2, 0xa1, 0x56, 0xc4, 0xb9, 0x26,
- 0x96, 0x78, 0x5f, 0xa5, 0x85, 0x42, 0x88, 0xb9, 0xaf, 0x68, 0x10, 0x3e, 0x19, 0x84, 0x96, 0xa0,
- 0xd8, 0x76, 0xbd, 0x80, 0x2f, 0xad, 0x8d, 0x5e, 0x9b, 0xcd, 0x6e, 0x1f, 0xbe, 0xbb, 0xdf, 0xf5,
- 0x82, 0x88, 0x22, 0xfd, 0xe5, 0x63, 0x5e, 0x99, 0xca, 0x69, 0xda, 0x1d, 0x3f, 0x20, 0xde, 0x4a,
- 0x3d, 0x29, 0xe7, 0x62, 0x08, 0xc0, 0x11, 0xce, 0xdc, 0x7f, 0x15, 0x60, 0x2a, 0x79, 0xb1, 0x1e,
- 0x7a, 0x1b, 0xc6, 0x7d, 0xab, 0xe9, 0x58, 0x4e, 0x53, 0xc4, 0xa2, 0x5a, 0xcf, 0x47, 0x7b, 0x75,
- 0xb5, 0x3e, 0x8e, 0x93, 0xcb, 0x6d, 0xb7, 0xda, 0xd9, 0x3c, 0x21, 0xff, 0x7e, 0xfa, 0x0e, 0x99,
- 0xb7, 0x72, 0xbe, 0xda, 0xf0, 0x97, 0xfb, 0x12, 0x99, 0x5f, 0x14, 0xe1, 0x42, 0xf6, 0xd5, 0x89,
- 0x67, 0x14, 0xb4, 0x46, 0xc7, 0x38, 0x87, 0xba, 0x1e, 0xe3, 0x8c, 0xda, 0x79, 0x38, 0xa7, 0xab,
- 0x10, 0x65, 0x03, 0x1c, 0xed, 0x6a, 0x65, 0x38, 0x5d, 0x78, 0x60, 0x38, 0x7d, 0x19, 0x4a, 0xe2,
- 0xda, 0xfc, 0x44, 0x98, 0xba, 0xc0, 0x2f, 0xb5, 0x17, 0x50, 0x25, 0x14, 0x28, 0x1d, 0x19, 0x0a,
- 0xd0, 0xd0, 0x26, 0x5c, 0x7f, 0xec, 0xed, 0x28, 0x17, 0x0f, 0x6d, 0xc2, 0xba, 0x38, 0x22, 0xc3,
- 0x0e, 0xea, 0xb7, 0xad, 0xe8, 0x6d, 0xef, 0xe8, 0xa0, 0x7e, 0x7d, 0xe5, 0x0e, 0x5e, 0xc5, 0x02,
- 0x1a, 0x4f, 0x05, 0x57, 0x72, 0x49, 0x05, 0x67, 0xeb, 0xdc, 0x69, 0x25, 0xc2, 0x4c, 0x98, 0x4e,
- 0xf5, 0xf9, 0xb1, 0x53, 0x61, 0x97, 0xa1, 0xe4, 0x77, 0xb6, 0x29, 0x5e, 0xe2, 0x06, 0x25, 0x9d,
- 0x95, 0x62, 0x01, 0x9d, 0xfb, 0x76, 0x81, 0x72, 0x49, 0x5c, 0xb2, 0x79, 0x46, 0x56, 0xf5, 0x12,
- 0x8c, 0xf3, 0x64, 0xd4, 0x6b, 0xca, 0xf5, 0x1b, 0x65, 0x65, 0x81, 0x41, 0x05, 0xe2, 0x38, 0x2e,
- 0x5a, 0x61, 0x6a, 0xd2, 0xf3, 0xb4, 0x10, 0x84, 0x26, 0xd1, 0x81, 0x5b, 0x10, 0x40, 0xcf, 0xc3,
- 0x28, 0xfb, 0x08, 0xde, 0xe4, 0x22, 0x2b, 0xcb, 0x0e, 0xda, 0x5e, 0x8f, 0x8a, 0xb1, 0x8a, 0x13,
- 0xdf, 0x5a, 0x50, 0xcc, 0x65, 0x6b, 0x41, 0xaa, 0x57, 0x4e, 0x4b, 0xef, 0xbe, 0x59, 0x06, 0xf9,
- 0x10, 0x22, 0x32, 0x53, 0xcf, 0x51, 0x7e, 0xba, 0xe7, 0xc5, 0x9b, 0x50, 0x14, 0x9e, 0xc9, 0xca,
- 0x18, 0x92, 0x5e, 0x01, 0x24, 0xde, 0x3f, 0x14, 0x41, 0xb5, 0x72, 0x9d, 0x92, 0x5c, 0xa5, 0xd2,
- 0x53, 0x18, 0x38, 0xa3, 0x16, 0x7a, 0x85, 0x3d, 0xbe, 0x1a, 0x18, 0x96, 0x23, 0x3d, 0xef, 0xd3,
- 0x5d, 0xce, 0x5f, 0x72, 0x24, 0xf9, 0x8c, 0x2a, 0xff, 0x89, 0xa3, 0xea, 0xe8, 0x3a, 0x8c, 0xec,
- 0xbb, 0x76, 0xa7, 0x25, 0x52, 0xf3, 0xa3, 0xd7, 0x66, 0xb2, 0x28, 0xbd, 0xca, 0x50, 0x94, 0xf3,
- 0x42, 0xbc, 0x0a, 0x0e, 0xeb, 0x22, 0x02, 0x93, 0x6c, 0x7b, 0x8f, 0x15, 0x1c, 0x08, 0x03, 0x10,
- 0x43, 0xef, 0xe5, 0x2c, 0x72, 0x75, 0xb7, 0xa1, 0xc7, 0xb1, 0xf9, 0x4e, 0x8f, 0x44, 0x21, 0x4e,
- 0xd2, 0x44, 0xcb, 0x50, 0x36, 0xb6, 0xb7, 0x2d, 0xc7, 0x0a, 0x0e, 0x44, 0xce, 0xee, 0xa9, 0x2c,
- 0xfa, 0x35, 0x81, 0x23, 0xee, 0x69, 0x11, 0xbf, 0xb0, 0xac, 0x8b, 0xee, 0xc0, 0x68, 0xe0, 0xda,
- 0x22, 0x2e, 0xf5, 0x45, 0xaa, 0xe1, 0x62, 0x16, 0xa9, 0x4d, 0x89, 0x16, 0x2d, 0x8f, 0x46, 0x65,
- 0x3e, 0x56, 0xe9, 0xa0, 0xdf, 0xd3, 0x60, 0xcc, 0x71, 0x1b, 0x24, 0x34, 0x3d, 0xb1, 0x5c, 0xf7,
- 0x46, 0x4e, 0x0f, 0x78, 0xce, 0xaf, 0x2b, 0xb4, 0xb9, 0x85, 0xc8, 0xfb, 0x3b, 0x54, 0x10, 0x8e,
- 0x09, 0x81, 0x1c, 0x98, 0xb2, 0x5a, 0x46, 0x93, 0xd4, 0x3b, 0xb6, 0xd8, 0x9e, 0xe8, 0x8b, 0xc1,
- 0x23, 0xf3, 0xd4, 0xee, 0xaa, 0x6b, 0x1a, 0x36, 0x7f, 0x00, 0x17, 0x93, 0x6d, 0xe2, 0xb1, 0x77,
- 0x78, 0xe5, 0x4e, 0x93, 0x95, 0x04, 0x25, 0x9c, 0xa2, 0x8d, 0x6e, 0xc0, 0x74, 0xdb, 0xb3, 0x5c,
- 0xd6, 0x6f, 0xb6, 0xe1, 0xf3, 0x07, 0x50, 0x21, 0x7e, 0x54, 0xb3, 0x9e, 0x44, 0xc0, 0xe9, 0x3a,
- 0xfc, 0x7a, 0x01, 0x5e, 0xc8, 0xe6, 0x72, 0xc5, 0xf0, 0x7a, 0x01, 0x5e, 0x86, 0x25, 0x74, 0xe6,
- 0xb3, 0x30, 0x9d, 0x6a, 0x9b, 0x9e, 0x1c, 0xc2, 0x1f, 0x69, 0x90, 0xcc, 0x97, 0xd3, 0x79, 0x43,
- 0xc3, 0xf2, 0x18, 0xc1, 0x83, 0x64, 0x8e, 0x7f, 0x29, 0x04, 0xe0, 0x08, 0x07, 0x5d, 0x82, 0x42,
- 0xdb, 0x08, 0x76, 0x92, 0xdb, 0xfc, 0x28, 0x49, 0xcc, 0x20, 0xe8, 0x1a, 0x00, 0xfd, 0x8b, 0x49,
- 0x93, 0xdc, 0x6d, 0x8b, 0x69, 0x90, 0x5c, 0x7e, 0xa8, 0x4b, 0x08, 0x56, 0xb0, 0xe6, 0xfe, 0xa5,
- 0x08, 0x13, 0xf1, 0xb1, 0x25, 0x36, 0xd9, 0xd4, 0x1e, 0x38, 0xd9, 0xbc, 0x0c, 0xa5, 0x16, 0x09,
- 0x76, 0xdc, 0x46, 0x72, 0x9c, 0x5c, 0x63, 0xa5, 0x58, 0x40, 0x99, 0xf8, 0xae, 0x17, 0x08, 0xb1,
- 0x22, 0xf1, 0x5d, 0x2f, 0xc0, 0x0c, 0x12, 0xee, 0x52, 0x2c, 0x74, 0xd9, 0xa5, 0xd8, 0x84, 0x29,
- 0x7e, 0xc1, 0xef, 0x22, 0xf1, 0x82, 0x13, 0xef, 0xae, 0xd5, 0x13, 0x24, 0x70, 0x8a, 0x28, 0x6a,
- 0x50, 0x6f, 0x43, 0xcb, 0xa2, 0x95, 0x81, 0xde, 0x8f, 0xee, 0xeb, 0x71, 0x0a, 0x38, 0x49, 0x72,
- 0x10, 0xd9, 0xc8, 0x78, 0x3f, 0x9e, 0xf8, 0x66, 0xc4, 0x72, 0x5e, 0x37, 0x23, 0xbe, 0x08, 0x13,
- 0x2d, 0xe3, 0x6e, 0xdd, 0x38, 0xb0, 0x5d, 0xa3, 0xa1, 0x5b, 0xf7, 0x88, 0x38, 0x5d, 0x8a, 0x0e,
- 0xef, 0xcf, 0x4e, 0xac, 0xc5, 0x20, 0x38, 0x81, 0xd9, 0xdf, 0x00, 0xfc, 0xc7, 0x43, 0x80, 0xd2,
- 0x0f, 0x97, 0xa0, 0x0f, 0x35, 0x98, 0x78, 0x37, 0xd6, 0x46, 0x83, 0x09, 0xce, 0x64, 0xda, 0x2b,
- 0x5e, 0x8e, 0x13, 0xcc, 0x95, 0x09, 0xce, 0xd0, 0xe9, 0x4d, 0x24, 0x17, 0xe6, 0x7f, 0xf8, 0xf3,
- 0x8b, 0x8f, 0xfd, 0xe8, 0xe7, 0x17, 0x1f, 0xfb, 0xf1, 0xcf, 0x2f, 0x3e, 0xf6, 0x95, 0xc3, 0x8b,
- 0xda, 0x0f, 0x0f, 0x2f, 0x6a, 0x3f, 0x3a, 0xbc, 0xa8, 0xfd, 0xf8, 0xf0, 0xa2, 0xf6, 0xb3, 0xc3,
- 0x8b, 0xda, 0xb7, 0xff, 0xfd, 0xe2, 0x63, 0x9f, 0x2b, 0x87, 0x54, 0xff, 0x37, 0x00, 0x00, 0xff,
- 0xff, 0x0c, 0x53, 0xd7, 0xfe, 0x6d, 0xa4, 0x00, 0x00,
+ // 7284 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x70, 0x24, 0xc7,
+ 0x75, 0x20, 0x0b, 0xdd, 0x68, 0x74, 0xbf, 0xc6, 0x37, 0x67, 0x38, 0x6c, 0x42, 0xe4, 0x60, 0xb6,
+ 0xb9, 0x9a, 0x18, 0xee, 0x52, 0x98, 0xe5, 0xec, 0x6a, 0x45, 0x91, 0x2b, 0x2a, 0x1a, 0xc0, 0x7c,
+ 0xc0, 0x01, 0x30, 0x40, 0x16, 0x86, 0x1f, 0x51, 0x24, 0x55, 0xa8, 0x4e, 0x34, 0x4a, 0xa8, 0xae,
+ 0x6a, 0x54, 0x55, 0x83, 0x83, 0x89, 0x58, 0x49, 0xa1, 0x08, 0xed, 0x4a, 0xfc, 0x48, 0xe2, 0xae,
+ 0x65, 0x3b, 0xec, 0xd0, 0x41, 0xb6, 0x43, 0x17, 0x3b, 0xec, 0x93, 0x15, 0xbe, 0x3a, 0xec, 0x83,
+ 0xc2, 0xf6, 0x41, 0xb6, 0x2f, 0xb2, 0x14, 0x31, 0x21, 0xc1, 0xe1, 0x9b, 0x2f, 0x0e, 0x9d, 0xec,
+ 0x93, 0x23, 0x3f, 0x95, 0x95, 0xf5, 0x69, 0x0c, 0x1a, 0x5d, 0x0d, 0x70, 0x14, 0x3e, 0x01, 0x9d,
+ 0xef, 0xe5, 0x7b, 0xaf, 0xb2, 0x5e, 0xbe, 0x7c, 0xf9, 0xf2, 0xe5, 0x2b, 0x58, 0x6d, 0x59, 0xc1,
+ 0x4e, 0x77, 0x6b, 0xde, 0x74, 0xdb, 0x57, 0x0d, 0xaf, 0xe5, 0x76, 0x3c, 0xf7, 0xcb, 0xec, 0x9f,
+ 0x4f, 0x91, 0x7d, 0xe2, 0x04, 0xfe, 0xd5, 0xce, 0x6e, 0xeb, 0xaa, 0xd1, 0xb1, 0xfc, 0xab, 0xfc,
+ 0xb7, 0xdb, 0xf5, 0x4c, 0x72, 0x75, 0xff, 0x79, 0xc3, 0xee, 0xec, 0x18, 0xcf, 0x5f, 0x6d, 0x11,
+ 0x87, 0x78, 0x46, 0x40, 0x9a, 0xf3, 0x1d, 0xcf, 0x0d, 0x5c, 0xf4, 0xb9, 0x88, 0xdc, 0x7c, 0x48,
+ 0x8e, 0xfd, 0xf3, 0x0e, 0xef, 0x3e, 0xdf, 0xd9, 0x6d, 0xcd, 0x53, 0x72, 0xf3, 0x0a, 0xb9, 0xf9,
+ 0x90, 0xdc, 0xec, 0xe7, 0x8f, 0x2d, 0x8d, 0xe9, 0xb6, 0xdb, 0xae, 0x93, 0xe4, 0x3f, 0xfb, 0x29,
+ 0x85, 0x40, 0xcb, 0x6d, 0xb9, 0x57, 0x59, 0xf3, 0x56, 0x77, 0x9b, 0xfd, 0x62, 0x3f, 0xd8, 0x7f,
+ 0x02, 0xbd, 0xbe, 0xfb, 0x82, 0x3f, 0x6f, 0xb9, 0x94, 0xe4, 0x55, 0xd3, 0xf5, 0xe8, 0x83, 0xa5,
+ 0x48, 0xfe, 0x8f, 0x08, 0xa7, 0x6d, 0x98, 0x3b, 0x96, 0x43, 0xbc, 0x83, 0x48, 0x8e, 0x36, 0x09,
+ 0x8c, 0xac, 0x5e, 0x57, 0x7b, 0xf5, 0xf2, 0xba, 0x4e, 0x60, 0xb5, 0x49, 0xaa, 0xc3, 0xff, 0x7c,
+ 0x58, 0x07, 0xdf, 0xdc, 0x21, 0x6d, 0x23, 0xd9, 0xaf, 0xfe, 0xaf, 0x1a, 0xcc, 0x34, 0x56, 0x37,
+ 0xd6, 0x17, 0x5d, 0xc7, 0xef, 0xb6, 0xc9, 0xa2, 0xeb, 0x6c, 0x5b, 0x2d, 0xf4, 0x69, 0xa8, 0x9a,
+ 0xbc, 0xc1, 0xdb, 0x34, 0x5a, 0x35, 0xed, 0x92, 0x76, 0xa5, 0xb2, 0x70, 0xee, 0xc7, 0x0f, 0xe6,
+ 0x1e, 0x3b, 0x7c, 0x30, 0x57, 0x5d, 0x8c, 0x40, 0x58, 0xc5, 0x43, 0xcf, 0xc2, 0x98, 0xd1, 0x0d,
+ 0xdc, 0x86, 0xb9, 0x5b, 0x1b, 0xb9, 0xa4, 0x5d, 0x29, 0x2f, 0x4c, 0x89, 0x2e, 0x63, 0x0d, 0xde,
+ 0x8c, 0x43, 0x38, 0xba, 0x0a, 0x15, 0x72, 0xcf, 0xb4, 0xbb, 0xbe, 0xb5, 0x4f, 0x6a, 0x05, 0x86,
+ 0x3c, 0x23, 0x90, 0x2b, 0xd7, 0x43, 0x00, 0x8e, 0x70, 0x28, 0x6d, 0xc7, 0x5d, 0x71, 0x4d, 0xc3,
+ 0xae, 0x15, 0xe3, 0xb4, 0xd7, 0x78, 0x33, 0x0e, 0xe1, 0xe8, 0x32, 0x94, 0x1c, 0xf7, 0x35, 0xc3,
+ 0x0a, 0x6a, 0xa3, 0x0c, 0x73, 0x52, 0x60, 0x96, 0xd6, 0x58, 0x2b, 0x16, 0xd0, 0xfa, 0x3f, 0x57,
+ 0x61, 0x8a, 0x3e, 0xfb, 0x75, 0xaa, 0x1c, 0x3a, 0xd3, 0x25, 0xf4, 0x34, 0x14, 0xba, 0x9e, 0x2d,
+ 0x9e, 0xb8, 0x2a, 0x3a, 0x16, 0xee, 0xe2, 0x15, 0x4c, 0xdb, 0xd1, 0x0b, 0x30, 0x4e, 0xee, 0x99,
+ 0x3b, 0x86, 0xd3, 0x22, 0x6b, 0x46, 0x9b, 0xb0, 0xc7, 0xac, 0x2c, 0x9c, 0x17, 0x78, 0xe3, 0xd7,
+ 0x15, 0x18, 0x8e, 0x61, 0xaa, 0x3d, 0x37, 0x0f, 0x3a, 0xfc, 0x99, 0x33, 0x7a, 0x52, 0x18, 0x8e,
+ 0x61, 0xa2, 0x6b, 0x00, 0x9e, 0xdb, 0x0d, 0x2c, 0xa7, 0x75, 0x9b, 0x1c, 0xb0, 0x87, 0xaf, 0x2c,
+ 0x20, 0xd1, 0x0f, 0xb0, 0x84, 0x60, 0x05, 0x0b, 0xfd, 0x6f, 0x98, 0x31, 0x5d, 0xc7, 0x21, 0x66,
+ 0x60, 0xb9, 0xce, 0x82, 0x61, 0xee, 0xba, 0xdb, 0xdb, 0x6c, 0x34, 0xaa, 0xd7, 0x5e, 0x98, 0x3f,
+ 0xf6, 0x24, 0xe3, 0xb3, 0x64, 0x5e, 0xf4, 0x5f, 0x78, 0xfc, 0xf0, 0xc1, 0xdc, 0xcc, 0x62, 0x92,
+ 0x2c, 0x4e, 0x73, 0x42, 0xcf, 0x41, 0xf9, 0xcb, 0xbe, 0xeb, 0x2c, 0xb8, 0xcd, 0x83, 0x5a, 0x89,
+ 0xbd, 0x83, 0x69, 0x21, 0x70, 0xf9, 0x15, 0xfd, 0xce, 0x1a, 0x6d, 0xc7, 0x12, 0x03, 0xdd, 0x85,
+ 0x42, 0x60, 0xfb, 0xb5, 0x31, 0x26, 0xde, 0x8b, 0x7d, 0x8b, 0xb7, 0xb9, 0xa2, 0x73, 0xb5, 0x5d,
+ 0x18, 0xa3, 0xef, 0x6a, 0x73, 0x45, 0xc7, 0x94, 0x1e, 0x7a, 0x4f, 0x83, 0x32, 0x9d, 0x5f, 0x4d,
+ 0x23, 0x30, 0x6a, 0xe5, 0x4b, 0x85, 0x2b, 0xd5, 0x6b, 0x5f, 0x9c, 0x1f, 0xc8, 0xc0, 0xcc, 0x27,
+ 0xb4, 0x65, 0x7e, 0x55, 0x90, 0xbf, 0xee, 0x04, 0xde, 0x41, 0xf4, 0x8c, 0x61, 0x33, 0x96, 0xfc,
+ 0xd1, 0x6f, 0x69, 0x30, 0x15, 0xbe, 0xd5, 0x25, 0x62, 0xda, 0x86, 0x47, 0x6a, 0x15, 0xf6, 0xc0,
+ 0xaf, 0xe7, 0x21, 0x53, 0x9c, 0xb2, 0x18, 0x8e, 0x73, 0x87, 0x0f, 0xe6, 0xa6, 0x12, 0x20, 0x9c,
+ 0x94, 0x02, 0xbd, 0xaf, 0xc1, 0xf8, 0x5e, 0x97, 0x74, 0xa5, 0x58, 0xc0, 0xc4, 0xba, 0x9b, 0x83,
+ 0x58, 0x1b, 0x0a, 0x59, 0x21, 0xd3, 0x34, 0x55, 0x76, 0xb5, 0x1d, 0xc7, 0x98, 0xa3, 0xaf, 0x42,
+ 0x85, 0xfd, 0x5e, 0xb0, 0x9c, 0x66, 0xad, 0xca, 0x24, 0xc1, 0x79, 0x49, 0x42, 0x69, 0x0a, 0x31,
+ 0x26, 0xa8, 0x9d, 0x91, 0x8d, 0x38, 0xe2, 0x89, 0xde, 0x85, 0x31, 0x61, 0xd2, 0x6a, 0xe3, 0x8c,
+ 0xfd, 0x7a, 0x0e, 0xec, 0x63, 0xd6, 0x75, 0xa1, 0x4a, 0xad, 0x96, 0x68, 0xc2, 0x21, 0x37, 0xf4,
+ 0x3a, 0x14, 0x8d, 0x6e, 0xb0, 0x53, 0x9b, 0x38, 0xe1, 0x34, 0x58, 0x30, 0x7c, 0xcb, 0x6c, 0x74,
+ 0x83, 0x9d, 0x85, 0xf2, 0xe1, 0x83, 0xb9, 0x22, 0xfd, 0x0f, 0x33, 0x8a, 0x08, 0x43, 0xa5, 0xeb,
+ 0xd9, 0x3a, 0x31, 0x3d, 0x12, 0xd4, 0x26, 0x19, 0xf9, 0x4f, 0xce, 0xf3, 0xf5, 0x82, 0x52, 0x98,
+ 0xa7, 0x4b, 0xd7, 0xfc, 0xfe, 0xf3, 0xf3, 0x1c, 0xe3, 0x36, 0x39, 0xd0, 0x89, 0x4d, 0xcc, 0xc0,
+ 0xf5, 0xf8, 0x30, 0xdd, 0xc5, 0x2b, 0x1c, 0x82, 0x23, 0x32, 0x28, 0x80, 0xd2, 0xb6, 0x65, 0x07,
+ 0xc4, 0xab, 0x4d, 0xe5, 0x32, 0x4a, 0xca, 0xac, 0xba, 0xc1, 0xe8, 0x2e, 0x00, 0xb5, 0xd8, 0xfc,
+ 0x7f, 0x2c, 0x78, 0xcd, 0xbe, 0x04, 0x13, 0xb1, 0x29, 0x87, 0xa6, 0xa1, 0xb0, 0x4b, 0x0e, 0xb8,
+ 0xb9, 0xc6, 0xf4, 0x5f, 0x74, 0x1e, 0x46, 0xf7, 0x0d, 0xbb, 0x2b, 0x4c, 0x33, 0xe6, 0x3f, 0x5e,
+ 0x1c, 0x79, 0x41, 0xab, 0xff, 0x44, 0x83, 0x27, 0x7b, 0x4e, 0x16, 0xba, 0xbe, 0x34, 0xbb, 0x9e,
+ 0xb1, 0x65, 0x13, 0x46, 0x4d, 0x59, 0x5f, 0x96, 0x78, 0x33, 0x0e, 0xe1, 0xd4, 0x20, 0xd3, 0x65,
+ 0x6c, 0x89, 0xd8, 0x24, 0x20, 0x62, 0xa5, 0x93, 0x06, 0xb9, 0x21, 0x21, 0x58, 0xc1, 0xa2, 0x16,
+ 0xd1, 0x72, 0x02, 0xe2, 0x39, 0x86, 0x2d, 0x96, 0x3b, 0x69, 0x2d, 0x96, 0x45, 0x3b, 0x96, 0x18,
+ 0xca, 0x0a, 0x56, 0x3c, 0x72, 0x05, 0xfb, 0x1c, 0x9c, 0xcb, 0xd0, 0x6e, 0xa5, 0xbb, 0x76, 0x64,
+ 0xf7, 0xdf, 0x1f, 0x81, 0x0b, 0xd9, 0xf3, 0x14, 0x5d, 0x82, 0xa2, 0x43, 0x17, 0x38, 0xbe, 0x10,
+ 0x8e, 0x0b, 0x02, 0x45, 0xb6, 0xb0, 0x31, 0x88, 0x3a, 0x60, 0x23, 0x7d, 0x0d, 0x58, 0xe1, 0x58,
+ 0x03, 0x16, 0x73, 0x10, 0x8a, 0xc7, 0x70, 0x10, 0x8e, 0xb9, 0xea, 0x53, 0xc2, 0x86, 0xd7, 0xea,
+ 0xb6, 0xa9, 0x12, 0xb2, 0xc5, 0xa9, 0x12, 0x11, 0x6e, 0x84, 0x00, 0x1c, 0xe1, 0xd4, 0xdf, 0x1b,
+ 0x85, 0x27, 0x1b, 0xf7, 0xbb, 0x1e, 0x61, 0x3a, 0xea, 0xdf, 0xea, 0x6e, 0xa9, 0x0e, 0xc3, 0x25,
+ 0x28, 0x6e, 0xef, 0x35, 0x9d, 0xe4, 0x40, 0xdd, 0xd8, 0x58, 0x5a, 0xc3, 0x0c, 0x82, 0x3a, 0x70,
+ 0xce, 0xdf, 0x31, 0x3c, 0xd2, 0x6c, 0x98, 0x26, 0xf1, 0xfd, 0xdb, 0xe4, 0x40, 0xba, 0x0e, 0xc7,
+ 0x9e, 0x88, 0x4f, 0x1c, 0x3e, 0x98, 0x3b, 0xa7, 0xa7, 0xa9, 0xe0, 0x2c, 0xd2, 0xa8, 0x09, 0x53,
+ 0x89, 0x66, 0x36, 0xe8, 0xc7, 0xe6, 0xc6, 0x16, 0x8e, 0x04, 0x37, 0x9c, 0x24, 0x49, 0x15, 0x60,
+ 0xa7, 0xbb, 0xc5, 0x9e, 0x85, 0x3b, 0x25, 0x52, 0x01, 0x6e, 0xf1, 0x66, 0x1c, 0xc2, 0xd1, 0x6f,
+ 0xa8, 0x4b, 0xf1, 0x28, 0x5b, 0x8a, 0xb7, 0x07, 0x35, 0xab, 0xbd, 0xde, 0x48, 0x1f, 0x8b, 0x72,
+ 0x64, 0xc4, 0x4a, 0x8f, 0x8a, 0x11, 0xfb, 0xf9, 0x28, 0x3c, 0xc5, 0x1e, 0x9d, 0xcd, 0x59, 0x3d,
+ 0x70, 0x3d, 0xa3, 0x45, 0x54, 0x7d, 0x7c, 0x05, 0x90, 0xcf, 0x5b, 0x1b, 0xa6, 0xe9, 0x76, 0x9d,
+ 0x60, 0x2d, 0x9a, 0xc6, 0xb3, 0x62, 0x2c, 0x90, 0x9e, 0xc2, 0xc0, 0x19, 0xbd, 0x50, 0x0b, 0xa6,
+ 0x23, 0xdf, 0x4e, 0x0f, 0x3c, 0xcb, 0x69, 0xf5, 0xa7, 0xb6, 0xe7, 0x0f, 0x1f, 0xcc, 0x4d, 0x2f,
+ 0x26, 0x48, 0xe0, 0x14, 0x51, 0x3a, 0x27, 0xd9, 0x0a, 0xcc, 0x64, 0x2d, 0xc4, 0xe7, 0xe4, 0x46,
+ 0x08, 0xc0, 0x11, 0x4e, 0xcc, 0xc1, 0x2c, 0x3e, 0xd4, 0xc1, 0x7c, 0x1a, 0x0a, 0x4d, 0x7b, 0x4f,
+ 0xd8, 0x05, 0xe9, 0xd4, 0x2f, 0xad, 0x6c, 0x60, 0xda, 0x4e, 0x7d, 0xb3, 0x48, 0x3b, 0x4b, 0x4c,
+ 0x3b, 0xad, 0x3c, 0xb4, 0xb3, 0xc7, 0x2b, 0x3a, 0x91, 0x82, 0x8e, 0x9d, 0x9e, 0x82, 0xa2, 0x97,
+ 0x60, 0xa2, 0x49, 0x4c, 0xb7, 0x49, 0x56, 0x89, 0xef, 0x1b, 0x2d, 0x52, 0x2b, 0xb3, 0x81, 0x7b,
+ 0x5c, 0x08, 0x3a, 0xb1, 0xa4, 0x02, 0x71, 0x1c, 0x77, 0x30, 0xed, 0xfe, 0x69, 0x09, 0x66, 0xd9,
+ 0xd0, 0xe9, 0xc4, 0xdb, 0xb7, 0x4c, 0xb2, 0xd0, 0xf5, 0x55, 0xdd, 0xce, 0xd2, 0x47, 0x6d, 0xe8,
+ 0xfa, 0x38, 0x72, 0x0c, 0x7d, 0xbc, 0x0a, 0x95, 0xc0, 0xed, 0x58, 0x66, 0x96, 0x02, 0x6f, 0x86,
+ 0x00, 0x1c, 0xe1, 0xa0, 0x25, 0x98, 0xf6, 0xbb, 0x5b, 0xbe, 0xe9, 0x59, 0x1d, 0xca, 0x57, 0xb1,
+ 0xa2, 0x35, 0xd1, 0x6f, 0x5a, 0x4f, 0xc0, 0x71, 0xaa, 0x47, 0xb8, 0x73, 0x1a, 0xcd, 0x79, 0xe7,
+ 0xd4, 0xdf, 0xf6, 0xed, 0x7b, 0xea, 0xf4, 0x19, 0x63, 0xd3, 0xa7, 0x95, 0xc7, 0xf4, 0xc9, 0xd4,
+ 0x81, 0x13, 0x4d, 0x9e, 0xf2, 0x29, 0x4e, 0x9e, 0x37, 0xe0, 0x89, 0xed, 0xae, 0x6d, 0x1f, 0x6c,
+ 0x74, 0x0d, 0xdb, 0xda, 0xb6, 0x48, 0x93, 0xbe, 0x28, 0xbf, 0x63, 0x98, 0x7c, 0xbf, 0x57, 0x59,
+ 0x98, 0x13, 0x22, 0x3f, 0x71, 0x23, 0x1b, 0x0d, 0xf7, 0xea, 0x3f, 0xd8, 0xd4, 0xfa, 0x99, 0x06,
+ 0x13, 0x0b, 0x56, 0xb0, 0xd5, 0x35, 0x77, 0x49, 0x40, 0x37, 0x07, 0xc8, 0x83, 0xd1, 0x2d, 0xba,
+ 0x67, 0x10, 0x53, 0x68, 0x63, 0xc0, 0xe1, 0x91, 0xc4, 0xa3, 0x8d, 0x48, 0xe5, 0xf0, 0xc1, 0xdc,
+ 0x28, 0xfb, 0x89, 0x39, 0x2b, 0x74, 0x17, 0xc0, 0xa5, 0x7b, 0x92, 0x4d, 0x77, 0x97, 0x38, 0xfd,
+ 0xad, 0x25, 0x93, 0xd4, 0x59, 0xbc, 0xd3, 0x08, 0x3b, 0x63, 0x85, 0x50, 0xfd, 0x47, 0x1a, 0xa0,
+ 0x34, 0x7f, 0x74, 0x07, 0xca, 0x5d, 0x9f, 0x7a, 0xd4, 0x62, 0x05, 0x3c, 0x36, 0xaf, 0x71, 0xaa,
+ 0x52, 0x77, 0x45, 0x57, 0x2c, 0x89, 0x50, 0x82, 0x1d, 0xc3, 0xf7, 0xdf, 0x75, 0xbd, 0x66, 0x7f,
+ 0xc2, 0x33, 0x82, 0xeb, 0xa2, 0x2b, 0x96, 0x44, 0xea, 0xbf, 0x1a, 0x83, 0xf3, 0x52, 0xf0, 0xc4,
+ 0x32, 0xde, 0x64, 0x8e, 0xf0, 0x2d, 0xd7, 0xdd, 0xbd, 0xe3, 0xdc, 0xb0, 0x1c, 0xcb, 0xdf, 0x11,
+ 0xee, 0xbc, 0x5c, 0xc6, 0x97, 0x52, 0x18, 0x38, 0xa3, 0x17, 0xfa, 0x8e, 0x3a, 0x41, 0x47, 0xd8,
+ 0x04, 0x35, 0xf2, 0x7a, 0xd9, 0x27, 0x9d, 0x9a, 0x63, 0xef, 0x92, 0xad, 0x1d, 0xd7, 0xdd, 0x15,
+ 0x8e, 0xe9, 0xea, 0x80, 0xf2, 0xbc, 0xc6, 0xa9, 0x2d, 0xba, 0x4e, 0x40, 0xee, 0x05, 0x7c, 0x87,
+ 0x2d, 0xda, 0x70, 0xc8, 0x0a, 0x7d, 0x59, 0xec, 0xb0, 0x8b, 0x8c, 0xe5, 0x4a, 0x5e, 0x43, 0x90,
+ 0xb9, 0xe7, 0xae, 0x43, 0x89, 0xf7, 0x62, 0xee, 0x6e, 0x85, 0x9b, 0x0a, 0xee, 0xae, 0x62, 0x01,
+ 0x41, 0x9f, 0x82, 0x51, 0xf7, 0x5d, 0x47, 0x78, 0x9f, 0x95, 0x85, 0x27, 0xc4, 0x80, 0x4d, 0x2d,
+ 0x91, 0x8e, 0x47, 0x4c, 0x23, 0x20, 0xcd, 0x3b, 0x14, 0x8c, 0x39, 0x16, 0xfa, 0x5f, 0x00, 0x54,
+ 0x44, 0x62, 0x52, 0xcd, 0x62, 0x0e, 0x41, 0x65, 0xe1, 0x29, 0xd1, 0xe7, 0x7c, 0xd4, 0x67, 0x5d,
+ 0xe2, 0x60, 0x05, 0x1f, 0xdd, 0x82, 0x49, 0x8f, 0x74, 0x5c, 0xdf, 0x0a, 0x5c, 0xef, 0x40, 0xb7,
+ 0xbb, 0x2d, 0x66, 0x15, 0x2b, 0x0b, 0x97, 0x04, 0x85, 0x5a, 0x44, 0x01, 0xc7, 0xf0, 0x70, 0xa2,
+ 0x1f, 0xfa, 0x40, 0x83, 0x71, 0xd9, 0x64, 0x11, 0xbf, 0x56, 0x61, 0x2a, 0x85, 0xf3, 0x1a, 0xcf,
+ 0x88, 0x7d, 0x14, 0x1e, 0xc5, 0x0a, 0x3f, 0x1c, 0xe3, 0xae, 0x98, 0x79, 0x78, 0x54, 0x9c, 0xf8,
+ 0xfb, 0x70, 0x2e, 0xe3, 0x69, 0xd1, 0x33, 0xa1, 0x3e, 0x70, 0x6f, 0x7d, 0x42, 0x3c, 0xfc, 0x68,
+ 0x4c, 0x0b, 0x5e, 0x4e, 0xbd, 0x47, 0xee, 0x9f, 0x5c, 0x10, 0xd8, 0x93, 0x47, 0xbf, 0xbd, 0xfa,
+ 0xdf, 0x57, 0x60, 0x56, 0x32, 0xa7, 0x4b, 0x2c, 0xf1, 0x54, 0xbb, 0xa3, 0xcc, 0x4c, 0xed, 0xf4,
+ 0x66, 0x66, 0x5c, 0xb5, 0x47, 0x06, 0x56, 0xed, 0xc2, 0x09, 0x55, 0xfb, 0xff, 0x25, 0x55, 0xbb,
+ 0xc8, 0x54, 0xfb, 0xf5, 0xbc, 0x54, 0x9b, 0x8f, 0x77, 0x9f, 0x0a, 0x7e, 0x1c, 0x53, 0xf2, 0x3a,
+ 0x54, 0x0d, 0xb6, 0x31, 0xe7, 0x0b, 0x6b, 0xa9, 0x9f, 0xb5, 0x69, 0xea, 0xf0, 0xc1, 0x5c, 0xb5,
+ 0x11, 0xf5, 0xc6, 0x2a, 0x29, 0xf4, 0x36, 0x4c, 0x88, 0xb7, 0x24, 0x02, 0x88, 0x63, 0xfd, 0xd0,
+ 0x9e, 0xa1, 0xfb, 0x85, 0xd7, 0xd4, 0xfe, 0x38, 0x4e, 0x0e, 0xbd, 0x0a, 0x17, 0xb6, 0xc2, 0xe1,
+ 0xf1, 0xd9, 0xf0, 0x2c, 0x18, 0x3e, 0xb9, 0x8b, 0x57, 0x84, 0x7d, 0xba, 0x28, 0x46, 0xe8, 0x42,
+ 0x62, 0x10, 0x05, 0x16, 0xee, 0xd1, 0xbb, 0xc7, 0x02, 0x5a, 0x39, 0xd1, 0x02, 0x1a, 0xf3, 0x70,
+ 0x21, 0x17, 0x0f, 0xb7, 0xf7, 0x14, 0x3c, 0x91, 0x87, 0x5b, 0x3d, 0x45, 0x0f, 0x57, 0x6c, 0x3a,
+ 0xc6, 0xf3, 0xdd, 0x74, 0x0c, 0x66, 0x51, 0xbf, 0xa3, 0xc1, 0x93, 0x3d, 0x67, 0x19, 0xba, 0x16,
+ 0x33, 0x2f, 0x5a, 0xfc, 0x04, 0xad, 0x87, 0x51, 0x19, 0xd4, 0xce, 0xfe, 0xc1, 0x28, 0x9c, 0x5b,
+ 0x34, 0x6c, 0xe2, 0x34, 0x8d, 0x98, 0x81, 0x7d, 0x0e, 0xca, 0xbe, 0xb9, 0x43, 0x9a, 0x5d, 0x3b,
+ 0x8c, 0xca, 0xc8, 0x37, 0xac, 0x8b, 0x76, 0x2c, 0x31, 0x64, 0xd8, 0x78, 0xdf, 0xb0, 0x05, 0xff,
+ 0x78, 0xd8, 0x78, 0x5f, 0x86, 0x8d, 0xf7, 0x0d, 0x1b, 0xbd, 0x08, 0x93, 0x22, 0x1e, 0xea, 0x3a,
+ 0x4b, 0x46, 0x40, 0xfc, 0x5a, 0x81, 0x59, 0x0c, 0x44, 0xe5, 0xbd, 0x1e, 0x83, 0xe0, 0x04, 0x26,
+ 0xe5, 0x14, 0x58, 0x6d, 0x72, 0xdf, 0x75, 0xc2, 0x8d, 0xa8, 0xe4, 0xb4, 0x29, 0xda, 0xb1, 0xc4,
+ 0x40, 0xdf, 0x4e, 0x07, 0xf4, 0xbe, 0x34, 0xa0, 0xf2, 0x65, 0x0c, 0x56, 0x1f, 0x53, 0xe1, 0xeb,
+ 0x1a, 0x54, 0x3b, 0xc4, 0xf3, 0x2d, 0x3f, 0x20, 0x8e, 0x49, 0x84, 0x05, 0xbc, 0x93, 0xc7, 0x84,
+ 0x58, 0x8f, 0xc8, 0x72, 0x5b, 0xa9, 0x34, 0x60, 0x95, 0xe9, 0xd9, 0xec, 0x38, 0x07, 0x9b, 0x38,
+ 0xf7, 0xe0, 0xfc, 0xa2, 0x11, 0x98, 0x3b, 0xdd, 0x0e, 0x9f, 0x94, 0x5d, 0xcf, 0x08, 0x2c, 0xd7,
+ 0x41, 0xcf, 0xc2, 0x18, 0x71, 0x8c, 0x2d, 0x9b, 0x34, 0x93, 0xc7, 0x21, 0xd7, 0x79, 0x33, 0x0e,
+ 0xe1, 0xe8, 0xd3, 0x50, 0x6d, 0x1b, 0xf7, 0x96, 0x44, 0x4f, 0xa1, 0xa6, 0x32, 0x59, 0x60, 0x35,
+ 0x02, 0x61, 0x15, 0xaf, 0xfe, 0x15, 0x38, 0xcf, 0x59, 0xae, 0x1a, 0x1d, 0x65, 0x44, 0x8f, 0x71,
+ 0xf2, 0xb0, 0x04, 0xd3, 0xa6, 0x47, 0x8c, 0x80, 0x2c, 0x6f, 0xaf, 0xb9, 0xc1, 0xf5, 0x7b, 0x96,
+ 0x1f, 0x88, 0x23, 0x08, 0x19, 0x3b, 0x59, 0x4c, 0xc0, 0x71, 0xaa, 0x47, 0xfd, 0xbb, 0x63, 0x80,
+ 0xae, 0xb7, 0xad, 0x20, 0x88, 0x3b, 0x40, 0x97, 0xa1, 0xb4, 0xe5, 0xb9, 0xbb, 0xd2, 0x0b, 0x93,
+ 0xc7, 0x08, 0x0b, 0xac, 0x15, 0x0b, 0x28, 0xb5, 0x29, 0xe6, 0x8e, 0xe1, 0x38, 0xc4, 0x8e, 0x5c,
+ 0x16, 0x69, 0x53, 0x16, 0x25, 0x04, 0x2b, 0x58, 0x2c, 0xad, 0x82, 0xff, 0x52, 0xe2, 0x44, 0x51,
+ 0x5a, 0x45, 0x04, 0xc2, 0x2a, 0x5e, 0x6c, 0x1b, 0x5b, 0xcc, 0x7b, 0x1b, 0x3b, 0x9a, 0xc3, 0x36,
+ 0x36, 0x3b, 0xdd, 0xa0, 0x74, 0x26, 0xe9, 0x06, 0x63, 0xc7, 0x4d, 0x37, 0x28, 0xe7, 0x1c, 0x34,
+ 0xfb, 0x50, 0x35, 0x89, 0x7c, 0x4b, 0xf4, 0xce, 0xa0, 0xf3, 0x3f, 0xa5, 0x9e, 0x27, 0x72, 0x0e,
+ 0x1e, 0x99, 0x7d, 0xd1, 0x47, 0x23, 0x30, 0x9d, 0x34, 0xb9, 0xe8, 0x3e, 0x8c, 0x99, 0xdc, 0x42,
+ 0x89, 0x1d, 0x89, 0x3e, 0xf0, 0x42, 0x93, 0xb6, 0x77, 0xe2, 0x4c, 0x9e, 0x43, 0x70, 0xc8, 0x10,
+ 0x7d, 0x4d, 0x83, 0x8a, 0x19, 0x1a, 0x29, 0x11, 0xf1, 0x19, 0x98, 0x7d, 0x86, 0xd1, 0xe3, 0x07,
+ 0xed, 0x12, 0x82, 0x23, 0xa6, 0xf5, 0x9f, 0x8f, 0x40, 0x55, 0xb5, 0x4f, 0x5f, 0x52, 0xb4, 0x8c,
+ 0x8f, 0xc7, 0x7f, 0x53, 0xe6, 0xae, 0xcc, 0xfd, 0x8a, 0x84, 0xa0, 0xd8, 0x74, 0x36, 0xdf, 0xd9,
+ 0xa2, 0xae, 0x0d, 0x7d, 0x39, 0x91, 0x9d, 0x8a, 0xda, 0x14, 0xc5, 0xe9, 0x40, 0xd1, 0xef, 0x10,
+ 0x53, 0x3c, 0xee, 0x5a, 0x7e, 0x6a, 0xa3, 0x77, 0x88, 0x19, 0x19, 0x74, 0xfa, 0x0b, 0x33, 0x4e,
+ 0xe8, 0x1e, 0x94, 0xfc, 0xc0, 0x08, 0xba, 0xbe, 0x88, 0x06, 0xe5, 0xa8, 0xaa, 0x3a, 0xa3, 0x1b,
+ 0x59, 0x71, 0xfe, 0x1b, 0x0b, 0x7e, 0xf5, 0x9b, 0x30, 0x93, 0xd2, 0x6b, 0x6a, 0xda, 0xc9, 0xbd,
+ 0x8e, 0x47, 0x7c, 0xea, 0x1d, 0x25, 0xdd, 0xc5, 0xeb, 0x12, 0x82, 0x15, 0xac, 0xfa, 0x2f, 0x34,
+ 0x98, 0x52, 0x28, 0xad, 0x58, 0x7e, 0x80, 0xbe, 0x98, 0x7a, 0x55, 0xf3, 0xc7, 0x7b, 0x55, 0xb4,
+ 0x37, 0x7b, 0x51, 0x72, 0x7e, 0x87, 0x2d, 0xca, 0x6b, 0x72, 0x61, 0xd4, 0x0a, 0x48, 0xdb, 0x17,
+ 0x11, 0xbd, 0x57, 0xf2, 0x1b, 0xb3, 0x28, 0xf2, 0xb0, 0x4c, 0x19, 0x60, 0xce, 0xa7, 0xfe, 0x17,
+ 0xb7, 0x62, 0x8f, 0x48, 0xdf, 0x1f, 0xcb, 0x6a, 0xa3, 0x4d, 0x0b, 0x5d, 0x5f, 0x39, 0x67, 0x8c,
+ 0xb2, 0xda, 0x14, 0x18, 0x8e, 0x61, 0xa2, 0x3d, 0x28, 0x07, 0xa4, 0xdd, 0xb1, 0x8d, 0x20, 0x3c,
+ 0x0a, 0xbf, 0x39, 0xe0, 0x13, 0x6c, 0x0a, 0x72, 0x7c, 0x95, 0x0a, 0x7f, 0x61, 0xc9, 0x06, 0xb5,
+ 0x61, 0xcc, 0xe7, 0x67, 0x0a, 0x42, 0xcf, 0x6e, 0x0c, 0xc8, 0x31, 0x3c, 0xa1, 0x60, 0xc6, 0x43,
+ 0xfc, 0xc0, 0x21, 0x0f, 0xf4, 0x15, 0x18, 0x6d, 0x5b, 0x8e, 0xe5, 0x8a, 0x20, 0xc2, 0x1b, 0xf9,
+ 0x4e, 0xa4, 0xf9, 0x55, 0x4a, 0x9b, 0x2f, 0x03, 0xf2, 0x7d, 0xb1, 0x36, 0xcc, 0xd9, 0xb2, 0xfc,
+ 0x37, 0x53, 0x38, 0xd5, 0xc2, 0x47, 0xff, 0x62, 0xce, 0x32, 0x48, 0x9f, 0x3d, 0xbe, 0x1a, 0x85,
+ 0xcd, 0x58, 0xf2, 0x47, 0xf7, 0xa1, 0xb8, 0x6d, 0xd9, 0x44, 0x1c, 0xaf, 0xbe, 0x9e, 0xb3, 0x1c,
+ 0x37, 0x2c, 0x9b, 0x70, 0x19, 0xa2, 0x04, 0x0c, 0xcb, 0x26, 0x98, 0xf1, 0x64, 0x03, 0xe1, 0x11,
+ 0x4e, 0x43, 0x1c, 0x50, 0xe5, 0x3d, 0x10, 0x58, 0x90, 0x4f, 0x0c, 0x44, 0xd8, 0x8c, 0x25, 0x7f,
+ 0xf4, 0x7f, 0xb4, 0x28, 0xc2, 0xc6, 0x93, 0x12, 0xdf, 0xcc, 0x59, 0x16, 0x11, 0x6e, 0xe1, 0xa2,
+ 0x48, 0xb7, 0x3d, 0x15, 0x73, 0xbb, 0x0f, 0x45, 0xa3, 0xbd, 0xd7, 0x11, 0xae, 0x4a, 0xde, 0x6f,
+ 0xa4, 0xd1, 0xde, 0xeb, 0x24, 0xde, 0x48, 0x63, 0x75, 0x63, 0x1d, 0x33, 0x9e, 0x74, 0x6a, 0xec,
+ 0x1a, 0xdb, 0xbb, 0x61, 0x30, 0x25, 0xef, 0xa9, 0x71, 0x9b, 0xd2, 0x4e, 0x4c, 0x0d, 0xd6, 0x86,
+ 0x39, 0x5b, 0xfa, 0xec, 0xed, 0xbd, 0x20, 0xa8, 0x55, 0x87, 0xf2, 0xec, 0xab, 0x7b, 0x41, 0x90,
+ 0x78, 0xf6, 0xd5, 0x8d, 0xcd, 0x4d, 0xcc, 0x78, 0x52, 0xde, 0x8e, 0x11, 0xf8, 0xb5, 0xf1, 0xa1,
+ 0xf0, 0x5e, 0x33, 0x02, 0x3f, 0xc1, 0x7b, 0xad, 0xb1, 0xa9, 0x63, 0xc6, 0x13, 0xed, 0x43, 0xc1,
+ 0x77, 0xfc, 0xda, 0x04, 0x63, 0xfd, 0x5a, 0xce, 0xac, 0x75, 0x47, 0x70, 0x96, 0x19, 0x16, 0xfa,
+ 0x9a, 0x8e, 0x29, 0x43, 0xc6, 0x77, 0xcf, 0xaf, 0x4d, 0x0e, 0x87, 0xef, 0x5e, 0x8a, 0xef, 0x06,
+ 0xe5, 0xbb, 0xe7, 0xa3, 0xaf, 0x6b, 0x50, 0xea, 0x74, 0xb7, 0xf4, 0xee, 0x56, 0x6d, 0x8a, 0xf1,
+ 0xfe, 0x42, 0xce, 0xbc, 0xd7, 0x19, 0x71, 0xce, 0x5e, 0xfa, 0x18, 0xbc, 0x11, 0x0b, 0xce, 0x4c,
+ 0x08, 0xce, 0xb5, 0x36, 0x3d, 0x14, 0x21, 0x6e, 0x32, 0x6a, 0x09, 0x21, 0x78, 0x23, 0x16, 0x9c,
+ 0x43, 0x21, 0x6c, 0x63, 0xab, 0x36, 0x33, 0x2c, 0x21, 0x6c, 0x23, 0x43, 0x08, 0xdb, 0xe0, 0x42,
+ 0xd8, 0xc6, 0x16, 0x55, 0xfd, 0x9d, 0xe6, 0xb6, 0x5f, 0x43, 0x43, 0x51, 0xfd, 0x5b, 0xcd, 0xed,
+ 0xa4, 0xea, 0xdf, 0x5a, 0xba, 0xa1, 0x63, 0xc6, 0x93, 0x9a, 0x1c, 0xdf, 0x36, 0xcc, 0xdd, 0xda,
+ 0xb9, 0xa1, 0x98, 0x1c, 0x9d, 0xd2, 0x4e, 0x98, 0x1c, 0xd6, 0x86, 0x39, 0x5b, 0xf4, 0x9b, 0x1a,
+ 0x54, 0x45, 0x8a, 0xd5, 0x4d, 0xcf, 0x6a, 0xd6, 0xce, 0xe7, 0xb3, 0x43, 0x4c, 0x8a, 0x11, 0x71,
+ 0xe0, 0xc2, 0xc8, 0xe8, 0x82, 0x02, 0xc1, 0xaa, 0x20, 0xe8, 0xf7, 0x34, 0x98, 0x34, 0x62, 0xc9,
+ 0x74, 0xb5, 0xc7, 0x99, 0x6c, 0x5b, 0x79, 0x2f, 0x09, 0xf1, 0x8c, 0x3d, 0x26, 0x9e, 0x8c, 0xa6,
+ 0xc6, 0x81, 0x38, 0x21, 0x11, 0x53, 0x5f, 0x3f, 0xf0, 0xac, 0x0e, 0xa9, 0x5d, 0x18, 0x8a, 0xfa,
+ 0xea, 0x8c, 0x78, 0x42, 0x7d, 0x79, 0x23, 0x16, 0x9c, 0xd9, 0xd2, 0x4d, 0xf8, 0x96, 0xbc, 0xf6,
+ 0xc4, 0x50, 0x96, 0xee, 0x70, 0xc3, 0x1f, 0x5f, 0xba, 0x45, 0x2b, 0x0e, 0x99, 0x53, 0x5d, 0xf6,
+ 0x48, 0xd3, 0xf2, 0x6b, 0xb5, 0xa1, 0xe8, 0x32, 0xa6, 0xb4, 0x13, 0xba, 0xcc, 0xda, 0x30, 0x67,
+ 0x4b, 0xcd, 0xb9, 0xe3, 0xef, 0xd5, 0x9e, 0x1c, 0x8a, 0x39, 0x5f, 0xf3, 0xf7, 0x12, 0xe6, 0x7c,
+ 0x4d, 0xdf, 0xc0, 0x94, 0xa1, 0x30, 0xe7, 0xb6, 0x6f, 0x78, 0xb5, 0xd9, 0x21, 0x99, 0x73, 0x4a,
+ 0x3c, 0x65, 0xce, 0x69, 0x23, 0x16, 0x9c, 0x99, 0x16, 0xb0, 0x5b, 0x54, 0x96, 0x59, 0xfb, 0xc4,
+ 0x50, 0xb4, 0xe0, 0x26, 0xa7, 0x9e, 0xd0, 0x02, 0xd1, 0x8a, 0x43, 0xe6, 0xe8, 0x0a, 0xf5, 0x6a,
+ 0x3b, 0xb6, 0x65, 0x1a, 0x7e, 0xed, 0xa9, 0x4b, 0xda, 0x95, 0x51, 0xbe, 0xf1, 0xc1, 0xa2, 0x0d,
+ 0x4b, 0x28, 0xfa, 0xa1, 0x06, 0x53, 0x89, 0x63, 0xb2, 0xda, 0xd3, 0x4c, 0x74, 0x33, 0x67, 0xd1,
+ 0x17, 0xe2, 0x5c, 0xf8, 0x23, 0xc8, 0xc4, 0x86, 0xe4, 0x09, 0x4d, 0x52, 0x28, 0xf4, 0x6d, 0x0d,
+ 0x2a, 0xb2, 0xad, 0x76, 0x91, 0x89, 0xf8, 0xd6, 0xb0, 0x44, 0xe4, 0xc2, 0xc9, 0x34, 0xbd, 0xe8,
+ 0x44, 0x3e, 0x12, 0x81, 0x59, 0x6d, 0xa6, 0xf3, 0x7a, 0xe0, 0x11, 0xa3, 0x5d, 0x9b, 0x1b, 0x8a,
+ 0xd5, 0xc6, 0x11, 0x87, 0x84, 0xd5, 0x56, 0x20, 0x58, 0x15, 0x84, 0xbd, 0x52, 0x23, 0x9e, 0x25,
+ 0x57, 0xbb, 0x34, 0x94, 0x57, 0x9a, 0xcc, 0xc5, 0x8b, 0xbf, 0xd2, 0x04, 0x14, 0x27, 0x85, 0x42,
+ 0x7f, 0xac, 0xc1, 0x8c, 0x91, 0xcc, 0x86, 0xad, 0xfd, 0x27, 0x26, 0x2a, 0x19, 0x86, 0xa8, 0xb1,
+ 0xac, 0x5b, 0x26, 0xec, 0x93, 0x42, 0xd8, 0x99, 0x14, 0x1c, 0xa7, 0x45, 0xa3, 0x4e, 0x8a, 0xbf,
+ 0x1d, 0x74, 0x6a, 0xf5, 0xa1, 0x38, 0x29, 0xfa, 0x76, 0x90, 0xdc, 0x17, 0xe9, 0x37, 0x36, 0xd7,
+ 0x31, 0xe3, 0xc9, 0xbd, 0x34, 0xe2, 0x79, 0x56, 0x50, 0x7b, 0x66, 0x38, 0x5e, 0x1a, 0x23, 0x9e,
+ 0xf4, 0xd2, 0x58, 0x23, 0x16, 0x9c, 0xa9, 0x75, 0x6f, 0x3b, 0x7e, 0xed, 0x3f, 0x0f, 0xc5, 0xba,
+ 0xaf, 0xa6, 0x36, 0x09, 0xab, 0x74, 0x93, 0xd0, 0x76, 0xfc, 0xd9, 0x2e, 0x40, 0x14, 0xd3, 0xc8,
+ 0x88, 0x1b, 0x6f, 0xa8, 0x71, 0xe3, 0xea, 0xb5, 0x97, 0xfa, 0x8e, 0xdc, 0xeb, 0xff, 0xbd, 0xe1,
+ 0x05, 0xd6, 0xb6, 0x61, 0x06, 0x4a, 0xd0, 0x79, 0xf6, 0x3b, 0x1a, 0x4c, 0xc4, 0xe2, 0x18, 0x19,
+ 0xac, 0x77, 0xe2, 0xac, 0x71, 0xfe, 0x47, 0x9d, 0xaa, 0x44, 0xff, 0x57, 0x83, 0x8a, 0x8c, 0x68,
+ 0x64, 0x48, 0xd3, 0x8c, 0x4b, 0x33, 0x68, 0x84, 0x96, 0xb1, 0xca, 0x96, 0x84, 0x8e, 0x4d, 0x2c,
+ 0xb4, 0x31, 0xfc, 0xb1, 0x91, 0xec, 0xb2, 0x25, 0xfa, 0x50, 0x83, 0x71, 0x35, 0xc0, 0x91, 0x21,
+ 0x50, 0x2b, 0x2e, 0xd0, 0x46, 0x3e, 0x09, 0x4c, 0x47, 0xbc, 0x2b, 0x19, 0xeb, 0x18, 0xfe, 0xbb,
+ 0x4a, 0x5c, 0x40, 0x55, 0x25, 0xf9, 0x96, 0x06, 0x10, 0x05, 0x3e, 0x32, 0x44, 0x21, 0x71, 0x51,
+ 0x06, 0x3d, 0x1b, 0xe7, 0xbc, 0x7a, 0x8f, 0x8a, 0x8c, 0x82, 0x0c, 0x7f, 0x54, 0x56, 0x37, 0x36,
+ 0x37, 0x7b, 0x48, 0xf2, 0x4d, 0x0d, 0x2a, 0x32, 0x26, 0x32, 0xfc, 0x41, 0x59, 0x6b, 0x6c, 0xea,
+ 0x7c, 0xd7, 0x92, 0x16, 0xe5, 0x1b, 0x1a, 0x94, 0xc3, 0x18, 0x49, 0x86, 0x24, 0x66, 0x5c, 0x92,
+ 0x41, 0xf3, 0xee, 0xf4, 0x35, 0xbd, 0xc7, 0x90, 0x30, 0x39, 0xf6, 0x4e, 0x4d, 0x8e, 0x8d, 0x5e,
+ 0x72, 0xbc, 0xaf, 0x41, 0x55, 0x89, 0x9f, 0x64, 0x88, 0xb2, 0x1d, 0x17, 0x65, 0xd0, 0x63, 0x21,
+ 0xc1, 0xac, 0xb7, 0x34, 0x4a, 0x20, 0x65, 0xf8, 0xd2, 0x08, 0x66, 0x47, 0x4a, 0x13, 0x46, 0x54,
+ 0x4e, 0x45, 0x1a, 0xca, 0xac, 0xf7, 0x74, 0x96, 0xd1, 0x95, 0xe1, 0x4f, 0xe7, 0x5b, 0x4b, 0x37,
+ 0xf4, 0x23, 0x8c, 0x5c, 0x14, 0x6a, 0x19, 0xfe, 0x7c, 0xe6, 0xbc, 0xb2, 0x65, 0xf9, 0x9e, 0x06,
+ 0xd3, 0xc9, 0x78, 0x4b, 0x86, 0x44, 0xbb, 0x71, 0x89, 0x06, 0xbd, 0x57, 0xaf, 0x72, 0xcc, 0x96,
+ 0xeb, 0x77, 0x35, 0x38, 0x97, 0x11, 0x6b, 0xc9, 0x10, 0xcd, 0x89, 0x8b, 0xf6, 0xfa, 0xb0, 0xae,
+ 0x64, 0x26, 0x35, 0x5b, 0x09, 0xb6, 0x0c, 0x5f, 0xb3, 0x05, 0xb3, 0xde, 0xee, 0x84, 0x1a, 0x74,
+ 0x19, 0xbe, 0x3b, 0x91, 0xce, 0xe9, 0x48, 0xea, 0x77, 0x14, 0x7e, 0x19, 0xbe, 0x7e, 0x73, 0x5e,
+ 0xbd, 0xd7, 0x89, 0x30, 0x18, 0x33, 0xfc, 0x75, 0x62, 0x4d, 0xdf, 0x38, 0x72, 0x9d, 0x90, 0x81,
+ 0x99, 0xd3, 0x58, 0x27, 0x18, 0xb3, 0xde, 0x1a, 0xa3, 0x06, 0x68, 0x86, 0xaf, 0x31, 0x21, 0xb7,
+ 0x6c, 0x79, 0xbe, 0xaf, 0x29, 0x37, 0x88, 0x94, 0xa8, 0x4b, 0x86, 0x5c, 0x6e, 0x5c, 0xae, 0x37,
+ 0x86, 0x96, 0xc2, 0xac, 0xca, 0xf7, 0x91, 0x06, 0x93, 0xf1, 0x90, 0x4b, 0x86, 0x64, 0x56, 0x5c,
+ 0x32, 0x7d, 0x08, 0xb7, 0x93, 0x92, 0x96, 0x3b, 0x19, 0x73, 0x19, 0xbe, 0xe5, 0x56, 0x39, 0xf6,
+ 0x7e, 0x97, 0x59, 0xe1, 0x96, 0xe1, 0xbf, 0xcb, 0xde, 0x17, 0x2e, 0x55, 0xf9, 0x7e, 0xa0, 0xc1,
+ 0x85, 0xec, 0x18, 0x4b, 0x86, 0x84, 0x7b, 0x71, 0x09, 0xdf, 0x1c, 0xe2, 0x8d, 0xea, 0xa4, 0xaf,
+ 0x22, 0x83, 0x2c, 0xc3, 0xf7, 0x55, 0xf4, 0x1b, 0x9b, 0xeb, 0x47, 0xf9, 0x70, 0x51, 0xbc, 0xe5,
+ 0x14, 0x7c, 0x38, 0xce, 0xac, 0xb7, 0x35, 0x5f, 0x3d, 0xb5, 0xdd, 0xc7, 0x6a, 0xaf, 0xdd, 0x47,
+ 0x3d, 0x88, 0x65, 0x5c, 0xf1, 0x74, 0x2c, 0xf4, 0x8e, 0x4c, 0x00, 0xe3, 0x79, 0x52, 0x9f, 0xe9,
+ 0x3f, 0xb6, 0x73, 0x74, 0x9e, 0xd7, 0x9f, 0x17, 0x61, 0x2a, 0x11, 0xe7, 0x60, 0x15, 0x46, 0xe8,
+ 0x4f, 0x56, 0x8e, 0x4b, 0x8b, 0xdf, 0xd9, 0xbe, 0x1e, 0x02, 0x70, 0x84, 0x83, 0x3e, 0xd2, 0x60,
+ 0xea, 0x5d, 0x23, 0x30, 0x77, 0xd6, 0x8d, 0x60, 0x87, 0x27, 0xeb, 0xe5, 0xa4, 0x45, 0xaf, 0xc5,
+ 0xa9, 0x46, 0xe1, 0xd5, 0x04, 0x00, 0x27, 0xf9, 0xa3, 0x67, 0x61, 0xac, 0xe3, 0xda, 0xb6, 0xe5,
+ 0xb4, 0x44, 0x5d, 0x15, 0x79, 0x5e, 0xb0, 0xce, 0x9b, 0x71, 0x08, 0x8f, 0xd7, 0xc3, 0x2a, 0xe6,
+ 0x92, 0x06, 0x93, 0x18, 0xd2, 0x13, 0x65, 0xa7, 0x8e, 0x3e, 0x2a, 0xd9, 0xa9, 0x7f, 0x5b, 0x04,
+ 0x94, 0x5e, 0x8b, 0x1f, 0x56, 0x31, 0xee, 0x32, 0x94, 0xcc, 0x48, 0x55, 0x94, 0x7c, 0x72, 0xf1,
+ 0x46, 0x05, 0x94, 0xdf, 0xf4, 0xf0, 0x89, 0xd9, 0xf5, 0x48, 0xba, 0x40, 0x10, 0x6f, 0xc7, 0x12,
+ 0xa3, 0xcf, 0xfa, 0x17, 0x1f, 0xa6, 0x6f, 0x6b, 0xbc, 0x93, 0xbb, 0x53, 0xd2, 0xc7, 0xcb, 0xbf,
+ 0xcb, 0xea, 0x01, 0xed, 0x88, 0x0b, 0x65, 0xa5, 0xbe, 0x6f, 0x81, 0x37, 0x64, 0x67, 0xac, 0x10,
+ 0x3a, 0x9b, 0x6a, 0x19, 0x03, 0x96, 0x73, 0x29, 0xc1, 0x4c, 0xca, 0x6c, 0x9f, 0xd1, 0x25, 0xcc,
+ 0xe7, 0xa0, 0x4c, 0xff, 0x2a, 0x35, 0x2f, 0xe4, 0x3b, 0xbc, 0x25, 0xda, 0xb1, 0xc4, 0x50, 0x6e,
+ 0x25, 0x16, 0x8e, 0xb8, 0x95, 0xa8, 0x5e, 0xb8, 0xce, 0xb3, 0xa4, 0xd9, 0x4b, 0x30, 0xc1, 0x4f,
+ 0x2b, 0xc2, 0xcb, 0x82, 0xa3, 0x4c, 0x60, 0x59, 0xa2, 0xe4, 0xa6, 0x0a, 0xc4, 0x71, 0xdc, 0x1e,
+ 0x57, 0x03, 0x4b, 0x27, 0xba, 0x1a, 0xf8, 0x41, 0xba, 0xf8, 0xc5, 0xdb, 0x79, 0x2f, 0xe3, 0x7d,
+ 0xcc, 0xac, 0x2b, 0x50, 0x16, 0x77, 0xd8, 0x7c, 0x96, 0x5d, 0x58, 0x11, 0x57, 0x36, 0x44, 0x1b,
+ 0x96, 0x50, 0xba, 0xfa, 0xf9, 0xbe, 0xfd, 0x2a, 0xf1, 0xac, 0xed, 0x03, 0x71, 0x2d, 0x52, 0xae,
+ 0x7e, 0x7a, 0x08, 0xc0, 0x11, 0xce, 0xa3, 0x78, 0x9f, 0xe0, 0x6f, 0x34, 0x98, 0xe4, 0x61, 0xb6,
+ 0x46, 0xa7, 0xb3, 0xe8, 0x91, 0xa6, 0x4f, 0x4d, 0x4f, 0xc7, 0xb3, 0xf6, 0x8d, 0x80, 0x84, 0x57,
+ 0x01, 0xfb, 0x33, 0x3d, 0xeb, 0xb2, 0x33, 0x56, 0x08, 0xa1, 0x67, 0x60, 0xd4, 0xe8, 0x74, 0x96,
+ 0x97, 0x98, 0x0c, 0x85, 0x28, 0x6d, 0xa2, 0x41, 0x1b, 0x31, 0x87, 0xa1, 0x97, 0x61, 0xd2, 0x72,
+ 0xfc, 0xc0, 0xb0, 0x6d, 0x76, 0xe7, 0x60, 0x79, 0x89, 0x19, 0xfa, 0x42, 0x94, 0x04, 0xb3, 0x1c,
+ 0x83, 0xe2, 0x04, 0x76, 0xfd, 0x2f, 0xab, 0x30, 0x93, 0x8a, 0x1a, 0xa2, 0x59, 0x18, 0xb1, 0xf8,
+ 0x25, 0xad, 0xc2, 0x02, 0x08, 0x4a, 0x23, 0xcb, 0x4b, 0x78, 0xc4, 0x6a, 0xaa, 0x86, 0x64, 0xe4,
+ 0xf4, 0x0c, 0x89, 0xac, 0x6b, 0x50, 0x38, 0x6e, 0x5d, 0x83, 0xe8, 0xee, 0xa4, 0xb8, 0x7b, 0x98,
+ 0x71, 0xf9, 0x3b, 0xba, 0x6f, 0x89, 0x15, 0xfc, 0x63, 0xdd, 0x8e, 0xbe, 0x03, 0x65, 0xa3, 0x63,
+ 0x9d, 0xe0, 0x6a, 0x34, 0x9b, 0x3c, 0x8d, 0xf5, 0x65, 0x7e, 0x2f, 0x5a, 0x12, 0x19, 0xfa, 0xa5,
+ 0x68, 0xd5, 0x19, 0x28, 0x3f, 0xd4, 0x19, 0xb8, 0x0c, 0x25, 0xc3, 0x0c, 0xac, 0x7d, 0x22, 0xe6,
+ 0xb1, 0x74, 0x31, 0x1a, 0xac, 0x15, 0x0b, 0xa8, 0xa8, 0xea, 0x1b, 0x84, 0x2e, 0x2f, 0xa4, 0xaa,
+ 0xfa, 0x86, 0x20, 0xac, 0xe2, 0x31, 0x5b, 0xcb, 0x94, 0x26, 0xb4, 0xb5, 0xd5, 0x84, 0xad, 0x55,
+ 0x81, 0x38, 0x8e, 0x8b, 0x1a, 0x30, 0xc5, 0x1b, 0xee, 0x76, 0x6c, 0xd7, 0x68, 0xd2, 0xee, 0xe3,
+ 0x71, 0xad, 0xb8, 0x19, 0x07, 0xe3, 0x24, 0x7e, 0x0f, 0x73, 0x3d, 0x31, 0xb8, 0xb9, 0x9e, 0xcc,
+ 0xc7, 0x5c, 0x27, 0x67, 0x64, 0x1f, 0xe6, 0xfa, 0xbd, 0x64, 0xbd, 0x01, 0x9e, 0xa5, 0x3a, 0xa8,
+ 0x69, 0xa5, 0xd3, 0xab, 0xa9, 0x56, 0x14, 0x38, 0x56, 0x9d, 0x81, 0xcf, 0xc0, 0x84, 0xeb, 0xb5,
+ 0x0c, 0xc7, 0xba, 0xcf, 0x0c, 0x8e, 0xcf, 0xb2, 0x55, 0x2b, 0x5c, 0x5b, 0xef, 0xa8, 0x00, 0x1c,
+ 0xc7, 0x43, 0xf7, 0xa1, 0xd2, 0x0a, 0xad, 0x6c, 0x6d, 0x26, 0x17, 0x3b, 0x13, 0xb7, 0xda, 0xfc,
+ 0x7a, 0x94, 0x6c, 0xc3, 0x11, 0x3b, 0x65, 0x55, 0x42, 0x8f, 0xca, 0xaa, 0xf4, 0x5e, 0x99, 0x99,
+ 0xf1, 0xf8, 0x71, 0xcb, 0x19, 0xf9, 0x7c, 0x9f, 0x85, 0x8a, 0xf0, 0x08, 0xc4, 0xda, 0x55, 0x59,
+ 0xf8, 0x84, 0x50, 0x95, 0x73, 0xa9, 0xba, 0x1b, 0xcb, 0x4b, 0x38, 0xc2, 0x3e, 0xa6, 0x03, 0x18,
+ 0x2b, 0x4b, 0x51, 0xcc, 0xaf, 0x2c, 0x85, 0x0e, 0x8f, 0xf3, 0xfb, 0xc7, 0xba, 0xbe, 0xc2, 0x1c,
+ 0x14, 0xcb, 0xe4, 0xd7, 0x8f, 0x79, 0x91, 0xbf, 0xa7, 0xc5, 0x43, 0x3c, 0x7e, 0x3d, 0x0b, 0x09,
+ 0x67, 0xf7, 0x15, 0x96, 0xce, 0x36, 0xa4, 0xa5, 0x2b, 0xa5, 0x2c, 0x5d, 0x04, 0xc4, 0x71, 0xdc,
+ 0x1e, 0x66, 0xaa, 0x3c, 0xb8, 0x99, 0xaa, 0xe4, 0x65, 0xa6, 0xe2, 0x1a, 0x77, 0x42, 0xaf, 0x12,
+ 0x8e, 0xf4, 0x2a, 0x5f, 0x87, 0xaa, 0xcf, 0xde, 0x24, 0x7f, 0xe1, 0xd5, 0xbe, 0x5f, 0xb8, 0x1e,
+ 0xf5, 0xc6, 0x2a, 0x29, 0x65, 0xa2, 0x8f, 0x9f, 0x62, 0xad, 0x8b, 0x3a, 0x94, 0x5a, 0x9e, 0xdb,
+ 0xed, 0xf0, 0x3b, 0x13, 0x42, 0xc9, 0x6f, 0xb2, 0x16, 0x2c, 0x20, 0x83, 0x19, 0x83, 0xef, 0x57,
+ 0x60, 0x2a, 0x71, 0xde, 0x99, 0x19, 0x67, 0xd2, 0xce, 0x38, 0xce, 0x74, 0x09, 0x8a, 0x01, 0x75,
+ 0x1a, 0x46, 0xe2, 0xb7, 0xf2, 0x99, 0xb7, 0xc0, 0x20, 0x74, 0xf2, 0x98, 0x3b, 0xc4, 0xdc, 0x0d,
+ 0xeb, 0x52, 0x08, 0xef, 0x4f, 0x4e, 0x9e, 0x45, 0x15, 0x88, 0xe3, 0xb8, 0xe8, 0xbf, 0x42, 0xc5,
+ 0x68, 0x36, 0x3d, 0xe2, 0xfb, 0xa2, 0xe8, 0x4e, 0x85, 0xdb, 0xfc, 0x46, 0xd8, 0x88, 0x23, 0x38,
+ 0xdb, 0xa8, 0x36, 0xb7, 0xfd, 0xbb, 0xbe, 0x88, 0x1e, 0xa9, 0x1b, 0xd5, 0xa5, 0x1b, 0x3a, 0x6d,
+ 0xc7, 0x12, 0x03, 0x35, 0x61, 0x6a, 0xd7, 0xdb, 0x5a, 0x5c, 0x34, 0xcc, 0x1d, 0x72, 0x92, 0x88,
+ 0x03, 0x2b, 0x86, 0x7b, 0x3b, 0x4e, 0x01, 0x27, 0x49, 0x0a, 0x2e, 0xb7, 0xc9, 0x41, 0x60, 0x6c,
+ 0x9d, 0xc4, 0x27, 0x0c, 0xb9, 0xa8, 0x14, 0x70, 0x92, 0x24, 0xf5, 0xe0, 0x76, 0xbd, 0xad, 0xf0,
+ 0x46, 0xbf, 0xa8, 0x90, 0x23, 0x3d, 0xb8, 0xdb, 0x11, 0x08, 0xab, 0x78, 0x74, 0xc0, 0x76, 0xbd,
+ 0x2d, 0x4c, 0x0c, 0xbb, 0x2d, 0x8a, 0x10, 0xca, 0x01, 0xbb, 0x2d, 0xda, 0xb1, 0xc4, 0x40, 0x1d,
+ 0x40, 0xf4, 0xe9, 0xd8, 0x7b, 0x97, 0x57, 0x92, 0xc5, 0xa6, 0xef, 0x4a, 0xd6, 0xd3, 0x48, 0x24,
+ 0xf5, 0x81, 0x2e, 0x50, 0x73, 0x77, 0x3b, 0x45, 0x07, 0x67, 0xd0, 0x46, 0x6f, 0xc0, 0x13, 0xbb,
+ 0xde, 0x96, 0x38, 0x7e, 0x58, 0xf7, 0x2c, 0xc7, 0xb4, 0x3a, 0x06, 0xaf, 0x91, 0x50, 0x8d, 0xd7,
+ 0x4c, 0xbc, 0x9d, 0x8d, 0x86, 0x7b, 0xf5, 0x8f, 0x07, 0x3d, 0xc7, 0x73, 0x09, 0x7a, 0x26, 0xa6,
+ 0xeb, 0x89, 0x82, 0x9e, 0x13, 0x8f, 0x8a, 0xb3, 0xf2, 0x23, 0x0d, 0x10, 0xcb, 0xf4, 0x0a, 0x3f,
+ 0xfa, 0xc1, 0x8c, 0x1f, 0xba, 0x0a, 0x15, 0x66, 0xfd, 0x94, 0x4b, 0xbf, 0x32, 0x7a, 0x70, 0x33,
+ 0x04, 0xe0, 0x08, 0x87, 0xee, 0x51, 0x5c, 0xbb, 0x49, 0x64, 0xa5, 0x0e, 0xb9, 0x47, 0xb9, 0xc3,
+ 0x5a, 0xb1, 0x80, 0xa2, 0x9b, 0x30, 0xe3, 0x91, 0x2d, 0xc3, 0x36, 0x1c, 0x93, 0xe8, 0x81, 0x67,
+ 0x04, 0xa4, 0x75, 0x20, 0x2c, 0x89, 0x4c, 0xe3, 0xc5, 0x49, 0x04, 0x9c, 0xee, 0x53, 0xff, 0x87,
+ 0x32, 0x4c, 0x27, 0x53, 0xd4, 0x1e, 0x16, 0xab, 0xbd, 0x0a, 0x95, 0x8e, 0xe1, 0x05, 0x96, 0x52,
+ 0xc7, 0x44, 0x3e, 0xd5, 0x7a, 0x08, 0xc0, 0x11, 0x0e, 0xdd, 0xf6, 0xb3, 0x92, 0xae, 0x42, 0x42,
+ 0xb9, 0xed, 0x67, 0x25, 0x5f, 0x31, 0x87, 0x65, 0x17, 0xc7, 0x28, 0x9e, 0x5a, 0x71, 0x8c, 0x8f,
+ 0x45, 0x8d, 0xd8, 0xf7, 0xd3, 0x61, 0xb2, 0xb7, 0x72, 0xce, 0x3f, 0xec, 0x6f, 0xdb, 0x35, 0x61,
+ 0xaa, 0xfa, 0x2c, 0x8a, 0x81, 0x6c, 0xe4, 0x21, 0x52, 0x6c, 0xa2, 0xf0, 0xdd, 0x53, 0xac, 0x09,
+ 0xc7, 0x59, 0xa3, 0x75, 0x38, 0x6f, 0x5b, 0x6d, 0x11, 0xf0, 0xf3, 0xd7, 0x89, 0xa7, 0x13, 0xd3,
+ 0x75, 0x9a, 0xcc, 0x50, 0x17, 0xa2, 0x40, 0xc8, 0x4a, 0x06, 0x0e, 0xce, 0xec, 0x89, 0x9e, 0x85,
+ 0xb1, 0x7d, 0xe2, 0xb1, 0xe2, 0x05, 0x10, 0x2f, 0xcc, 0xfe, 0x2a, 0x6f, 0xc6, 0x21, 0x1c, 0xbd,
+ 0x01, 0x45, 0xdf, 0xf0, 0x6d, 0xe1, 0xa8, 0x9d, 0x20, 0xa5, 0xba, 0xa1, 0xaf, 0x08, 0xf5, 0x60,
+ 0x21, 0x5a, 0xfa, 0x1b, 0x33, 0x92, 0x67, 0xe4, 0xb0, 0x45, 0xc7, 0x2d, 0x13, 0x47, 0x1d, 0xb7,
+ 0x0c, 0x66, 0x14, 0xff, 0xa4, 0x00, 0x93, 0xf1, 0x13, 0x4e, 0x84, 0xa1, 0x62, 0xc8, 0x62, 0xfb,
+ 0x5a, 0xdf, 0xdf, 0xd8, 0x88, 0xca, 0xec, 0x47, 0x64, 0x28, 0x4d, 0x3f, 0x44, 0xef, 0xaf, 0xdc,
+ 0x2c, 0xa3, 0x29, 0x9b, 0x71, 0x44, 0x86, 0x5a, 0x2c, 0x56, 0xb5, 0x3a, 0x69, 0xb1, 0xd8, 0xc9,
+ 0x3a, 0xe6, 0xb0, 0x3e, 0x4f, 0x97, 0x9e, 0x83, 0x32, 0x71, 0x9a, 0x1d, 0xd7, 0x72, 0x82, 0xa4,
+ 0x3b, 0x76, 0x5d, 0xb4, 0x63, 0x89, 0x71, 0x36, 0x35, 0xf7, 0xeb, 0x3f, 0x28, 0xc1, 0x54, 0x22,
+ 0x4b, 0xf8, 0x61, 0x8b, 0x81, 0xb4, 0xed, 0x23, 0x47, 0xd8, 0xf6, 0xe7, 0xa0, 0x6c, 0xda, 0x16,
+ 0x71, 0x82, 0xe5, 0xa6, 0x18, 0xd1, 0xa8, 0x08, 0x02, 0x6f, 0x5f, 0xc2, 0x12, 0xe3, 0xac, 0x57,
+ 0x02, 0xf5, 0xb5, 0x8e, 0x1e, 0xb7, 0x4c, 0x52, 0x69, 0x98, 0x5f, 0x65, 0xca, 0xa7, 0x18, 0x43,
+ 0xe2, 0xc5, 0x7e, 0xec, 0x4b, 0x84, 0x87, 0xc7, 0x62, 0x95, 0xbc, 0x8f, 0xc5, 0x06, 0xb3, 0x6a,
+ 0x7f, 0x3d, 0x02, 0xe5, 0xb5, 0xc6, 0xa6, 0xce, 0x4a, 0x67, 0xbf, 0x19, 0x2f, 0x0e, 0x3e, 0x88,
+ 0x90, 0xe9, 0x2a, 0xe0, 0x37, 0xe8, 0xd4, 0xea, 0xbb, 0x00, 0x78, 0x85, 0xcf, 0xbe, 0x5d, 0xe2,
+ 0x60, 0xde, 0x1d, 0x2d, 0x42, 0xd1, 0xd9, 0xed, 0xf7, 0xe3, 0x26, 0x6c, 0xcc, 0xd6, 0xa8, 0x59,
+ 0x64, 0x9d, 0xd1, 0x5d, 0x00, 0xd3, 0x23, 0x4d, 0xe2, 0x04, 0x96, 0xf8, 0xb6, 0x5c, 0x7f, 0x27,
+ 0x42, 0x8b, 0xb2, 0x33, 0x56, 0x08, 0xd5, 0xbf, 0x59, 0x82, 0xe9, 0xe4, 0x6d, 0x80, 0x87, 0x99,
+ 0x9c, 0x67, 0x61, 0xcc, 0xef, 0xb2, 0x92, 0x4c, 0xc2, 0xe8, 0xc8, 0x85, 0x5b, 0xe7, 0xcd, 0x38,
+ 0x84, 0x67, 0x9b, 0x92, 0xc2, 0x99, 0x98, 0x92, 0xe2, 0x71, 0x4d, 0x49, 0xde, 0x2e, 0xe8, 0xfb,
+ 0xe9, 0xef, 0x76, 0xbc, 0x95, 0xf3, 0xfd, 0x8d, 0x3e, 0x6c, 0x09, 0x11, 0xb3, 0x7a, 0x2c, 0x97,
+ 0x62, 0x46, 0xe1, 0x44, 0x4c, 0x9d, 0x7c, 0x3f, 0x82, 0x35, 0x26, 0x7f, 0x36, 0x0a, 0x93, 0xf1,
+ 0xf4, 0x5e, 0xf4, 0x69, 0xa8, 0xee, 0xb8, 0x7e, 0x20, 0xc2, 0x3b, 0xc9, 0x0f, 0x4c, 0xde, 0x8a,
+ 0x40, 0x58, 0xc5, 0x3b, 0xde, 0x9a, 0xfc, 0x2c, 0x8c, 0x89, 0xea, 0x89, 0x62, 0x49, 0x96, 0xb3,
+ 0x48, 0x54, 0x58, 0xc4, 0x21, 0xfc, 0x3f, 0x16, 0x64, 0xdb, 0x47, 0xdf, 0x4a, 0x2f, 0xc8, 0x6f,
+ 0xe6, 0x9a, 0xcb, 0xfd, 0x71, 0x5f, 0x8f, 0x07, 0x53, 0xee, 0x37, 0x60, 0x26, 0x75, 0xdc, 0x76,
+ 0xbc, 0x4a, 0xee, 0x73, 0x30, 0xea, 0x18, 0x6d, 0xc2, 0x0b, 0xb8, 0x55, 0xf8, 0xf2, 0xc6, 0x3e,
+ 0xf6, 0x81, 0x79, 0x7b, 0xfd, 0x87, 0x25, 0x98, 0x49, 0xdd, 0x59, 0x62, 0x41, 0x0a, 0x79, 0x64,
+ 0x93, 0x08, 0xbd, 0x64, 0x1e, 0xd4, 0xbc, 0x0c, 0x93, 0x6c, 0x62, 0xac, 0x27, 0x0e, 0x7a, 0x64,
+ 0xda, 0xc1, 0x66, 0x0c, 0x8a, 0x13, 0xd8, 0xc7, 0x0b, 0x72, 0xbc, 0x0c, 0x93, 0xea, 0xd7, 0x69,
+ 0x96, 0x97, 0xc4, 0x41, 0xbe, 0x64, 0xa2, 0xc7, 0xa0, 0x38, 0x81, 0xcd, 0x3e, 0xed, 0x23, 0x17,
+ 0x4f, 0x11, 0x40, 0x1d, 0xed, 0xff, 0xd3, 0x3e, 0x09, 0x12, 0x38, 0x45, 0x14, 0x6d, 0xc1, 0x2c,
+ 0x3f, 0x70, 0x51, 0x05, 0x4a, 0x24, 0x01, 0xd5, 0x85, 0xd0, 0xb3, 0x4b, 0x3d, 0x31, 0xf1, 0x11,
+ 0x54, 0xfa, 0xac, 0x47, 0xfa, 0x41, 0xfa, 0x3b, 0xa5, 0x6f, 0xe7, 0x7d, 0xd3, 0xed, 0x44, 0x73,
+ 0xb0, 0xf2, 0xa8, 0xcc, 0xc1, 0x1f, 0x56, 0xe9, 0x44, 0x49, 0x5c, 0xda, 0x40, 0x75, 0x28, 0x31,
+ 0xdd, 0xa4, 0xcb, 0x8b, 0x3c, 0xbb, 0x61, 0x4a, 0xeb, 0x63, 0x01, 0x39, 0xc6, 0xb1, 0x86, 0x70,
+ 0xd9, 0x0a, 0x3d, 0x5c, 0xb6, 0x0e, 0x9c, 0x0b, 0x6c, 0x7f, 0xd3, 0xeb, 0xfa, 0xc1, 0x22, 0xf1,
+ 0x02, 0x5f, 0xa8, 0x6e, 0xb1, 0xef, 0x8f, 0xfb, 0x6d, 0xae, 0xe8, 0x49, 0x2a, 0x38, 0x8b, 0x34,
+ 0x55, 0xe0, 0xc0, 0xf6, 0x1b, 0xb6, 0xed, 0xbe, 0x1b, 0xe6, 0x82, 0x44, 0x8b, 0x8d, 0x58, 0x46,
+ 0xa4, 0x02, 0x6f, 0xae, 0xe8, 0x3d, 0x30, 0xf1, 0x11, 0x54, 0xd0, 0x2a, 0x7b, 0xaa, 0x57, 0x0d,
+ 0xdb, 0x6a, 0x1a, 0x01, 0xa1, 0xcb, 0x31, 0x3b, 0x6f, 0xe0, 0xb3, 0x43, 0x1e, 0x10, 0x6f, 0xae,
+ 0xe8, 0x49, 0x14, 0x9c, 0xd5, 0x6f, 0x58, 0x1f, 0xf8, 0xcd, 0x5c, 0xbd, 0xcb, 0x67, 0xb2, 0x7a,
+ 0x57, 0xfa, 0x9b, 0xe5, 0x90, 0xd3, 0x2c, 0x4f, 0xa8, 0x7c, 0x1f, 0xb3, 0xbc, 0x09, 0x53, 0xf2,
+ 0xf3, 0x49, 0x42, 0x67, 0xab, 0x7d, 0x9f, 0x57, 0x35, 0xe2, 0x14, 0x70, 0x92, 0xe4, 0x19, 0xc5,
+ 0x00, 0xff, 0x48, 0x83, 0x69, 0x2a, 0x49, 0x23, 0xd8, 0x21, 0xce, 0xfd, 0x75, 0xc3, 0x33, 0xda,
+ 0x61, 0xcd, 0xbb, 0xed, 0xdc, 0x87, 0xbc, 0x91, 0x60, 0xc4, 0x87, 0x5e, 0x16, 0x22, 0x4f, 0x82,
+ 0x71, 0x4a, 0x32, 0xba, 0xf4, 0x45, 0x6d, 0x27, 0xf9, 0x4a, 0xef, 0xf9, 0x38, 0xa3, 0x70, 0xe9,
+ 0x4b, 0x12, 0x1d, 0xc8, 0xc6, 0xce, 0x2e, 0xc2, 0xe3, 0x99, 0x8f, 0xda, 0x97, 0xa1, 0xfe, 0x46,
+ 0x49, 0x5c, 0xbc, 0xca, 0x61, 0x2f, 0x90, 0xf7, 0xb7, 0xb8, 0xa8, 0x63, 0xe5, 0xc8, 0x6f, 0xb5,
+ 0x25, 0xbe, 0xe1, 0x17, 0x7d, 0x9d, 0x2d, 0xc2, 0x41, 0xb3, 0x30, 0xd2, 0xdc, 0x62, 0xa6, 0x7e,
+ 0x34, 0xca, 0xbc, 0x5c, 0x5a, 0xc0, 0x23, 0xcd, 0x2d, 0x74, 0x05, 0xca, 0x62, 0x93, 0x11, 0x26,
+ 0x26, 0x32, 0xb6, 0x62, 0x07, 0xe2, 0x63, 0x09, 0x1d, 0x96, 0x5b, 0x3f, 0x84, 0x13, 0x97, 0xe4,
+ 0x9b, 0xfb, 0xd8, 0x07, 0xda, 0xfa, 0xb3, 0xd0, 0xcf, 0x29, 0x65, 0xf6, 0x21, 0x1e, 0xcb, 0x4d,
+ 0xd7, 0xd0, 0x1f, 0xcc, 0x61, 0xf9, 0xb3, 0x12, 0x5c, 0xc8, 0xbe, 0x0e, 0xf8, 0xb1, 0x99, 0x0d,
+ 0x5c, 0xb9, 0x0b, 0x99, 0xca, 0xfd, 0x49, 0x18, 0xf3, 0x99, 0xe0, 0x61, 0xae, 0x06, 0x2f, 0x80,
+ 0xcc, 0x9b, 0x70, 0x08, 0x43, 0xaf, 0x00, 0x6a, 0x1b, 0xf7, 0x56, 0xfd, 0xd6, 0xa2, 0xdb, 0x65,
+ 0x35, 0xdd, 0x31, 0x31, 0xf8, 0x07, 0x07, 0x46, 0xa3, 0x8c, 0xa8, 0xd5, 0x14, 0x06, 0xce, 0xe8,
+ 0xc5, 0xb2, 0x4b, 0x62, 0x27, 0x76, 0x89, 0xd4, 0xac, 0x23, 0x8f, 0xd8, 0x86, 0xe4, 0x7f, 0x7c,
+ 0x94, 0x76, 0xdc, 0xcd, 0xa1, 0xdc, 0x11, 0xfd, 0xb8, 0x7b, 0xef, 0xa7, 0x39, 0x75, 0x7e, 0x5e,
+ 0x84, 0x73, 0x19, 0x35, 0x82, 0xe2, 0xd6, 0x5b, 0x3b, 0x86, 0xf5, 0xde, 0x93, 0x23, 0x95, 0x4f,
+ 0x6a, 0x7c, 0x28, 0xd4, 0x11, 0xc3, 0xf4, 0x81, 0x06, 0xe7, 0x59, 0x4a, 0x44, 0x78, 0x0e, 0x1b,
+ 0x16, 0xa5, 0x2e, 0x08, 0xcd, 0x3c, 0x56, 0x75, 0xf8, 0x9b, 0x19, 0x14, 0xa2, 0x73, 0xe2, 0x2c,
+ 0x28, 0xce, 0xe4, 0x8a, 0x16, 0x01, 0xe4, 0xe5, 0xc6, 0x70, 0x26, 0x3f, 0xc3, 0x6a, 0xdc, 0xcb,
+ 0xd6, 0x7f, 0x63, 0xe9, 0x16, 0xca, 0x68, 0xb3, 0x9d, 0x91, 0xd2, 0x6d, 0x18, 0x5f, 0x02, 0xca,
+ 0x78, 0xbd, 0xc7, 0x9f, 0x01, 0x83, 0x69, 0xd7, 0x1f, 0x16, 0x60, 0x32, 0xfe, 0x22, 0xd1, 0x65,
+ 0x28, 0x75, 0x3c, 0xb2, 0x6d, 0xdd, 0x4b, 0x7e, 0x10, 0x66, 0x9d, 0xb5, 0x62, 0x01, 0x45, 0x2e,
+ 0x94, 0x6c, 0x63, 0x8b, 0xae, 0xf7, 0xbc, 0x20, 0xff, 0xcd, 0x81, 0x8b, 0xcb, 0x87, 0xa7, 0x0c,
+ 0x21, 0xc3, 0x15, 0x46, 0x1e, 0x0b, 0x36, 0x94, 0xe1, 0xb6, 0x45, 0xec, 0x26, 0x4f, 0xc0, 0x1d,
+ 0x06, 0xc3, 0x1b, 0x8c, 0x3c, 0x16, 0x6c, 0xd0, 0x9b, 0x50, 0xe1, 0x5f, 0xd1, 0x69, 0x2e, 0x1c,
+ 0x88, 0x1d, 0xee, 0x7f, 0x39, 0x9e, 0xca, 0x6e, 0x5a, 0x6d, 0x12, 0x4d, 0xc7, 0xc5, 0x90, 0x08,
+ 0x8e, 0xe8, 0xa1, 0x6b, 0x00, 0xc6, 0x76, 0x40, 0x3c, 0x3d, 0x30, 0xbc, 0xf0, 0x13, 0xfe, 0xf2,
+ 0xa3, 0x0b, 0x0d, 0x09, 0xc1, 0x0a, 0x56, 0xfd, 0x4f, 0xc7, 0x60, 0x2a, 0x71, 0x01, 0xfb, 0xd7,
+ 0xe3, 0x56, 0xaf, 0xfa, 0xc5, 0x9f, 0x42, 0xde, 0x5f, 0xfc, 0x29, 0xe6, 0xe1, 0x1e, 0xbc, 0x09,
+ 0xe3, 0xbe, 0xbf, 0xc3, 0x30, 0xfb, 0x8f, 0xd5, 0x4d, 0x1f, 0x3e, 0x98, 0x1b, 0xd7, 0xf5, 0x5b,
+ 0xb2, 0x3b, 0x8e, 0x11, 0x43, 0x2b, 0x30, 0x26, 0xb2, 0x3d, 0xfb, 0x4b, 0xd5, 0x64, 0x6e, 0x48,
+ 0xe8, 0x1e, 0x85, 0x24, 0x86, 0x71, 0xe2, 0x9c, 0x50, 0xba, 0x8f, 0xbd, 0x23, 0xbc, 0x0e, 0xe7,
+ 0x3b, 0xae, 0x6d, 0x87, 0xe9, 0xb6, 0xf2, 0x5b, 0x5d, 0x95, 0xf8, 0x65, 0xab, 0xf5, 0x0c, 0x1c,
+ 0x9c, 0xd9, 0x73, 0x30, 0x2b, 0xfb, 0x4f, 0x25, 0x98, 0x8c, 0xd7, 0x27, 0x3b, 0xbb, 0x2b, 0xaf,
+ 0x2c, 0x10, 0xd8, 0xf0, 0x9c, 0xe4, 0x95, 0xd7, 0x4d, 0xd1, 0x8e, 0x25, 0x46, 0x3c, 0xc7, 0xa7,
+ 0x30, 0x84, 0x1c, 0x9f, 0x62, 0x3e, 0x39, 0x3e, 0x97, 0xa1, 0xe4, 0x91, 0x56, 0x18, 0x0d, 0x54,
+ 0x56, 0x2c, 0xcc, 0x5a, 0xb1, 0x80, 0xa2, 0x67, 0x61, 0xcc, 0x73, 0x6d, 0xd2, 0xc0, 0x6b, 0xc2,
+ 0x9b, 0x96, 0x07, 0x65, 0x98, 0x37, 0xe3, 0x10, 0x3e, 0x8c, 0x43, 0xa2, 0xb8, 0x02, 0xf4, 0x31,
+ 0x85, 0x6e, 0xc2, 0xcc, 0xbe, 0x88, 0x30, 0xea, 0x56, 0xcb, 0x31, 0x82, 0xe8, 0x96, 0x9c, 0x4c,
+ 0x11, 0x7d, 0x35, 0x89, 0x80, 0xd3, 0x7d, 0xce, 0xce, 0x57, 0x96, 0xe9, 0x52, 0xf0, 0xb0, 0x74,
+ 0xa9, 0xc1, 0xe6, 0xd9, 0x5f, 0x8d, 0xc1, 0x64, 0xbc, 0xfe, 0xde, 0x23, 0x93, 0xa7, 0x16, 0xe9,
+ 0x70, 0xe1, 0x48, 0x1d, 0x96, 0xf9, 0x6c, 0xc5, 0x23, 0xf2, 0xd9, 0x1a, 0x74, 0x85, 0xb7, 0x02,
+ 0xea, 0x85, 0xf0, 0x14, 0x49, 0x9e, 0x8b, 0x50, 0x50, 0x57, 0xe4, 0x18, 0x18, 0x27, 0xf1, 0xfb,
+ 0x99, 0x2b, 0xfd, 0x9d, 0xfe, 0xbc, 0x0c, 0x93, 0x4c, 0xc8, 0x86, 0x69, 0xd2, 0xfd, 0xee, 0x72,
+ 0x53, 0x64, 0xf5, 0xcb, 0x83, 0xb3, 0x0d, 0x15, 0xba, 0x84, 0x13, 0xd8, 0xf1, 0x99, 0x59, 0xc9,
+ 0x67, 0x66, 0x6e, 0x9c, 0x70, 0x66, 0x3e, 0x0d, 0x85, 0xa6, 0xbd, 0xc7, 0xb4, 0xba, 0x1c, 0x9d,
+ 0x95, 0x2c, 0xad, 0x6c, 0x60, 0xda, 0x7e, 0x46, 0x9f, 0xab, 0x55, 0xe7, 0xdb, 0xf8, 0x43, 0xd3,
+ 0x13, 0xa9, 0x5f, 0xc3, 0x3f, 0xe9, 0xc5, 0x6f, 0x30, 0x4d, 0xf4, 0xef, 0xd7, 0x28, 0xdd, 0x71,
+ 0x8c, 0xd8, 0x60, 0x93, 0xf9, 0xab, 0x50, 0x0e, 0x19, 0xd1, 0x81, 0x96, 0xfd, 0xa2, 0x81, 0xa6,
+ 0x53, 0x88, 0x11, 0xb9, 0x0a, 0x15, 0xb7, 0x43, 0x62, 0xdf, 0xe3, 0x94, 0x3e, 0xf0, 0x9d, 0x10,
+ 0x80, 0x23, 0x1c, 0x3a, 0x8b, 0x38, 0xd7, 0xc4, 0x11, 0xef, 0xab, 0xb4, 0x51, 0x08, 0x51, 0xff,
+ 0x9a, 0x06, 0xe1, 0x47, 0xae, 0xd0, 0x12, 0x8c, 0x76, 0x5c, 0x2f, 0xe0, 0x47, 0x6b, 0xd5, 0x6b,
+ 0x73, 0xd9, 0xe3, 0xc3, 0xef, 0x63, 0xb8, 0x5e, 0x10, 0x51, 0xa4, 0xbf, 0x7c, 0xcc, 0x3b, 0x53,
+ 0x39, 0x4d, 0xbb, 0xeb, 0x07, 0xc4, 0x5b, 0x5e, 0x4f, 0xca, 0xb9, 0x18, 0x02, 0x70, 0x84, 0x53,
+ 0xff, 0x97, 0x22, 0x4c, 0x27, 0x4b, 0x32, 0xa2, 0xb7, 0x61, 0xc2, 0xb7, 0x5a, 0x8e, 0xe5, 0xb4,
+ 0x84, 0x2f, 0xaa, 0xf5, 0x7d, 0x19, 0x5b, 0x57, 0xfb, 0xe3, 0x38, 0xb9, 0xdc, 0xb2, 0xd5, 0x14,
+ 0x17, 0xa7, 0x70, 0x7a, 0x2e, 0xce, 0xfb, 0xe9, 0xaa, 0x3f, 0x6f, 0xe5, 0x5c, 0x14, 0xf3, 0xd7,
+ 0xbb, 0xec, 0xcf, 0xaf, 0x46, 0xe1, 0x42, 0x76, 0xd1, 0xcd, 0x33, 0x72, 0x5a, 0xa3, 0x8b, 0xb7,
+ 0x23, 0x3d, 0x2f, 0xde, 0x46, 0xe3, 0x5c, 0xc8, 0xa9, 0x88, 0xa6, 0x1c, 0x80, 0xa3, 0x4d, 0xad,
+ 0x74, 0xa7, 0x8b, 0x0f, 0x75, 0xa7, 0x2f, 0x43, 0x49, 0x7c, 0xe8, 0x21, 0xe1, 0xa6, 0x2e, 0xf0,
+ 0xcf, 0x30, 0x08, 0xa8, 0xe2, 0x0a, 0x94, 0x8e, 0x74, 0x05, 0xa8, 0x6b, 0x13, 0x9e, 0x3f, 0xf6,
+ 0x77, 0xf9, 0x8e, 0xbb, 0x36, 0x61, 0x5f, 0x1c, 0x91, 0x61, 0xa5, 0x15, 0x3a, 0x56, 0xf4, 0x35,
+ 0xfa, 0xa8, 0xb4, 0xc2, 0xfa, 0xf2, 0x5d, 0xbc, 0x82, 0x05, 0x34, 0x1e, 0x0a, 0xae, 0xe4, 0x12,
+ 0x0a, 0xce, 0xd6, 0xb9, 0xd3, 0x0a, 0x84, 0x99, 0x30, 0x93, 0x7a, 0xe7, 0xc7, 0x0e, 0x85, 0x5d,
+ 0x86, 0x92, 0xdf, 0xdd, 0xa6, 0x78, 0x89, 0x9a, 0x57, 0x3a, 0x6b, 0xc5, 0x02, 0x5a, 0xff, 0x6e,
+ 0x91, 0x72, 0x49, 0x94, 0x67, 0x3d, 0xa3, 0x59, 0xf5, 0x12, 0x4c, 0xf0, 0x60, 0xd4, 0x6b, 0x4a,
+ 0xc1, 0x94, 0xb2, 0x72, 0xc0, 0xa0, 0x02, 0x71, 0x1c, 0x17, 0x2d, 0x33, 0x35, 0xe9, 0x7b, 0x5b,
+ 0x08, 0x42, 0x93, 0xe8, 0xc2, 0x2d, 0x08, 0xa0, 0xe7, 0xa1, 0xca, 0x1e, 0x82, 0x0f, 0xb9, 0x88,
+ 0xca, 0xb2, 0xab, 0xd1, 0xd7, 0xa3, 0x66, 0xac, 0xe2, 0xc4, 0x53, 0x0b, 0x46, 0x73, 0x49, 0x2d,
+ 0x48, 0xbd, 0x95, 0xd3, 0xd2, 0xbb, 0x6f, 0x97, 0x41, 0x7e, 0xba, 0x13, 0x99, 0xa9, 0x0f, 0xa8,
+ 0x7e, 0xb6, 0xef, 0xc3, 0x9b, 0x50, 0x14, 0x1e, 0xc9, 0xca, 0x58, 0x92, 0x5e, 0x01, 0x24, 0xbe,
+ 0xd8, 0x29, 0x9c, 0x6a, 0xa5, 0x00, 0x96, 0x3c, 0xa5, 0xd2, 0x53, 0x18, 0x38, 0xa3, 0x17, 0x7a,
+ 0x85, 0x7d, 0x2e, 0x38, 0x30, 0x2c, 0x47, 0x5a, 0xde, 0xa7, 0x7b, 0xdc, 0x98, 0xe5, 0x48, 0xf2,
+ 0xc3, 0xbf, 0xfc, 0x27, 0x8e, 0xba, 0xa3, 0xeb, 0x30, 0xb6, 0xef, 0xda, 0xdd, 0xb6, 0x08, 0xcd,
+ 0x57, 0xaf, 0xcd, 0x66, 0x51, 0x7a, 0x95, 0xa1, 0x28, 0x37, 0xbc, 0x78, 0x17, 0x1c, 0xf6, 0x45,
+ 0x04, 0xa6, 0x58, 0x7a, 0x8f, 0x15, 0x1c, 0x88, 0x09, 0x20, 0x96, 0xde, 0xcb, 0x59, 0xe4, 0xd6,
+ 0xdd, 0xa6, 0x1e, 0xc7, 0xe6, 0x99, 0x1e, 0x89, 0x46, 0x9c, 0xa4, 0x89, 0x6e, 0x40, 0xd9, 0xd8,
+ 0xde, 0xb6, 0x1c, 0x2b, 0x38, 0x10, 0x31, 0xbb, 0xa7, 0xb2, 0xe8, 0x37, 0x04, 0x8e, 0xa8, 0xac,
+ 0x23, 0x7e, 0x61, 0xd9, 0x17, 0xdd, 0x85, 0x6a, 0xe0, 0xda, 0xc2, 0x2f, 0xf5, 0x45, 0xa8, 0xe1,
+ 0x62, 0x16, 0xa9, 0x4d, 0x89, 0x16, 0x1d, 0x8f, 0x46, 0x6d, 0x3e, 0x56, 0xe9, 0xa0, 0xff, 0xaf,
+ 0xc1, 0xb8, 0xe3, 0x36, 0x49, 0x38, 0xf5, 0xc4, 0x71, 0xdd, 0x1b, 0x39, 0x7d, 0x72, 0x76, 0x7e,
+ 0x4d, 0xa1, 0xcd, 0x67, 0x88, 0xac, 0xb8, 0xa2, 0x82, 0x70, 0x4c, 0x08, 0xe4, 0xc0, 0xb4, 0xd5,
+ 0x36, 0x5a, 0x64, 0xbd, 0x6b, 0x8b, 0xf4, 0x44, 0x5f, 0x2c, 0x1e, 0x99, 0xf7, 0xac, 0x57, 0x5c,
+ 0xd3, 0xb0, 0xf9, 0x27, 0x9b, 0x31, 0xd9, 0x26, 0x1e, 0xfb, 0x72, 0xb4, 0xcc, 0x34, 0x59, 0x4e,
+ 0x50, 0xc2, 0x29, 0xda, 0xe8, 0x26, 0xcc, 0x74, 0x3c, 0xcb, 0x65, 0xef, 0xcd, 0x36, 0x7c, 0xfe,
+ 0xc9, 0x5e, 0x88, 0x5f, 0xae, 0x5d, 0x4f, 0x22, 0xe0, 0x74, 0x1f, 0x5e, 0x10, 0x82, 0x37, 0xb2,
+ 0xbd, 0xdc, 0x68, 0x58, 0x10, 0x82, 0xb7, 0x61, 0x09, 0x9d, 0xfd, 0x3c, 0xcc, 0xa4, 0xc6, 0xa6,
+ 0x2f, 0x83, 0xf0, 0xdb, 0x1a, 0x24, 0xe3, 0xe5, 0x74, 0xdf, 0xd0, 0xb4, 0x3c, 0x46, 0xf0, 0x20,
+ 0x19, 0xe3, 0x5f, 0x0a, 0x01, 0x38, 0xc2, 0x41, 0x97, 0xa0, 0xd8, 0x31, 0x82, 0x9d, 0x64, 0x9a,
+ 0x1f, 0x25, 0x89, 0x19, 0x04, 0x5d, 0x03, 0xa0, 0x7f, 0x31, 0x69, 0x91, 0x7b, 0x1d, 0xb1, 0x0d,
+ 0x92, 0xc7, 0x0f, 0xeb, 0x12, 0x82, 0x15, 0xac, 0xfa, 0xdf, 0x8d, 0xc2, 0x64, 0x7c, 0x6d, 0x89,
+ 0x6d, 0x36, 0xb5, 0x87, 0x6e, 0x36, 0x2f, 0x43, 0xa9, 0x4d, 0x82, 0x1d, 0xb7, 0x99, 0x5c, 0x27,
+ 0x57, 0x59, 0x2b, 0x16, 0x50, 0x26, 0xbe, 0xeb, 0x05, 0x42, 0xac, 0x48, 0x7c, 0xd7, 0x0b, 0x30,
+ 0x83, 0x84, 0x59, 0x8a, 0xc5, 0x1e, 0x59, 0x8a, 0x2d, 0x98, 0xe6, 0xa5, 0xa1, 0x17, 0x89, 0x17,
+ 0x9c, 0x38, 0xbb, 0x56, 0x4f, 0x90, 0xc0, 0x29, 0xa2, 0xa8, 0x49, 0xad, 0x0d, 0x6d, 0x8b, 0x4e,
+ 0x06, 0xfa, 0x2f, 0xb6, 0xa0, 0xc7, 0x29, 0xe0, 0x24, 0xc9, 0x61, 0x44, 0x23, 0xe3, 0xef, 0xf1,
+ 0xc4, 0xb5, 0x2c, 0xcb, 0x79, 0xd5, 0xb2, 0x7c, 0x11, 0x26, 0xdb, 0xc6, 0xbd, 0x75, 0xe3, 0xc0,
+ 0x76, 0x8d, 0xa6, 0x6e, 0xdd, 0x27, 0xe2, 0x3e, 0x30, 0x3a, 0x7c, 0x30, 0x37, 0xb9, 0x1a, 0x83,
+ 0xe0, 0x04, 0xe6, 0x60, 0x0b, 0xf0, 0xef, 0x8c, 0x00, 0x4a, 0x7f, 0xf2, 0x06, 0x7d, 0xa8, 0xc1,
+ 0xe4, 0xbb, 0xb1, 0x31, 0x1a, 0x8e, 0x73, 0x26, 0xc3, 0x5e, 0xf1, 0x76, 0x9c, 0x60, 0xae, 0x6c,
+ 0x70, 0x46, 0x4e, 0x6f, 0x23, 0xb9, 0x30, 0xff, 0xe3, 0x5f, 0x5e, 0x7c, 0xec, 0x27, 0xbf, 0xbc,
+ 0xf8, 0xd8, 0x4f, 0x7f, 0x79, 0xf1, 0xb1, 0xaf, 0x1d, 0x5e, 0xd4, 0x7e, 0x7c, 0x78, 0x51, 0xfb,
+ 0xc9, 0xe1, 0x45, 0xed, 0xa7, 0x87, 0x17, 0xb5, 0x5f, 0x1c, 0x5e, 0xd4, 0xbe, 0xfb, 0x8f, 0x17,
+ 0x1f, 0xfb, 0x42, 0x39, 0xa4, 0xfa, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x6d, 0x5b, 0xd4,
+ 0x1f, 0xa7, 0x00, 0x00,
}
func (m *AMQPConsumeConfig) Marshal() (dAtA []byte, err error) {
@@ -3861,6 +3896,37 @@ func (m *EventSourceSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.MNS) > 0 {
+ keysForMNS := make([]string, 0, len(m.MNS))
+ for k := range m.MNS {
+ keysForMNS = append(keysForMNS, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForMNS)
+ for iNdEx := len(keysForMNS) - 1; iNdEx >= 0; iNdEx-- {
+ v := m.MNS[string(keysForMNS[iNdEx])]
+ baseI := i
+ {
+ size, err := (&v).MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ i -= len(keysForMNS[iNdEx])
+ copy(dAtA[i:], keysForMNS[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(keysForMNS[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ i = encodeVarintGenerated(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x2
+ i--
+ dAtA[i] = 0xa2
+ }
+ }
if len(m.Gerrit) > 0 {
keysForGerrit := make([]string, 0, len(m.Gerrit))
for k := range m.Gerrit {
@@ -5890,6 +5956,83 @@ func (m *KafkaEventSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *MNSEventSource) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *MNSEventSource) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *MNSEventSource) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Filter != nil {
+ {
+ size, err := m.Filter.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x32
+ }
+ i -= len(m.Endpoint)
+ copy(dAtA[i:], m.Endpoint)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Endpoint)))
+ i--
+ dAtA[i] = 0x2a
+ i--
+ if m.JSONBody {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x20
+ i -= len(m.Queue)
+ copy(dAtA[i:], m.Queue)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Queue)))
+ i--
+ dAtA[i] = 0x1a
+ if m.SecretKey != nil {
+ {
+ size, err := m.SecretKey.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ if m.AccessKey != nil {
+ {
+ size, err := m.AccessKey.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *MQTTEventSource) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -9014,6 +9157,15 @@ func (m *EventSourceSpec) Size() (n int) {
n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize))
}
}
+ if len(m.MNS) > 0 {
+ for k, v := range m.MNS {
+ _ = k
+ _ = v
+ l = v.Size()
+ mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l))
+ n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize))
+ }
+ }
return n
}
@@ -9389,6 +9541,32 @@ func (m *KafkaEventSource) Size() (n int) {
return n
}
+func (m *MNSEventSource) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.AccessKey != nil {
+ l = m.AccessKey.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.SecretKey != nil {
+ l = m.SecretKey.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ l = len(m.Queue)
+ n += 1 + l + sovGenerated(uint64(l))
+ n += 2
+ l = len(m.Endpoint)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Filter != nil {
+ l = m.Filter.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *MQTTEventSource) Size() (n int) {
if m == nil {
return 0
@@ -10923,6 +11101,16 @@ func (this *EventSourceSpec) String() string {
mapStringForGerrit += fmt.Sprintf("%v: %v,", k, this.Gerrit[k])
}
mapStringForGerrit += "}"
+ keysForMNS := make([]string, 0, len(this.MNS))
+ for k := range this.MNS {
+ keysForMNS = append(keysForMNS, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForMNS)
+ mapStringForMNS := "map[string]MNSEventSource{"
+ for _, k := range keysForMNS {
+ mapStringForMNS += fmt.Sprintf("%v: %v,", k, this.MNS[k])
+ }
+ mapStringForMNS += "}"
s := strings.Join([]string{`&EventSourceSpec{`,
`EventBusName:` + fmt.Sprintf("%v", this.EventBusName) + `,`,
`Template:` + strings.Replace(this.Template.String(), "Template", "Template", 1) + `,`,
@@ -10959,6 +11147,7 @@ func (this *EventSourceSpec) String() string {
`AzureQueueStorage:` + mapStringForAzureQueueStorage + `,`,
`SFTP:` + mapStringForSFTP + `,`,
`Gerrit:` + mapStringForGerrit + `,`,
+ `MNS:` + mapStringForMNS + `,`,
`}`,
}, "")
return s
@@ -11213,6 +11402,21 @@ func (this *KafkaEventSource) String() string {
}, "")
return s
}
+func (this *MNSEventSource) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&MNSEventSource{`,
+ `AccessKey:` + strings.Replace(fmt.Sprintf("%v", this.AccessKey), "SecretKeySelector", "v1.SecretKeySelector", 1) + `,`,
+ `SecretKey:` + strings.Replace(fmt.Sprintf("%v", this.SecretKey), "SecretKeySelector", "v1.SecretKeySelector", 1) + `,`,
+ `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`,
+ `JSONBody:` + fmt.Sprintf("%v", this.JSONBody) + `,`,
+ `Endpoint:` + fmt.Sprintf("%v", this.Endpoint) + `,`,
+ `Filter:` + strings.Replace(this.Filter.String(), "EventSourceFilter", "EventSourceFilter", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *MQTTEventSource) String() string {
if this == nil {
return "nil"
@@ -21318,42 +21522,171 @@ func (m *EventSourceSpec) Unmarshal(dAtA []byte) error {
}
m.Gerrit[mapkey] = *mapvalue
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
+ case 36:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MNS", wireType)
}
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
}
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
}
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *EventSourceStatus) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
}
- if iNdEx >= l {
+ if postIndex > l {
return io.ErrUnexpectedEOF
}
- b := dAtA[iNdEx]
- iNdEx++
+ if m.MNS == nil {
+ m.MNS = make(map[string]MNSEventSource)
+ }
+ var mapkey string
+ mapvalue := &MNSEventSource{}
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapmsglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapmsglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if mapmsglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postmsgIndex := iNdEx + mapmsglen
+ if postmsgIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postmsgIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = &MNSEventSource{}
+ if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
+ return err
+ }
+ iNdEx = postmsgIndex
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.MNS[mapkey] = *mapvalue
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *EventSourceStatus) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
@@ -25133,6 +25466,248 @@ func (m *KafkaEventSource) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *MNSEventSource) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MNSEventSource: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MNSEventSource: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AccessKey", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.AccessKey == nil {
+ m.AccessKey = &v1.SecretKeySelector{}
+ }
+ if err := m.AccessKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SecretKey", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.SecretKey == nil {
+ m.SecretKey = &v1.SecretKeySelector{}
+ }
+ if err := m.SecretKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Queue", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Queue = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field JSONBody", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.JSONBody = bool(v != 0)
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Endpoint", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Endpoint = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Filter == nil {
+ m.Filter = &EventSourceFilter{}
+ }
+ if err := m.Filter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *MQTTEventSource) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
diff --git a/pkg/apis/eventsource/v1alpha1/generated.proto b/pkg/apis/eventsource/v1alpha1/generated.proto
index c84f4d686c..857123fa49 100644
--- a/pkg/apis/eventsource/v1alpha1/generated.proto
+++ b/pkg/apis/eventsource/v1alpha1/generated.proto
@@ -646,6 +646,9 @@ message EventSourceSpec {
// Gerrit event source
map gerrit = 35;
+
+ // MNS event sources
+ map mns = 36;
}
// EventSourceStatus holds the status of the event-source resource
@@ -1001,6 +1004,29 @@ message KafkaEventSource {
optional string config = 13;
}
+// MNSEventSource refers to event-source for AlibabaCloud MNS related events
+message MNSEventSource {
+ // AccessKey refers K8s secret containing AlibabaCloud access key
+ optional k8s.io.api.core.v1.SecretKeySelector accessKey = 1;
+
+ // SecretKey refers K8s secret containing AlibabaCloud secret key
+ optional k8s.io.api.core.v1.SecretKeySelector secretKey = 2;
+
+ // Queue is AlibabaCloud MNS queue to listen to for messages
+ optional string queue = 3;
+
+ // +optional
+ optional bool jsonBody = 4;
+
+ // Endpoint configures connection to a specific AlibabaCloud MNS endpoint
+ // +optional
+ optional string endpoint = 5;
+
+ // Filter
+ // +optional
+ optional EventSourceFilter filter = 6;
+}
+
// MQTTEventSource refers to event-source for MQTT related events
message MQTTEventSource {
// URL to connect to broker
diff --git a/pkg/apis/eventsource/v1alpha1/openapi_generated.go b/pkg/apis/eventsource/v1alpha1/openapi_generated.go
index 5ee9742d98..469f38103f 100644
--- a/pkg/apis/eventsource/v1alpha1/openapi_generated.go
+++ b/pkg/apis/eventsource/v1alpha1/openapi_generated.go
@@ -63,6 +63,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.HDFSEventSource": schema_pkg_apis_eventsource_v1alpha1_HDFSEventSource(ref),
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.KafkaConsumerGroup": schema_pkg_apis_eventsource_v1alpha1_KafkaConsumerGroup(ref),
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.KafkaEventSource": schema_pkg_apis_eventsource_v1alpha1_KafkaEventSource(ref),
+ "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource": schema_pkg_apis_eventsource_v1alpha1_MNSEventSource(ref),
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MQTTEventSource": schema_pkg_apis_eventsource_v1alpha1_MQTTEventSource(ref),
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NATSAuth": schema_pkg_apis_eventsource_v1alpha1_NATSAuth(ref),
"github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NATSEventsSource": schema_pkg_apis_eventsource_v1alpha1_NATSEventsSource(ref),
@@ -1817,11 +1818,26 @@ func schema_pkg_apis_eventsource_v1alpha1_EventSourceSpec(ref common.ReferenceCa
},
},
},
+ "mns": {
+ SchemaProps: spec.SchemaProps{
+ Description: "MNS event sources",
+ Type: []string{"object"},
+ AdditionalProperties: &spec.SchemaOrBool{
+ Allows: true,
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource"),
+ },
+ },
+ },
+ },
+ },
},
},
},
Dependencies: []string{
- "github.com/argoproj/argo-events/pkg/apis/common.S3Artifact", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AMQPEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureEventsHubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureQueueStorageEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureServiceBusEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.BitbucketEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.BitbucketServerEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.CalendarEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.EmitterEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.FileEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GenericEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GerritEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GithubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GitlabEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.HDFSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.KafkaEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MQTTEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NATSEventsSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NSQEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.PubSubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.PulsarEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.RedisEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.RedisStreamEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.ResourceEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SFTPEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SNSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SQSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.Service", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SlackEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.StorageGridEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.StripeEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.Template", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.WebhookEventSource"},
+ "github.com/argoproj/argo-events/pkg/apis/common.S3Artifact", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AMQPEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureEventsHubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureQueueStorageEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.AzureServiceBusEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.BitbucketEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.BitbucketServerEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.CalendarEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.EmitterEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.FileEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GenericEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GerritEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GithubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.GitlabEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.HDFSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.KafkaEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MNSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.MQTTEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NATSEventsSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.NSQEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.PubSubEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.PulsarEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.RedisEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.RedisStreamEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.ResourceEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SFTPEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SNSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SQSEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.Service", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.SlackEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.StorageGridEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.StripeEventSource", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.Template", "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.WebhookEventSource"},
}
}
@@ -2729,6 +2745,62 @@ func schema_pkg_apis_eventsource_v1alpha1_KafkaEventSource(ref common.ReferenceC
}
}
+func schema_pkg_apis_eventsource_v1alpha1_MNSEventSource(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "MNSEventSource refers to event-source for AlibabaCloud MNS related events",
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "accessKey": {
+ SchemaProps: spec.SchemaProps{
+ Description: "AccessKey refers K8s secret containing AlibabaCloud access key",
+ Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
+ },
+ },
+ "secretKey": {
+ SchemaProps: spec.SchemaProps{
+ Description: "SecretKey refers K8s secret containing AlibabaCloud secret key",
+ Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
+ },
+ },
+ "queue": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Queue is AlibabaCloud MNS queue to listen to for messages",
+ Default: "",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "jsonBody": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"boolean"},
+ Format: "",
+ },
+ },
+ "endpoint": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Endpoint configures connection to a specific AlibabaCloud MNS endpoint",
+ Default: "",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "filter": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Filter",
+ Ref: ref("github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.EventSourceFilter"),
+ },
+ },
+ },
+ Required: []string{"queue"},
+ },
+ },
+ Dependencies: []string{
+ "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1.EventSourceFilter", "k8s.io/api/core/v1.SecretKeySelector"},
+ }
+}
+
func schema_pkg_apis_eventsource_v1alpha1_MQTTEventSource(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
diff --git a/pkg/apis/eventsource/v1alpha1/types.go b/pkg/apis/eventsource/v1alpha1/types.go
index 354cb96287..ea24c80135 100644
--- a/pkg/apis/eventsource/v1alpha1/types.go
+++ b/pkg/apis/eventsource/v1alpha1/types.go
@@ -124,6 +124,8 @@ type EventSourceSpec struct {
SFTP map[string]SFTPEventSource `json:"sftp,omitempty" protobuf:"bytes,34,rep,name=sftp"`
// Gerrit event source
Gerrit map[string]GerritEventSource `json:"gerrit,omitempty" protobuf:"bytes,35,rep,name=gerrit"`
+ // MNS event sources
+ MNS map[string]MNSEventSource `json:"mns,omitempty" protobuf:"bytes,36,rep,name=mns"`
}
func (e EventSourceSpec) GetReplicas() int32 {
@@ -720,6 +722,24 @@ type SQSEventSource struct {
SessionToken *corev1.SecretKeySelector `json:"sessionToken,omitempty" protobuf:"bytes,13,opt,name=sessionToken"`
}
+// MNSEventSource refers to event-source for AlibabaCloud MNS related events
+type MNSEventSource struct {
+ // AccessKey refers K8s secret containing AlibabaCloud access key
+ AccessKey *corev1.SecretKeySelector `json:"accessKey,omitempty" protobuf:"bytes,1,opt,name=accessKey"`
+ // SecretKey refers K8s secret containing AlibabaCloud secret key
+ SecretKey *corev1.SecretKeySelector `json:"secretKey,omitempty" protobuf:"bytes,2,opt,name=secretKey"`
+ // Queue is AlibabaCloud MNS queue to listen to for messages
+ Queue string `json:"queue" protobuf:"bytes,3,opt,name=queue"`
+ // +optional
+ JSONBody bool `json:"jsonBody,omitempty" protobuf:"varint,4,opt,name=jsonBody"`
+ // Endpoint configures connection to a specific AlibabaCloud MNS endpoint
+ // +optional
+ Endpoint string `json:"endpoint" protobuf:"bytes,5,opt,name=endpoint"`
+ // Filter
+ // +optional
+ Filter *EventSourceFilter `json:"filter,omitempty" protobuf:"bytes,6,opt,name=filter"`
+}
+
// PubSubEventSource refers to event-source for GCP PubSub related events.
type PubSubEventSource struct {
// ProjectID is GCP project ID for the subscription.
diff --git a/pkg/apis/eventsource/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/eventsource/v1alpha1/zz_generated.deepcopy.go
index 05f1ce0e71..11d65c5ed8 100644
--- a/pkg/apis/eventsource/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/eventsource/v1alpha1/zz_generated.deepcopy.go
@@ -914,6 +914,13 @@ func (in *EventSourceSpec) DeepCopyInto(out *EventSourceSpec) {
(*out)[key] = *val.DeepCopy()
}
}
+ if in.MNS != nil {
+ in, out := &in.MNS, &out.MNS
+ *out = make(map[string]MNSEventSource, len(*in))
+ for key, val := range *in {
+ (*out)[key] = *val.DeepCopy()
+ }
+ }
return
}
@@ -1311,6 +1318,37 @@ func (in *KafkaEventSource) DeepCopy() *KafkaEventSource {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MNSEventSource) DeepCopyInto(out *MNSEventSource) {
+ *out = *in
+ if in.AccessKey != nil {
+ in, out := &in.AccessKey, &out.AccessKey
+ *out = new(v1.SecretKeySelector)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.SecretKey != nil {
+ in, out := &in.SecretKey, &out.SecretKey
+ *out = new(v1.SecretKeySelector)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.Filter != nil {
+ in, out := &in.Filter, &out.Filter
+ *out = new(EventSourceFilter)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MNSEventSource.
+func (in *MNSEventSource) DeepCopy() *MNSEventSource {
+ if in == nil {
+ return nil
+ }
+ out := new(MNSEventSource)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MQTTEventSource) DeepCopyInto(out *MQTTEventSource) {
*out = *in